16808: move strict flag to the config-check command only
authorWard Vandewege <ward@curii.com>
Thu, 10 Sep 2020 18:08:48 +0000 (14:08 -0400)
committerWard Vandewege <ward@curii.com>
Thu, 10 Sep 2020 18:08:48 +0000 (14:08 -0400)
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

lib/config/cmd.go
lib/config/load.go

index dd6f1f98c577527c1cfb84ffdb2b05ef314d635b..347e8519a9717dff33eaefee1a3ed2570a4d013c 100644 (file)
@@ -91,6 +91,7 @@ func (checkCommand) RunCommand(prog string, args []string, stdin io.Reader, stdo
        flags := flag.NewFlagSet("", flag.ContinueOnError)
        flags.SetOutput(stderr)
        loader.SetupFlags(flags)
+       strict := flags.Bool("strict", true, "Strict validation of configuration file (warnings result in non-zero exit code)")
 
        err = flags.Parse(args)
        if err == flag.ErrHelp {
@@ -148,19 +149,19 @@ func (checkCommand) RunCommand(prog string, args []string, stdin io.Reader, stdo
                fmt.Fprintln(stdout, "Your configuration is relying on deprecated entries. Suggest making the following changes.")
                stdout.Write(diff)
                err = nil
-               if loader.Strict {
+               if *strict {
                        return 1
                }
        } else if len(diff) > 0 {
                fmt.Fprintf(stderr, "Unexpected diff output:\n%s", diff)
-               if loader.Strict {
+               if *strict {
                        return 1
                }
        } else if err != nil {
                return 1
        }
        if logbuf.Len() > 0 {
-               if loader.Strict {
+               if *strict {
                        return 1
                }
        }
index 3359dc567ba17ab31fc4d246724bebbd6ce410af..be6181bbe9bbc033cd9241cc14a8eca36ed23610 100644 (file)
@@ -29,7 +29,6 @@ type Loader struct {
        SkipDeprecated bool // Don't load deprecated config keys
        SkipLegacy     bool // Don't load legacy config files
        SkipAPICalls   bool // Don't do checks that call RailsAPI/controller
-       Strict         bool // In config-check, any warnings or diff is non-empty will result in a non-zero exit code
 
        Path                    string
        KeepstorePath           string
@@ -74,7 +73,6 @@ func (ldr *Loader) SetupFlags(flagset *flag.FlagSet) {
                flagset.StringVar(&ldr.GitHttpdPath, "legacy-git-httpd-config", defaultGitHttpdConfigPath, "Legacy arv-git-httpd configuration `file`")
                flagset.StringVar(&ldr.KeepBalancePath, "legacy-keepbalance-config", defaultKeepBalanceConfigPath, "Legacy keep-balance configuration `file`")
                flagset.BoolVar(&ldr.SkipLegacy, "skip-legacy", false, "Don't load legacy config files")
-               flagset.BoolVar(&ldr.Strict, "strict", true, "Strict validation of configuration file (warnings result in non-zero exit code)")
        }
 }