Skip to content

Commit 4cda847

Browse files
committed
Corrects nits in parseListKind
1 parent e64ec1d commit 4cda847

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

pkg/patterns/declarative/reconciler.go

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@ package declarative
1919
import (
2020
"context"
2121
"fmt"
22-
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2322
"path/filepath"
2423
"strings"
2524

25+
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
26+
2627
"k8s.io/apimachinery/pkg/api/errors"
2728
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2829
"k8s.io/apimachinery/pkg/runtime"
@@ -131,9 +132,9 @@ func (r *Reconciler) reconcileExists(ctx context.Context, name types.NamespacedN
131132
}
132133
}()
133134

134-
err = parseListKind(objects)
135+
objects, err = parseListKind(objects)
135136

136-
if err != nil{
137+
if err != nil {
137138
log.Error(err, "Parsing list kind")
138139
return reconcile.Result{}, fmt.Errorf("error parsing list kind: %v", err)
139140
}
@@ -412,29 +413,36 @@ func (r *Reconciler) SetSink(sink Sink) {
412413
r.options.sink = sink
413414
}
414415

415-
func parseListKind(infos *manifest.Objects) error{
416-
for i, item := range infos.Items{
417-
if item.Kind == "List" {
418-
fmt.Println("haaa!")
419-
obj := item.UnstructuredObject()
420-
421-
err := obj.EachListItem(func(obj runtime.Object) error{
422-
castItem := obj.(*unstructured.Unstructured)
423-
newObj, err := manifest.NewObject(castItem)
424-
if err != nil {
425-
return err
426-
}
427-
infos.Items = append(infos.Items, newObj)
428-
return nil
429-
})
416+
func parseListKind(infos *manifest.Objects) (*manifest.Objects, error) {
417+
var out []*manifest.Object
418+
419+
for _, item := range infos.Items {
420+
if item.Group == "v1" && item.Kind == "List" {
421+
itemObj := item.UnstructuredObject()
430422

423+
err := itemObj.EachListItem(func(obj runtime.Object) error {
424+
itemUnstructured := obj.(*unstructured.Unstructured)
425+
newObj, err := manifest.NewObject(itemUnstructured)
431426
if err != nil {
432427
return err
433428
}
429+
out = append(out, newObj)
430+
return nil
431+
})
434432

435-
infos.Items = append(infos.Items[:i], infos.Items[i+1:]...)
433+
if err != nil {
434+
return nil, err
436435
}
436+
} else {
437+
out = append(out, item)
437438
}
439+
}
438440

439-
return nil
441+
ret := manifest.Objects{
442+
Items: out,
443+
Blobs: infos.Blobs,
444+
Path: infos.Path,
445+
}
446+
447+
return &ret, nil
440448
}

0 commit comments

Comments
 (0)