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)