From 293147e6f53bdb305785badfdfab42f36f452bff Mon Sep 17 00:00:00 2001 From: Cari Date: Thu, 22 Jul 2021 15:17:49 -0700 Subject: [PATCH] Add `kbld.carvel.dev/metas` in imgpkg lock file --- pkg/kbld/cmd/resolve.go | 12 ++++++++++-- pkg/kbld/config/images_lock.go | 3 ++- test/e2e/lock_output_test.go | 8 ++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/pkg/kbld/cmd/resolve.go b/pkg/kbld/cmd/resolve.go index 3ab18bfe..bc6e5ac8 100644 --- a/pkg/kbld/cmd/resolve.go +++ b/pkg/kbld/cmd/resolve.go @@ -20,6 +20,7 @@ import ( ctlser "github.com/k14s/kbld/pkg/kbld/search" "github.com/k14s/kbld/pkg/kbld/version" "github.com/spf13/cobra" + "sigs.k8s.io/yaml" ) type ResolveOptions struct { @@ -245,9 +246,16 @@ func (o *ResolveOptions) emitLockOutput(conf ctlconf.Conf, resolvedImages *Proce }, } for _, urlImagePair := range resolvedImages.All() { + imagesYAML, err := yaml.Marshal(urlImagePair.Image.Metas) + if err != nil { + return err + } iLock.Images = append(iLock.Images, lockconfig.ImageRef{ - Image: urlImagePair.Image.URL, - Annotations: map[string]string{ctlconf.ImagesLockKbldID: urlImagePair.UnprocessedImageURL.URL}, + Image: urlImagePair.Image.URL, + Annotations: map[string]string{ + ctlconf.ImagesLockKbldID: urlImagePair.UnprocessedImageURL.URL, + ctlconf.ImagesLockKbldMetas: string(imagesYAML), + }, }) } return iLock.WriteToPath(o.ImgpkgLockOutput) diff --git a/pkg/kbld/config/images_lock.go b/pkg/kbld/config/images_lock.go index 89e6f555..61532b65 100644 --- a/pkg/kbld/config/images_lock.go +++ b/pkg/kbld/config/images_lock.go @@ -4,5 +4,6 @@ package config const ( - ImagesLockKbldID = "kbld.carvel.dev/id" + ImagesLockKbldID = "kbld.carvel.dev/id" + ImagesLockKbldMetas = "kbld.carvel.dev/metas" ) diff --git a/test/e2e/lock_output_test.go b/test/e2e/lock_output_test.go index 0f23cd2c..7e501a9a 100644 --- a/test/e2e/lock_output_test.go +++ b/test/e2e/lock_output_test.go @@ -18,9 +18,17 @@ apiVersion: imgpkg.carvel.dev/v1alpha1 images: - annotations: kbld.carvel.dev/id: nginx:1.14.2 + kbld.carvel.dev/metas: | + - Tag: 1.14.2 + Type: resolved + URL: nginx:1.14.2 image: index.docker.io/library/nginx@sha256:f7988fb6c02e0ce69257d9bd9cf37ae20a60f1df7563c3a2a6abe24160306b8d - annotations: kbld.carvel.dev/id: sample-app + kbld.carvel.dev/metas: | + - Tag: 1.15.1 + Type: resolved + URL: nginx:1.15.1 image: index.docker.io/library/nginx@sha256:4a5573037f358b6cdfa2f3e8a9c33a5cf11bcd1675ca72ca76fbe5bd77d0d682 kind: ImagesLock `