Skip to content

Commit

Permalink
Surface better error messages in crane index (#1722)
Browse files Browse the repository at this point in the history
If we're trying to do things to a non-index, we should fail earlier.
  • Loading branch information
jonjohnsonjr committed Jun 5, 2023
1 parent 03b8657 commit 037ab31
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions cmd/crane/cmd/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,17 @@ func NewCmdIndexFilter(options *[]crane.Option) *cobra.Command {
if err != nil {
return err
}
base, err := remote.Index(ref, o.Remote...)
desc, err := remote.Get(ref, o.Remote...)
if err != nil {
return fmt.Errorf("pulling %s: %w", baseRef, err)
}
if !desc.MediaType.IsIndex() {
return fmt.Errorf("expected %s to be an index, got %q", baseRef, desc.MediaType)
}
base, err := desc.ImageIndex()
if err != nil {
return nil
}

idx := filterIndex(base, platforms.platforms)

Expand Down Expand Up @@ -153,10 +160,17 @@ The platform for appended manifests is inferred from the config file or omitted
if err != nil {
return err
}
base, err = remote.Index(ref, o.Remote...)
desc, err := remote.Get(ref, o.Remote...)
if err != nil {
return fmt.Errorf("pulling %s: %w", baseRef, err)
}
if !desc.MediaType.IsIndex() {
return fmt.Errorf("expected %s to be an index, got %q", baseRef, desc.MediaType)
}
base, err = desc.ImageIndex()
if err != nil {
return err
}
}

adds := make([]mutate.IndexAddendum, 0, len(newManifests))
Expand Down

0 comments on commit 037ab31

Please sign in to comment.