You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2022/11/22 16:28:21 UTC
[camel-k] branch main updated: fix(GC): Default to APIResourceList group when APIResource group is empty
This is an automated email from the ASF dual-hosted git repository.
astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/main by this push:
new fe448dff5 fix(GC): Default to APIResourceList group when APIResource group is empty
fe448dff5 is described below
commit fe448dff59b53d9a0cfa67104559a7236155761c
Author: Antonin Stefanutti <an...@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 2ec07f384..500fd7663 100644
--- a/pkg/trait/gc.go
+++ b/pkg/trait/gc.go
@@ -204,14 +204,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