From 424873fd1eea7ae668669a39d9405f8446f55c81 Mon Sep 17 00:00:00 2001 From: Ivan Tarasov Date: Sat, 28 Dec 2024 23:19:48 -0800 Subject: [PATCH] Fix CRD loading: trim group suffix from CRD name --- internal/dao/registry.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/dao/registry.go b/internal/dao/registry.go index f512bc60cd..acefdad643 100644 --- a/internal/dao/registry.go +++ b/internal/dao/registry.go @@ -424,7 +424,15 @@ func loadCRDs(f Factory, m ResourceMetas) { var meta metav1.APIResource meta.Kind = crd.Spec.Names.Kind meta.Group = crd.Spec.Group - meta.Name = crd.Name + // Since CRD names are cluster scoped they need to be unique, however, it is allowed + // to have the CRDs with the same names in different groups. Because of that, the + // returned `crd.Name` values have the group as a suffix, for example + // "ciliumnetworkpolicies.cilium.io". + // + // `Name` field of `meta/v1/APIResource` is supposed to be the plural name of the + // resource, without the group. Because of that we need to trim the group suffix. + meta.Name = strings.TrimSuffix(crd.Name, "." + meta.Group) + meta.SingularName = crd.Spec.Names.Singular meta.ShortNames = crd.Spec.Names.ShortNames meta.Namespaced = crd.Spec.Scope == apiext.NamespaceScoped