From 5861e465a2ccf31d87ea25ac145770786f9cc96e Mon Sep 17 00:00:00 2001 From: bndw Date: Sat, 24 Jan 2026 09:48:34 -0800 Subject: Rename project from deploy to ship - Rename module to github.com/bdw/ship - Rename cmd/deploy to cmd/ship - Update all import paths - Update config path from ~/.config/deploy to ~/.config/ship - Update VPS env path from /etc/deploy to /etc/ship - Update README, Makefile, and docs --- cmd/ship/env/list.go | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 cmd/ship/env/list.go (limited to 'cmd/ship/env/list.go') diff --git a/cmd/ship/env/list.go b/cmd/ship/env/list.go new file mode 100644 index 0000000..ad76eb6 --- /dev/null +++ b/cmd/ship/env/list.go @@ -0,0 +1,69 @@ +package env + +import ( + "fmt" + "strings" + + "github.com/bdw/ship/internal/state" + "github.com/spf13/cobra" +) + +var listCmd = &cobra.Command{ + Use: "list ", + Short: "List environment variables for an app", + Args: cobra.ExactArgs(1), + RunE: runList, +} + +func runList(cmd *cobra.Command, args []string) error { + name := args[0] + + st, err := state.Load() + if err != nil { + return fmt.Errorf("error loading state: %w", err) + } + + host, _ := cmd.Flags().GetString("host") + if host == "" { + host = st.GetDefaultHost() + } + + if host == "" { + return fmt.Errorf("--host is required") + } + + app, err := st.GetApp(host, name) + if err != nil { + return err + } + + if app.Type != "app" { + return fmt.Errorf("env is only available for apps, not static sites") + } + + fmt.Printf("Environment variables for %s:\n\n", name) + if len(app.Env) == 0 { + fmt.Println(" (none)") + } else { + for k, v := range app.Env { + display := v + if isSensitive(k) { + display = "***" + } + fmt.Printf(" %s=%s\n", k, display) + } + } + + return nil +} + +func isSensitive(key string) bool { + key = strings.ToLower(key) + sensitiveWords := []string{"key", "secret", "password", "token", "api"} + for _, word := range sensitiveWords { + if strings.Contains(key, word) { + return true + } + } + return false +} -- cgit v1.2.3