-
Notifications
You must be signed in to change notification settings - Fork 232
/
Copy pathstatus.go
42 lines (37 loc) · 1.05 KB
/
status.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package cmd
import (
"os"
"os/signal"
env "github.com/Netflix/go-env"
"github.com/spf13/afero"
"github.com/spf13/cobra"
"github.com/supabase/cli/internal/status"
"github.com/supabase/cli/internal/utils"
)
var (
override []string
names status.CustomName
statusCmd = &cobra.Command{
GroupID: groupLocalDev,
Use: "status",
Short: "Show status of local Supabase containers",
PreRunE: func(cmd *cobra.Command, args []string) error {
es, err := env.EnvironToEnvSet(override)
if err != nil {
return err
}
return env.Unmarshal(es, &names)
},
RunE: func(cmd *cobra.Command, args []string) error {
ctx, _ := signal.NotifyContext(cmd.Context(), os.Interrupt)
return status.Run(ctx, names, utils.OutputFormat.Value, afero.NewOsFs())
},
Example: ` supabase status -o env --override-name api.url=NEXT_PUBLIC_SUPABASE_URL
supabase status -o json`,
}
)
func init() {
flags := statusCmd.Flags()
flags.StringSliceVar(&override, "override-name", []string{}, "Override specific variable names.")
rootCmd.AddCommand(statusCmd)
}