helm/oci: Add context to download failure

Add chart address in the OCI chart download failure error message to make
it clear about the chart URL that was attempted to download.

Signed-off-by: Sunny <darkowlzz@protonmail.com>
This commit is contained in:
Sunny 2023-01-31 13:48:22 +00:00
parent b00658d07e
commit f9927e7d46
2 changed files with 7 additions and 3 deletions

View File

@ -225,7 +225,7 @@ entries:
} }
} }
func TestRemoteBuilder_BuildFromOCIChatRepository(t *testing.T) { func TestRemoteBuilder_BuildFromOCIChartRepository(t *testing.T) {
g := NewWithT(t) g := NewWithT(t)
chartGrafana, err := os.ReadFile("./../testdata/charts/helmchart-0.1.0.tgz") chartGrafana, err := os.ReadFile("./../testdata/charts/helmchart-0.1.0.tgz")
@ -293,7 +293,7 @@ func TestRemoteBuilder_BuildFromOCIChatRepository(t *testing.T) {
name: "chart version not in repository", name: "chart version not in repository",
reference: RemoteReference{Name: "grafana", Version: "1.1.1"}, reference: RemoteReference{Name: "grafana", Version: "1.1.1"},
repository: mockRepoWithoutChart(), repository: mockRepoWithoutChart(),
wantErr: "failed to download chart for remote reference", wantErr: "failed to download chart for remote reference: failed to get",
}, },
{ {
name: "invalid version metadata", name: "invalid version metadata",

View File

@ -231,7 +231,11 @@ func (r *OCIChartRepository) DownloadChart(chart *repo.ChartVersion) (*bytes.Buf
defer transport.Release(t) defer transport.Release(t)
// trim the oci scheme prefix if needed // trim the oci scheme prefix if needed
return r.Client.Get(strings.TrimPrefix(u.String(), fmt.Sprintf("%s://", registry.OCIScheme)), clientOpts...) b, err := r.Client.Get(strings.TrimPrefix(u.String(), fmt.Sprintf("%s://", registry.OCIScheme)), clientOpts...)
if err != nil {
return nil, fmt.Errorf("failed to get '%s': %w", ref, err)
}
return b, nil
} }
// Login attempts to login to the OCI registry. // Login attempts to login to the OCI registry.