kubernetes/kops · error

bootstrap addon %q has a KubernetesVersion

Error message

bootstrap addon %q has a KubernetesVersion

What it means

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.

Source

Thrown at channels/pkg/api/channel.go:115

	// Namespaces limits pruning only to objects in certain namespaces.
	Namespaces []string `json:"namespaces,omitempty"`

	// LabelSelector limits pruning only to objects matching the specified labels.
	LabelSelector string `json:"labelSelector,omitempty"`

	// FieldSelector allows pruning only of objects matching the field selector.
	// (This isn't currently used, but adding it now lets us start without worrying about version skew)
	FieldSelector string `json:"fieldSelector,omitempty"`
}

func (a *Addons) Verify() error {
	for _, addon := range a.Spec.Addons {
		if addon == nil {
			continue
		}
		if addon.KubernetesVersion != "" {
			return fmt.Errorf("bootstrap addon %q has a KubernetesVersion", values.StringValue(addon.Name))
		}
	}

	return nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Remove the kubernetesVersion field from the bootstrap addon spec in the manifest
  2. Validate addon manifests with this rule before publishing them to a channel
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at channels/pkg/api/channel.go:115 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/cabbff3b1a65c6d8. Report an issue: GitHub.