Merge pull request #46665 from thaJeztah/update_image_spec
vendor: github.com/opencontainers/image-spec v1.1.0-rc5 and use OCI consts
This commit is contained in:
commit
70589b8548
8 changed files with 19 additions and 18 deletions
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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=
|
||||
|
|
2
vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go
generated
vendored
2
vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go
generated
vendored
|
@ -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"`
|
||||
|
|
6
vendor/github.com/opencontainers/image-spec/specs-go/v1/layout.go
generated
vendored
6
vendor/github.com/opencontainers/image-spec/specs-go/v1/layout.go
generated
vendored
|
@ -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
|
||||
|
|
2
vendor/github.com/opencontainers/image-spec/specs-go/version.go
generated
vendored
2
vendor/github.com/opencontainers/image-spec/specs-go/version.go
generated
vendored
|
@ -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.
|
||||
|
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue