{"record":{"id":"cabbff3b1a65c6d8","repo":"kubernetes/kops","slug":"bootstrap-addon-q-has-a-kubernetesversion","errorCode":null,"errorMessage":"bootstrap addon %q has a KubernetesVersion","messagePattern":"bootstrap addon %q has a KubernetesVersion","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"channels/pkg/api/channel.go","lineNumber":115,"sourceCode":"\n\t// Namespaces limits pruning only to objects in certain namespaces.\n\tNamespaces []string `json:\"namespaces,omitempty\"`\n\n\t// LabelSelector limits pruning only to objects matching the specified labels.\n\tLabelSelector string `json:\"labelSelector,omitempty\"`\n\n\t// FieldSelector allows pruning only of objects matching the field selector.\n\t// (This isn't currently used, but adding it now lets us start without worrying about version skew)\n\tFieldSelector string `json:\"fieldSelector,omitempty\"`\n}\n\nfunc (a *Addons) Verify() error {\n\tfor _, addon := range a.Spec.Addons {\n\t\tif addon == nil {\n\t\t\tcontinue\n\t\t}\n\t\tif addon.KubernetesVersion != \"\" {\n\t\t\treturn fmt.Errorf(\"bootstrap addon %q has a KubernetesVersion\", values.StringValue(addon.Name))\n\t\t}\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":97,"sourceCodeEnd":121,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/channels/pkg/api/channel.go#L97-L121","documentation":"Addons.Verify (invoked during channel Normalize) rejects an addon manifest marked as a bootstrap addon that also declares a KubernetesVersion. Bootstrap addons must not pin a Kubernetes version, so this is a manifest-content validation failure, not a runtime fault.","triggerScenarios":"Thrown at channels/pkg/api/channel.go:115 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the kubernetesVersion field from the bootstrap addon spec in the manifest","Validate addon manifests with this rule before publishing them to a channel"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}