From 596560a09a574ad8deaa55cfe8746e65411ebc11 Mon Sep 17 00:00:00 2001 From: Alvaro Aleman Date: Wed, 17 Apr 2024 18:11:40 +0200 Subject: [PATCH] Add support for lists This change adds support to blame lists, for example `kubectl blame pod` --- cmd/blame.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/blame.go b/cmd/blame.go index c2d3551..373571c 100644 --- a/cmd/blame.go +++ b/cmd/blame.go @@ -145,11 +145,20 @@ func (o *Options) visitClusterObjects(visit func(object metav1.Object) error) er if err != nil { return err } - obj, ok := info.Object.(metav1.Object) - if !ok { + + switch obj := info.Object.(type) { + case metav1.Object: + return visit(obj) + case *unstructured.UnstructuredList: + for _, item := range obj.Items { + if err := visit(&item); err != nil { + return err + } + } + return nil + default: return fmt.Errorf("unsupported object: %v: %s/%s", info.Mapping.Resource, info.Namespace, info.Name) } - return visit(obj) }) }