From 61f0f80c4a5f31ba5b7ad3cd98ef622d5aba8edd Mon Sep 17 00:00:00 2001 From: derailed Date: Sun, 16 Feb 2025 11:42:08 -0700 Subject: [PATCH] ensure crd gvr group suffix is trimmed --- internal/dao/registry.go | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/internal/dao/registry.go b/internal/dao/registry.go index 8c6c75ed..44cdbbe0 100644 --- a/internal/dao/registry.go +++ b/internal/dao/registry.go @@ -411,13 +411,15 @@ func loadCRDs(f Factory, m ResourceMetas) { log.Err(err).Msg("boom") continue } + gvr, version, ok := newGVRFromCRD(&crd) + if !ok { + continue + } - if gvr, version, ok := newGVRFromCRD(&crd); ok { - if meta, ok := m[gvr]; ok && version.Subresources != nil && version.Subresources.Scale != nil { - if !slices.Contains(meta.Categories, scaleCat) { - meta.Categories = append(meta.Categories, scaleCat) - m[gvr] = meta - } + if meta, ok := m[gvr]; ok && version.Subresources != nil && version.Subresources.Scale != nil { + if !slices.Contains(meta.Categories, scaleCat) { + meta.Categories = append(meta.Categories, scaleCat) + m[gvr] = meta } } } @@ -427,13 +429,10 @@ func newGVRFromCRD(crd *apiext.CustomResourceDefinition) (client.GVR, apiext.Cus for _, v := range crd.Spec.Versions { if v.Served && !v.Deprecated { return client.NewGVRFromMeta(metav1.APIResource{ - Kind: crd.Spec.Names.Kind, - Group: crd.Spec.Group, - Name: crd.Spec.Names.Plural, - Version: v.Name, - ShortNames: crd.Spec.Names.ShortNames, - SingularName: crd.Spec.Names.Plural, - Namespaced: crd.Spec.Scope == apiext.NamespaceScoped, + Kind: crd.Spec.Names.Kind, + Group: crd.Spec.Group, + Name: strings.TrimSuffix(crd.Name, "."+crd.Spec.Group), + Version: v.Name, }), v, true } }