kubernetes/kops · error

failed to convert to unstructured: %w

Error message

failed to convert to unstructured: %w

What it means

Error "failed to convert to unstructured: %w" thrown in kubernetes/kops.

Source

Thrown at upup/pkg/fi/nodeup/nodetasks/discovery_service_register.go:156

	for _, jwk := range e.JWKS {
		spec.OIDC.Keys = append(spec.OIDC.Keys, jwk.JSONWebKey)
	}

	ep := &discoveryapi.DiscoveryEndpoint{
		Spec: spec,
	}

	ep.Kind = "DiscoveryEndpoint"
	ep.APIVersion = "discovery.kops.k8s.io/v1alpha1"

	ep.Name = e.RegisterName
	ep.Namespace = e.RegisterNamespace

	// Convert to Unstructured
	obj, err := runtime.DefaultUnstructuredConverter.ToUnstructured(ep)
	if err != nil {
		return fmt.Errorf("failed to convert to unstructured: %w", err)
	}
	u := &unstructured.Unstructured{Object: obj}
	gvr := discoveryapi.DiscoveryEndpointGVR

	// Use Server-Side Apply to Create/Update
	created, err := kubeClient.Resource(gvr).Namespace(u.GetNamespace()).Apply(ctx, u.GetName(), u, metav1.ApplyOptions{FieldManager: "nodeup-register"})
	if err != nil {
		return fmt.Errorf("failed to register with discovery service: %w", err)
	}

	var result discoveryapi.DiscoveryEndpoint
	if err := runtime.DefaultUnstructuredConverter.FromUnstructured(created.Object, &result); err != nil {
		return fmt.Errorf("failed to convert from unstructured: %w", err)
	}
	log.Info("registered with discovery service", "result", result)

	return nil
}

View on GitHub (pinned to 4c8573c808)

When it happens

Trigger: Thrown at upup/pkg/fi/nodeup/nodetasks/discovery_service_register.go:156 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/7c48402585e740af. Report an issue: GitHub.