diff --git a/internal/getter/directory.go b/internal/getter/directory.go index 2e243c3..0ef532f 100644 --- a/internal/getter/directory.go +++ b/internal/getter/directory.go @@ -33,7 +33,7 @@ func (d directory) Open(ctx context.Context, u *url.URL) (io.ReadCloser, error) defer zw.Close() tarDigester := digest.Canonical.Digester() - if err := tarDir(d.path(u), d.Name(u), io.MultiWriter(zw, tarDigester.Hash()), true); err != nil { + if err := tarDir(d.path(u), d.Name(u), io.MultiWriter(zw, tarDigester.Hash()), false); err != nil { return nil, err } diff --git a/internal/mapper/mappers.go b/internal/mapper/mappers.go index d365e7a..05cf89b 100644 --- a/internal/mapper/mappers.go +++ b/internal/mapper/mappers.go @@ -13,23 +13,23 @@ type Fn func(desc ocispec.Descriptor) (string, error) // FromManifest will return the appropriate content store given a reference and source type adequate for storing the results on disk func FromManifest(manifest ocispec.Manifest, root string) (target.Target, error) { + // TODO: Don't rely solely on config mediatype switch manifest.Config.MediaType { case consts.DockerConfigJSON, consts.OCIManifestSchema1: s := NewMapperFileStore(root, Images()) defer s.Close() return s, nil - case consts.FileLocalConfigMediaType: - s := NewMapperFileStore(root, nil) - defer s.Close() - return s, nil - case consts.ChartLayerMediaType, consts.ChartConfigMediaType: s := NewMapperFileStore(root, Chart()) defer s.Close() return s, nil + + default: + s := NewMapperFileStore(root, nil) + defer s.Close() + return s, nil } - return nil, fmt.Errorf("could not identify mapper from manifest with media type [%s]", manifest.MediaType) } func Images() map[string]Fn {