Skip to content
This repository was archived by the owner on May 31, 2024. It is now read-only.

Commit 1152c5f

Browse files
Future-OutlierFuture Outlier
andauthored
force flag (#431)
Signed-off-by: Future Outlier <eric901201@gmai.com> Co-authored-by: Future Outlier <eric901201@gmai.com>
1 parent c44faa2 commit 1152c5f

File tree

5 files changed

+34
-2
lines changed

5 files changed

+34
-2
lines changed

cmd/config/subcommand/config/config_flags.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/config/subcommand/config/config_flags_test.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/config/subcommand/config/init_flags.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package config
44
var (
55
DefaultConfig = &Config{
66
Insecure: false,
7+
Force: false,
78
}
89
)
910

@@ -12,4 +13,5 @@ type Config struct {
1213
Console string `json:"console" pflag:",Endpoint of console, if different than flyte admin"`
1314
Host string `json:"host" pflag:",Endpoint of flyte admin"`
1415
Insecure bool `json:"insecure" pflag:",Enable insecure mode"`
16+
Force bool `json:"force" pflag:",Force to overwrite the default config file without confirmation"`
1517
}

cmd/configuration/configuration.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ func CreateConfigCommand() *cobra.Command {
7070
Long: initCmdLong, PFlagProvider: initConfig.DefaultConfig},
7171
}
7272

73+
configCmd.Flags().BoolVar(&initConfig.DefaultConfig.Force, "force", false, "Force to overwrite the default config file without confirmation")
74+
7375
cmdcore.AddCommands(configCmd, getResourcesFuncs)
7476
return configCmd
7577
}
@@ -109,7 +111,7 @@ func initFlytectlConfig(reader io.Reader) error {
109111
if _, err := os.Stat(configutil.ConfigFile); os.IsNotExist(err) {
110112
_err = configutil.SetupConfig(configutil.ConfigFile, templateStr, templateValues)
111113
} else {
112-
if cmdUtil.AskForConfirmation(fmt.Sprintf("This action will overwrite an existing config file at [%s]. Do you want to continue?", configutil.ConfigFile), reader) {
114+
if initConfig.DefaultConfig.Force || cmdUtil.AskForConfirmation(fmt.Sprintf("This action will overwrite an existing config file at [%s]. Do you want to continue?", configutil.ConfigFile), reader) {
113115
if err := os.Remove(configutil.ConfigFile); err != nil {
114116
return err
115117
}

cmd/configuration/configuration_test.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ func TestCreateInitCommand(t *testing.T) {
4141
assert.Equal(t, initCmdShort, cmdNouns[2].Short)
4242
assert.Equal(t, "validate", cmdNouns[3].Use)
4343
assert.Equal(t, "Validates the loaded config.", cmdNouns[3].Short)
44-
4544
}
4645

4746
func TestSetupConfigFunc(t *testing.T) {
4847
var yes = strings.NewReader("Yes")
4948
var no = strings.NewReader("No")
49+
var empty = strings.NewReader("")
5050
mockOutStream := new(io.Writer)
5151
ctx := context.Background()
5252
_ = os.Remove(configutil.FlytectlConfig)
@@ -59,8 +59,13 @@ func TestSetupConfigFunc(t *testing.T) {
5959
initConfig.DefaultConfig.Host = ""
6060
assert.Nil(t, err)
6161

62+
initConfig.DefaultConfig.Force = false
6263
assert.Nil(t, initFlytectlConfig(yes))
6364
assert.Nil(t, initFlytectlConfig(no))
65+
66+
initConfig.DefaultConfig.Force = true
67+
assert.Nil(t, initFlytectlConfig(empty))
68+
6469
initConfig.DefaultConfig.Host = "flyte.org"
6570
assert.Nil(t, initFlytectlConfig(no))
6671
initConfig.DefaultConfig.Host = "localhost:30081"
@@ -86,3 +91,11 @@ func TestValidateEndpointName(t *testing.T) {
8691
assert.Equal(t, false, validateEndpointName("112.11.1.1:8080/console"))
8792
assert.Equal(t, false, validateEndpointName("flyte"))
8893
}
94+
95+
func TestForceFlagInCreateConfigCommand(t *testing.T) {
96+
cmd := CreateConfigCommand()
97+
assert.False(t, initConfig.DefaultConfig.Force)
98+
err := cmd.Flags().Parse([]string{"--force"})
99+
assert.Nil(t, err)
100+
assert.True(t, initConfig.DefaultConfig.Force)
101+
}

0 commit comments

Comments
 (0)