Skip to content

Commit e0d71e7

Browse files
alacukupoiana
authored andcommitted
fix(auth/basic): bind pflags to viper only when required
Binding pflags to Viper too early will generate a faulty configuration file for falcoctl. This commit ensures binding is done only when the basic authentication command is called. Signed-off-by: Aldo Lacuku <[email protected]>
1 parent 7e6b79e commit e0d71e7

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

cmd/registry/auth/basic/basic.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ Example - Login with username and password in an interactive prompt:
6969
`,
7070
Args: cobra.ExactArgs(1),
7171
PreRunE: func(cmd *cobra.Command, args []string) error {
72+
_ = viper.BindPFlag("registry.auth.basic.username", cmd.Flags().Lookup("username"))
73+
_ = viper.BindPFlag("registry.auth.basic.password", cmd.Flags().Lookup("password"))
74+
_ = viper.BindPFlag("registry.auth.basic.password_stdin", cmd.Flags().Lookup("password-stdin"))
75+
7276
o.username = viper.GetString("registry.auth.basic.username")
7377
o.password = viper.GetString("registry.auth.basic.password")
7478
o.passwordFromStdin = viper.GetBool("registry.auth.basic.password_stdin")
@@ -84,13 +88,6 @@ Example - Login with username and password in an interactive prompt:
8488
cmd.Flags().StringVarP(&o.password, "password", "p", "", "registry password")
8589
cmd.Flags().BoolVar(&o.passwordFromStdin, "password-stdin", false, "read password from stdin")
8690

87-
_ = viper.BindPFlag("registry.auth.basic.username", cmd.Flags().Lookup("username"))
88-
_ = viper.BindPFlag("registry.auth.basic.password", cmd.Flags().Lookup("password"))
89-
_ = viper.BindPFlag("registry.auth.basic.password_stdin", cmd.Flags().Lookup("password-stdin"))
90-
91-
// Bind to environment variables.
92-
viper.AutomaticEnv()
93-
9491
return cmd
9592
}
9693

0 commit comments

Comments
 (0)