From 96d92e3248f9dcbb3aeebca1546c839a18eec9b3 Mon Sep 17 00:00:00 2001 From: Adam Martin Date: Tue, 10 Oct 2023 10:48:48 -0400 Subject: [PATCH] impl for cosign functions for images & store copy Signed-off-by: Adam Martin --- cmd/hauler/cli/store/add.go | 4 ++-- cmd/hauler/cli/store/copy.go | 2 +- cmd/hauler/cli/store/extract.go | 6 ++++-- cmd/hauler/cli/store/sync.go | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cmd/hauler/cli/store/add.go b/cmd/hauler/cli/store/add.go index 865d9df..1c9ec6f 100644 --- a/cmd/hauler/cli/store/add.go +++ b/cmd/hauler/cli/store/add.go @@ -78,7 +78,7 @@ func AddImageCmd(ctx context.Context, o *AddImageOpts, s *store.Layout, referenc // Check if the user provided a key. if o.Key != "" { // verify signature using the provided key. - err := cosign.VerifySignature(reference, o.Key) + err := cosign.VerifySignature(ctx, s, o.Key) if err != nil { return err } @@ -95,7 +95,7 @@ func storeImage(ctx context.Context, s *store.Layout, i v1alpha1.Image) error { return err } - err = cosign.SaveImage(s.Root, r.Name()) + err = cosign.SaveImage(ctx, s, r.Name()) //desc, err := s.AddOCI(ctx, img, r.Name()) if err != nil { return err diff --git a/cmd/hauler/cli/store/copy.go b/cmd/hauler/cli/store/copy.go index 064f2da..158f433 100644 --- a/cmd/hauler/cli/store/copy.go +++ b/cmd/hauler/cli/store/copy.go @@ -56,7 +56,7 @@ func CopyCmd(ctx context.Context, o *CopyOpts, s *store.Layout, targetRef string PlainHTTP: o.PlainHTTP, } - err := cosign.LoadImage(s.Root, components[1], ropts) + err := cosign.LoadImage(ctx, s, components[1], ropts) if err != nil { return err } diff --git a/cmd/hauler/cli/store/extract.go b/cmd/hauler/cli/store/extract.go index 9b09755..3d9630d 100644 --- a/cmd/hauler/cli/store/extract.go +++ b/cmd/hauler/cli/store/extract.go @@ -2,6 +2,7 @@ package store import ( "context" + "strings" "encoding/json" "fmt" @@ -36,7 +37,8 @@ func ExtractCmd(ctx context.Context, o *ExtractOpts, s *store.Layout, ref string found := false if err := s.Walk(func(reference string, desc ocispec.Descriptor) error { - if reference != r.Name() { + + if !strings.Contains(reference, r.Name()) { return nil } found = true @@ -57,7 +59,7 @@ func ExtractCmd(ctx context.Context, o *ExtractOpts, s *store.Layout, ref string return err } - pushedDesc, err := s.Copy(ctx, r.Name(), mapperStore, "") + pushedDesc, err := s.Copy(ctx, reference, mapperStore, "") if err != nil { return err } diff --git a/cmd/hauler/cli/store/sync.go b/cmd/hauler/cli/store/sync.go index a5930db..3d153b4 100644 --- a/cmd/hauler/cli/store/sync.go +++ b/cmd/hauler/cli/store/sync.go @@ -101,7 +101,7 @@ func SyncCmd(ctx context.Context, o *SyncOpts, s *store.Layout) error { // Check if the user provided a key. if o.Key != "" { // verify signature using the provided key. - err := cosign.VerifySignature(i.Name, o.Key) + err := cosign.VerifySignature(ctx, s, o.Key) if err != nil { return err }