From 7b25804b559018cd41ffdedc9bbf9955afc55f5d Mon Sep 17 00:00:00 2001 From: Karl Persson Date: Mon, 2 Dec 2024 10:32:34 +0100 Subject: [PATCH] K8s: Register group and kinds to internal version to fix apply (#97184) * K8s: Register group and kinds to internal version to fix apply --- pkg/services/apiserver/builder/runner/builder.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/services/apiserver/builder/runner/builder.go b/pkg/services/apiserver/builder/runner/builder.go index 2add23f9390..c58401e9e2c 100644 --- a/pkg/services/apiserver/builder/runner/builder.go +++ b/pkg/services/apiserver/builder/runner/builder.go @@ -64,6 +64,16 @@ func (b *appBuilder) InstallSchema(scheme *runtime.Scheme) error { for _, kind := range kinds { scheme.AddKnownTypeWithName(gv.WithKind(kind.Kind()), kind.ZeroValue()) scheme.AddKnownTypeWithName(gv.WithKind(kind.Kind()+"List"), kind.ZeroListValue()) + + // Link this group to the internal representation. + // This is used for server-side-apply (PATCH), and avoids the error: + // "no kind is registered for the type" + gvInternal := schema.GroupVersion{ + Group: gv.Group, + Version: runtime.APIVersionInternal, + } + scheme.AddKnownTypeWithName(gvInternal.WithKind(kind.Kind()), kind.ZeroValue()) + scheme.AddKnownTypeWithName(gvInternal.WithKind(kind.Kind()+"List"), kind.ZeroListValue()) } } return scheme.SetVersionPriority(gv)