{"record":{"id":"ba455749a18525bc","repo":"GoogleContainerTools/skaffold","slug":"conflicting-sets-of-kubectl-deploy-flags-not-suppo","errorCode":null,"errorMessage":"conflicting sets of kubectl deploy flags not supported in `skaffold apply` (flag: %s)","messagePattern":"conflicting sets of kubectl deploy flags not supported in `skaffold apply` \\(flag: (.+?)\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/runner/deployer.go","lineNumber":305,"sourceCode":"\tif kFlags == nil {\n\t\tkFlags = &latest.KubectlFlags{}\n\t}\n\tk := &latest.KubectlDeploy{\n\t\tFlags:            *kFlags,\n\t\tDefaultNamespace: defaultNamespace,\n\t}\n\tdCtx := &deployerCtx{runCtx, latest.DeployConfig{StatusCheck: statusCheck, KubeContext: kubeContext, DeployType: latest.DeployType{KubectlDeploy: k}}}\n\tdefaultDeployer, err := kubectl.NewDeployer(dCtx, labeller, k, runCtx.Artifacts(), \"\", selectors)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"instantiating default kubectl deployer: %w\", err)\n\t}\n\treturn defaultDeployer, nil\n}\n\nfunc validateKubectlFlags(flags *latest.KubectlFlags, additional latest.KubectlFlags) error {\n\terrStr := \"conflicting sets of kubectl deploy flags not supported in `skaffold apply` (flag: %s)\"\n\tif additional.DisableValidation != flags.DisableValidation {\n\t\treturn fmt.Errorf(errStr, strconv.FormatBool(additional.DisableValidation))\n\t}\n\tfor _, flag := range additional.Apply {\n\t\tif !stringslice.Contains(flags.Apply, flag) {\n\t\t\treturn fmt.Errorf(errStr, flag)\n\t\t}\n\t}\n\tfor _, flag := range additional.Delete {\n\t\tif !stringslice.Contains(flags.Delete, flag) {\n\t\t\treturn fmt.Errorf(errStr, flag)\n\t\t}\n\t}\n\tfor _, flag := range additional.Global {\n\t\tif !stringslice.Contains(flags.Global, flag) {\n\t\t\treturn fmt.Errorf(errStr, flag)\n\t\t}\n\t}\n\treturn nil\n}","sourceCodeStart":287,"sourceCodeEnd":323,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/runner/deployer.go#L287-L323","documentation":"`skaffold apply` merges CLI kubectl flags with those in skaffold.yaml and rejects conflicting values. This instance fires when the DisableValidation boolean differs between the CLI flag set and the config flag set.","triggerScenarios":"validateKubectlFlags: additional.DisableValidation != flags.DisableValidation, i.e. `--disable-validation` given on the command line (or defaults) disagrees with deploy.kubectl.flags.disableValidation in skaffold.yaml.","commonSituations":"Setting disableValidation: true in skaffold.yaml while passing --disable-validation=false (or omitting it) on `skaffold apply`; CI scripts adding flags the config doesn't declare.","solutions":["Remove the conflicting --disable-validation CLI flag or the disableValidation entry from skaffold.yaml so both agree","If CLI intent should win, delete the flag from deploy.kubectl.flags in skaffold.yaml","Check the reported flag value in the message to see which side conflicts"],"exampleFix":"// before (skaffold.yaml)\ndeploy:\n  kubectl:\n    flags:\n      disableValidation: true\n// after — either remove it, or pass matching flag\nskaffold apply --disable-validation","handlingStrategy":"validation","validationCode":"if ((cliFlags.disableValidation ?? cfgFlags.disableValidation ?? false) !== (cfgFlags.disableValidation ?? false))\n  throw new Error('disableValidation differs between CLI and skaffold.yaml')","typeGuard":"function flagsMatch(cli, cfg) {\n  return (cli.disableValidation ?? false) === (cfg.disableValidation ?? false)\n}","tryCatchPattern":"if err := validateKubectlFlags(configFlags, cliFlags); err != nil {\n    return fmt.Errorf(\"align skaffold.yaml deploy.kubectl.flags with CLI: %w\", err)\n}","preventionTips":["Define kubectl flags only in skaffold.yaml, keep CLI plain","Grep CI scripts for --disable-validation mismatches","Keep flag sets identical across environments"],"tags":["kubectl","flags","apply","config-conflict"],"backgroundTag":"conflicting-cli-flags","analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}