diff --git a/cmd/hauler/cli/store/sync.go b/cmd/hauler/cli/store/sync.go index d2b82607..890e8fb9 100644 --- a/cmd/hauler/cli/store/sync.go +++ b/cmd/hauler/cli/store/sync.go @@ -27,18 +27,18 @@ import ( type SyncOpts struct { *RootOpts - ContentFiles []string - Key string - Products []string - Platform string - Registry string + ContentFiles []string + Key string + Products []string + Platform string + Registry string ProductRegistry string } func (o *SyncOpts) AddFlags(cmd *cobra.Command) { f := cmd.Flags() - f.StringSliceVarP(&o.ContentFiles, "files", "f", []string{}, "Path to content files") + f.StringSliceVarP(&o.ContentFiles, "files", "f", []string{}, "Path(s) to local content files (Manifests). i.e. '--files ./rke2-files.yml") f.StringVarP(&o.Key, "key", "k", "", "(Optional) Path to the key for signature verification") f.StringSliceVar(&o.Products, "products", []string{}, "Used for RGS Carbide customers to supply a product and version and Hauler will retrieve the images. i.e. '--product rancher=v2.7.6'") f.StringVarP(&o.Platform, "platform", "p", "", "(Optional) Specific platform to save. i.e. linux/amd64. Defaults to all if flag is omitted.") @@ -70,7 +70,7 @@ func SyncCmd(ctx context.Context, o *SyncOpts, s *store.Layout) error { if err != nil { return err } - err = ExtractCmd(ctx, &ExtractOpts{RootOpts: o.RootOpts}, s, fmt.Sprintf("hauler/%s-manifest.yaml:%s", parts[0],tag)) + err = ExtractCmd(ctx, &ExtractOpts{RootOpts: o.RootOpts}, s, fmt.Sprintf("hauler/%s-manifest.yaml:%s", parts[0], tag)) if err != nil { return err } @@ -151,19 +151,19 @@ func processContent(ctx context.Context, fi *os.File, o *SyncOpts, s *store.Layo } a := cfg.GetAnnotations() for _, i := range cfg.Spec.Images { - + // Check if the user provided a registry. If a registry is provided in the annotation, use it for the images that don't have a registry in their ref name. - if a[consts.ImageAnnotationRegistry] != "" || o.Registry != ""{ - newRef,_ := reference.Parse(i.Name) - + if a[consts.ImageAnnotationRegistry] != "" || o.Registry != "" { + newRef, _ := reference.Parse(i.Name) + newReg := o.Registry // cli flag // if no cli flag but there was an annotation, use the annotation. if o.Registry == "" && a[consts.ImageAnnotationRegistry] != "" { newReg = a[consts.ImageAnnotationRegistry] } - + if newRef.Context().RegistryStr() == "" { - newRef,err = reference.Relocate(i.Name, newReg) + newRef, err = reference.Relocate(i.Name, newReg) if err != nil { return err } @@ -189,7 +189,7 @@ func processContent(ctx context.Context, fi *os.File, o *SyncOpts, s *store.Layo } } l.Debugf("key for image [%s]", key) - + // verify signature using the provided key. err := cosign.VerifySignature(ctx, s, key, i.Name) if err != nil { @@ -209,7 +209,7 @@ func processContent(ctx context.Context, fi *os.File, o *SyncOpts, s *store.Layo if i.Platform != "" { platform = i.Platform } - + err = storeImage(ctx, s, i, platform) if err != nil { return err