Bladeren bron

Merge pull request #46665 from thaJeztah/update_image_spec

vendor: github.com/opencontainers/image-spec v1.1.0-rc5 and use OCI consts
Sebastiaan van Stijn 1 jaar geleden
bovenliggende
commit
70589b8548

+ 8 - 7
image/tarexport/save.go

@@ -241,7 +241,7 @@ func (s *saveSession) save(outStream io.Writer) error {
 		}
 		dgst := digest.FromBytes(data)
 
-		mFile := filepath.Join(s.outDir, "blobs", dgst.Algorithm().String(), dgst.Encoded())
+		mFile := filepath.Join(s.outDir, ocispec.ImageBlobsDir, dgst.Algorithm().String(), dgst.Encoded())
 		if err := os.MkdirAll(filepath.Dir(mFile), 0o755); err != nil {
 			return errors.Wrap(err, "error creating blob directory")
 		}
@@ -279,11 +279,11 @@ func (s *saveSession) save(outStream io.Writer) error {
 		for _, l := range imageDescr.layers {
 			// IMPORTANT: We use path, not filepath here to ensure the layers
 			// in the manifest use Unix-style forward-slashes.
-			layers = append(layers, path.Join("blobs", l.Algorithm().String(), l.Encoded()))
+			layers = append(layers, path.Join(ocispec.ImageBlobsDir, l.Algorithm().String(), l.Encoded()))
 		}
 
 		manifest = append(manifest, manifestItem{
-			Config:       path.Join("blobs", id.Digest().Algorithm().String(), id.Digest().Encoded()),
+			Config:       path.Join(ocispec.ImageBlobsDir, id.Digest().Algorithm().String(), id.Digest().Encoded()),
 			RepoTags:     repoTags,
 			Layers:       layers,
 			LayerSources: foreignSrcs,
@@ -336,7 +336,8 @@ func (s *saveSession) save(outStream io.Writer) error {
 		return err
 	}
 
-	layoutPath := filepath.Join(tempDir, ociLayoutFilename)
+	const ociLayoutContent = `{"imageLayoutVersion": "` + ocispec.ImageLayoutVersion + `"}`
+	layoutPath := filepath.Join(tempDir, ocispec.ImageLayoutFile)
 	if err := os.WriteFile(layoutPath, []byte(ociLayoutContent), 0o644); err != nil {
 		return errors.Wrap(err, "error writing oci layout file")
 	}
@@ -355,7 +356,7 @@ func (s *saveSession) save(outStream io.Writer) error {
 		return errors.Wrap(err, "error marshaling oci index")
 	}
 
-	idxFile := filepath.Join(s.outDir, ociIndexFileName)
+	idxFile := filepath.Join(s.outDir, ocispec.ImageIndexFile)
 	if err := os.WriteFile(idxFile, data, 0o644); err != nil {
 		return errors.Wrap(err, "error writing oci index file")
 	}
@@ -420,7 +421,7 @@ func (s *saveSession) saveImage(id image.ID) (map[layer.DiffID]distribution.Desc
 	data := img.RawJSON()
 	dgst := digest.FromBytes(data)
 
-	blobDir := filepath.Join(s.outDir, "blobs", dgst.Algorithm().String())
+	blobDir := filepath.Join(s.outDir, ocispec.ImageBlobsDir, dgst.Algorithm().String())
 	if err := os.MkdirAll(blobDir, 0o755); err != nil {
 		return nil, err
 	}
@@ -452,7 +453,7 @@ func (s *saveSession) saveLayer(id layer.ChainID, legacyImg image.V1Image, creat
 		return distribution.Descriptor{}, nil
 	}
 
-	outDir := filepath.Join(s.outDir, "blobs")
+	outDir := filepath.Join(s.outDir, ocispec.ImageBlobsDir)
 
 	imageConfig, err := json.Marshal(legacyImg)
 	if err != nil {

+ 0 - 4
image/tarexport/tarexport.go

@@ -13,10 +13,6 @@ const (
 	legacyLayerFileName        = "layer.tar"
 	legacyConfigFileName       = "json"
 	legacyRepositoriesFileName = "repositories"
-
-	ociIndexFileName  = "index.json"
-	ociLayoutFilename = "oci-layout"
-	ociLayoutContent  = `{"imageLayoutVersion": "1.0.0"}`
 )
 
 type manifestItem struct {

+ 1 - 1
vendor.mod

@@ -76,7 +76,7 @@ require (
 	github.com/moby/term v0.5.0
 	github.com/morikuni/aec v1.0.0
 	github.com/opencontainers/go-digest v1.0.0
-	github.com/opencontainers/image-spec v1.1.0-rc4
+	github.com/opencontainers/image-spec v1.1.0-rc5
 	github.com/opencontainers/runc v1.1.9
 	github.com/opencontainers/runtime-spec v1.1.0
 	github.com/opencontainers/selinux v1.11.0

+ 2 - 2
vendor.sum

@@ -996,8 +996,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
 github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
 github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/opencontainers/image-spec v1.1.0-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0=
-github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
+github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI=
+github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
 github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
 github.com/opencontainers/runc v1.0.0-rc92/go.mod h1:X1zlU4p7wOlX4+WRCz+hvlRv8phdL7UqbYD+vQwNMmE=

+ 1 - 1
vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go

@@ -21,7 +21,7 @@ import digest "github.com/opencontainers/go-digest"
 // when marshalled to JSON.
 type Descriptor struct {
 	// MediaType is the media type of the object this schema refers to.
-	MediaType string `json:"mediaType,omitempty"`
+	MediaType string `json:"mediaType"`
 
 	// Digest is the digest of the targeted content.
 	Digest digest.Digest `json:"digest"`

+ 5 - 1
vendor/github.com/opencontainers/image-spec/specs-go/v1/layout.go

@@ -15,10 +15,14 @@
 package v1
 
 const (
-	// ImageLayoutFile is the file name of oci image layout file
+	// ImageLayoutFile is the file name containing ImageLayout in an OCI Image Layout
 	ImageLayoutFile = "oci-layout"
 	// ImageLayoutVersion is the version of ImageLayout
 	ImageLayoutVersion = "1.0.0"
+	// ImageIndexFile is the file name of the entry point for references and descriptors in an OCI Image Layout
+	ImageIndexFile = "index.json"
+	// ImageBlobsDir is the directory name containing content addressable blobs in an OCI Image Layout
+	ImageBlobsDir = "blobs"
 )
 
 // ImageLayout is the structure in the "oci-layout" file, found in the root

+ 1 - 1
vendor/github.com/opencontainers/image-spec/specs-go/version.go

@@ -25,7 +25,7 @@ const (
 	VersionPatch = 0
 
 	// VersionDev indicates development branch. Releases will be empty string.
-	VersionDev = "-rc.4"
+	VersionDev = "-rc.5"
 )
 
 // Version is the specification version that the package types support.

+ 1 - 1
vendor/modules.txt

@@ -927,7 +927,7 @@ github.com/morikuni/aec
 ## explicit; go 1.13
 github.com/opencontainers/go-digest
 github.com/opencontainers/go-digest/digestset
-# github.com/opencontainers/image-spec v1.1.0-rc4
+# github.com/opencontainers/image-spec v1.1.0-rc5
 ## explicit; go 1.18
 github.com/opencontainers/image-spec/identity
 github.com/opencontainers/image-spec/specs-go