INNER CODE UNIT · Go
layerFromCache
tazjin/nixery · builder/cache.go:150
func layerFromCache(ctx context.Context, s *State, key string) (*manifest.Entry, bool) {
if entry, cached := s.Cache.layerFromLocalCache(key); cached {
return entry, true
}
r, err := s.Storage.Fetch(ctx, "builds/"+key)
if err != nil {
slog.Debug("failed to retrieve cached layer from storage backend", "err", err, "layer", key, "backend", s.Storage.Name())
return nil, false
}
defer r.Close()
jb := bytes.NewBuffer([]byte{})
_, err = io.Copy(jb, r)
if err != nil {
slog.Error("failed to read cached layer from storage backend", "err", err, "layer", key, "backend", s.Storage.Name())