github.com/flanksource/konfigadm@v0.12.0/cmd/common.go (about) 1 package cmd 2 3 import ( 4 "os" 5 6 _ "github.com/flanksource/konfigadm/pkg" // nolint: golint 7 "github.com/flanksource/konfigadm/pkg/phases" 8 "github.com/flanksource/konfigadm/pkg/types" 9 log "github.com/sirupsen/logrus" 10 "github.com/spf13/cobra" 11 ) 12 13 func GetConfigWithImage(cmd *cobra.Command, args []string, image Image) *types.Config { 14 return nil 15 } 16 17 func GetConfig(cmd *cobra.Command, args []string) *types.Config { 18 configs, err := cmd.Flags().GetStringSlice("config") 19 if err != nil { 20 log.Fatalf("%s", err) 21 } 22 vars, err := cmd.Flags().GetStringSlice("var") 23 if err != nil { 24 log.Fatalf("%s", err) 25 } 26 27 flags := []types.Flag{} 28 29 if alias != nil { 30 flags = append(flags, alias.Tags...) 31 } else if ok, _ := cmd.Flags().GetBool("detect-tags"); ok { 32 for _, _os := range phases.SupportedOperatingSystems { 33 if _os.DetectAtRuntime() { 34 flags = append(flags, _os.GetTags()...) 35 } 36 } 37 if os.Getenv("container") != "" { 38 flags = append(flags, types.CONTAINER) 39 } 40 log.Debugf("Detected %s\n", flags) 41 } 42 43 flagNames, err := cmd.Flags().GetStringSlice("tag") 44 if err != nil { 45 log.Fatalf("%s", err) 46 } 47 48 for _, name := range flagNames { 49 if flag, ok := types.FLAG_MAP[name]; ok { 50 flags = append(flags, flag) 51 } else { 52 log.Fatalf("Unknown flag %s", name) 53 } 54 55 } 56 57 log.Infof("Using tags: %s\n", flags) 58 59 cfg, err := types.NewConfig(append(configs, args...)...). 60 WithVars(vars...). 61 WithFlags(flags...). 62 Build() 63 64 if err != nil { 65 panic(nil) 66 } 67 return cfg 68 69 }