diff --git a/cmd/start/flags.go b/cmd/start/flags.go index 9ef6a0f42..91d5b3c82 100644 --- a/cmd/start/flags.go +++ b/cmd/start/flags.go @@ -2,34 +2,31 @@ package start import ( "github.com/spf13/cobra" + "github.com/spf13/pflag" "github.com/spf13/viper" + "github.com/zitadel/logging" + "github.com/zitadel/zitadel/cmd/key" "github.com/zitadel/zitadel/cmd/tls" ) -var tlsMode *string +var ( + startFlagSet = &pflag.FlagSet{} +) + +func init() { + startFlagSet.Uint16("port", 0, "port to run ZITADEL on") + startFlagSet.String("externalDomain", "", "domain ZITADEL will be exposed on") + startFlagSet.String("externalPort", "", "port ZITADEL will be exposed on") +} func startFlags(cmd *cobra.Command) { - bindUint16Flag(cmd, "port", "port to run ZITADEL on") - bindStringFlag(cmd, "externalDomain", "domain ZITADEL will be exposed on") - bindStringFlag(cmd, "externalPort", "port ZITADEL will be exposed on") + cmd.Flags().AddFlagSet(startFlagSet) + logging.OnError( + viper.BindPFlags(startFlagSet), + ).Fatal("start flags") tls.AddTLSModeFlag(cmd) key.AddMasterKeyFlag(cmd) } - -func bindStringFlag(cmd *cobra.Command, name, description string) { - cmd.PersistentFlags().String(name, viper.GetString(name), description) - viper.BindPFlag(name, cmd.PersistentFlags().Lookup(name)) -} - -func bindUint16Flag(cmd *cobra.Command, name, description string) { - cmd.PersistentFlags().Uint16(name, uint16(viper.GetUint(name)), description) - viper.BindPFlag(name, cmd.PersistentFlags().Lookup(name)) -} - -func bindBoolFlag(cmd *cobra.Command, name, description string) { - cmd.PersistentFlags().Bool(name, viper.GetBool(name), description) - viper.BindPFlag(name, cmd.PersistentFlags().Lookup(name)) -} diff --git a/go.mod b/go.mod index bd0a9c082..ba90d777d 100644 --- a/go.mod +++ b/go.mod @@ -194,7 +194,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/pflag v1.0.5 github.com/subosito/gotenv v1.6.0 // indirect github.com/ttacon/builder v0.0.0-20170518171403-c099f663e1c2 // indirect github.com/x448/float16 v0.8.4 // indirect