From d31a17f41119c9dca3232e78ecf33254d3598247 Mon Sep 17 00:00:00 2001 From: Josh Wolf Date: Fri, 10 Dec 2021 18:58:51 -0700 Subject: [PATCH] ensure sync doesn't panic when given invalid or empty yaml content --- cmd/hauler/cli/store/sync.go | 3 ++- pkg/content/content.go | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/hauler/cli/store/sync.go b/cmd/hauler/cli/store/sync.go index 853a92b1..67a72c84 100644 --- a/cmd/hauler/cli/store/sync.go +++ b/cmd/hauler/cli/store/sync.go @@ -62,7 +62,8 @@ func SyncCmd(ctx context.Context, o *SyncOpts, s *store.Store) error { for _, doc := range docs { obj, err := content.Load(doc) if err != nil { - return err + l.Debugf("skipping sync of unknown content") + continue } l.Infof("syncing [%s] to store", obj.GroupVersionKind().String()) diff --git a/pkg/content/content.go b/pkg/content/content.go index bf598805..16337d64 100644 --- a/pkg/content/content.go +++ b/pkg/content/content.go @@ -11,7 +11,7 @@ import ( ) func Load(data []byte) (schema.ObjectKind, error) { - var tm *metav1.TypeMeta + var tm metav1.TypeMeta if err := yaml.Unmarshal(data, &tm); err != nil { return nil, err } @@ -20,5 +20,5 @@ func Load(data []byte) (schema.ObjectKind, error) { return nil, fmt.Errorf("unrecognized content/collection type: %s", tm.GroupVersionKind().String()) } - return tm, nil + return &tm, nil }