feat: add COMPOSE_FILE env variable

Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
This commit is contained in:
AhmedGrati
2023-11-05 15:02:36 +01:00
parent 032b61a656
commit a91b57ef2e
5 changed files with 124 additions and 1 deletions
+13 -1
View File
@@ -21,6 +21,8 @@ import (
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"github.com/spf13/viper"
)
// Logrus hooks
@@ -80,6 +82,16 @@ var RootCmd = &cobra.Command{
if provider != "kubernetes" && provider != "openshift" {
log.Fatalf("%s is an unsupported provider. Supported providers are: 'kubernetes', 'openshift'.", GlobalProvider)
}
v := viper.New()
v.BindEnv("file", "COMPOSE_FILE")
cmd.Flags().VisitAll(func(f *pflag.Flag) {
configName := f.Name
if configName == "file" && !f.Changed && v.IsSet(configName) {
GlobalFiles = v.GetStringSlice(configName)
}
})
},
}
@@ -93,6 +105,6 @@ func init() {
RootCmd.PersistentFlags().BoolVarP(&GlobalVerbose, "verbose", "v", false, "verbose output")
RootCmd.PersistentFlags().BoolVar(&GlobalSuppressWarnings, "suppress-warnings", false, "Suppress all warnings")
RootCmd.PersistentFlags().BoolVar(&GlobalErrorOnWarning, "error-on-warning", false, "Treat any warning as an error")
RootCmd.PersistentFlags().StringArrayVarP(&GlobalFiles, "file", "f", []string{}, "Specify an alternative compose file")
RootCmd.PersistentFlags().StringSliceVarP(&GlobalFiles, "file", "f", []string{}, "Specify an alternative compose file")
RootCmd.PersistentFlags().StringVar(&GlobalProvider, "provider", "kubernetes", "Specify a provider. Kubernetes or OpenShift.")
}