kubernetes/kops · critical

error registering kops/v1alpha2 API: %v

Error message

error registering kops/v1alpha2 API: %v

What it means

buildScheme registers the kops v1alpha2 API types into the runtime scheme; this wraps v1alpha2.AddToScheme failing. As with the other scheme registrations, it is an internal setup step that only fails due to a code-generation or build inconsistency, not user input.

Source

Thrown at cmd/kops-controller/main.go:295

			setupLog.Error(err, "registering Cluster API controllers")
			os.Exit(1)
		}
	}

	setupLog.Info("starting manager")
	if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
		setupLog.Error(err, "problem running manager")
		os.Exit(1)
	}
}

func buildScheme(opt *config.Options) (*runtime.Scheme, error) {
	scheme := runtime.NewScheme()
	if err := corev1.AddToScheme(scheme); err != nil {
		return nil, fmt.Errorf("error registering corev1: %v", err)
	}
	if err := v1alpha2.AddToScheme(scheme); err != nil {
		return nil, fmt.Errorf("error registering kops/v1alpha2 API: %v", err)
	}
	// Needed so that the leader-election system can post events
	if err := coordinationv1.AddToScheme(scheme); err != nil {
		return nil, fmt.Errorf("error registering coordinationv1: %v", err)
	}
	if opt.CAPI.IsEnabled() {
		if err := bootstrapapi.AddToScheme(scheme); err != nil {
			return nil, fmt.Errorf("error registering kops bootstrap cluster API: %v", err)
		}
		if err := controlplaneapi.AddToScheme(scheme); err != nil {
			return nil, fmt.Errorf("error registering kops control-plane cluster API: %v", err)
		}
	}

	return scheme, nil
}

func addNodeController(ctx context.Context, mgr manager.Manager, opt *config.Options) error {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Run `go mod tidy` / `make gomod` to reconcile module versions
  2. Check for duplicate imports of k8s.io/kops APIs at different versions
  3. Rebuild the binary after dependency cleanup
Defensive patterns

Strategy: validation

Validate before calling

if err := v1alpha2.AddToScheme(scheme); err != nil {
	return nil, err
}

Prevention

When it happens

Trigger: v1alpha2.AddToScheme(scheme) errors — same class of failure as corev1: duplicate/incompatible registration caused by mismatched kops API package versions.

Common situations: Version skew between k8s.io/* dependencies and the kops API package, or a build vendoring two copies of the kops API types.

Related errors


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