pull/31271/merge
Payal Godhani 1 day ago committed by GitHub
commit 84eb817ce6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -246,22 +246,31 @@ func (c *ChartDownloader) DownloadToCache(ref, version string) (string, *provena
if len(digest) == 0 || err != nil { if len(digest) == 0 || err != nil {
slog.Debug("attempting to download chart", "ref", ref, "version", version) slog.Debug("attempting to download chart", "ref", ref, "version", version)
if err != nil && !os.IsNotExist(err) { if err != nil && !os.IsNotExist(err) {
slog.Debug("failed to access chart cache", "error", err, "ref", ref, "version", version)
return "", nil, err return "", nil, err
} }
// Get file not in the cache // Get file not in the cache
data, gerr := g.Get(u.String(), c.Options...) data, gerr := g.Get(u.String(), c.Options...)
if gerr != nil { if gerr != nil {
slog.Debug("failed to download chart from remote", "error", gerr, "url", u.String(), "ref", ref, "version", version)
return "", nil, gerr return "", nil, gerr
} }
// Generate the digest // Generate the digest
if len(digest) == 0 { if len(digest) == 0 {
digest32 = sha256.Sum256(data.Bytes()) // Defensive: check data.Bytes() is not nil/empty
bytes := data.Bytes()
if len(bytes) == 0 {
slog.Debug("downloaded chart data is empty", "url", u.String(), "ref", ref, "version", version)
return "", nil, errors.New("downloaded chart data is empty")
}
digest32 = sha256.Sum256(bytes)
} }
pth, err = c.Cache.Put(digest32, data, CacheChart) pth, err = c.Cache.Put(digest32, data, CacheChart)
if err != nil { if err != nil {
slog.Debug("failed to put chart in cache", "error", err, "cache_id", hex.EncodeToString(digest32[:]))
return "", nil, err return "", nil, err
} }
slog.Debug("put downloaded chart in cache", "id", hex.EncodeToString(digest32[:])) slog.Debug("put downloaded chart in cache", "id", hex.EncodeToString(digest32[:]))

Loading…
Cancel
Save