This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch release-1.10.x in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/release-1.10.x by this push: new a0628b0e6 fix(GC): Default to APIResourceList group when APIResource group is empty a0628b0e6 is described below commit a0628b0e66d29388373c0baea2ce77b9b2f9626b Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Tue Nov 22 11:19:04 2022 +0100 fix(GC): Default to APIResourceList group when APIResource group is empty --- pkg/trait/gc.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/trait/gc.go b/pkg/trait/gc.go index 755b51b9a..dd4d7dc64 100644 --- a/pkg/trait/gc.go +++ b/pkg/trait/gc.go @@ -221,14 +221,23 @@ func (t *gcTrait) getDeletableTypes(e *Environment) (map[schema.GroupVersionKind GVKs := make(map[schema.GroupVersionKind]struct{}) for _, APIResourceList := range APIResourceLists { for _, resource := range APIResourceList.APIResources { + resourceGroup := resource.Group + if resourceGroup == "" { + // Empty implies the group of the containing resource list should be used + gv, err := schema.ParseGroupVersion(APIResourceList.GroupVersion) + if err != nil { + return nil, err + } + resourceGroup = gv.Group + } rule: for _, rule := range ssrr.Status.ResourceRules { if !util.StringSliceContainsAnyOf(rule.Verbs, "delete", "*") { continue } - for _, group := range rule.APIGroups { - for _, name := range rule.Resources { - if (resource.Group == group || group == "*") && (resource.Name == name || name == "*") { + for _, ruleGroup := range rule.APIGroups { + for _, ruleResource := range rule.Resources { + if (resourceGroup == ruleGroup || ruleGroup == "*") && (resource.Name == ruleResource || ruleResource == "*") { GVK := schema.FromAPIVersionAndKind(APIResourceList.GroupVersion, resource.Kind) GVKs[GVK] = struct{}{} break rule