mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 17:37:46 +08:00
vendor: github.com/containerd/containerd v1.7.12
full diff: https://github.com/containerd/containerd/compare/v1.7.11...v1.7.12 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
b49911416c
commit
62a416fe12
2
go.mod
2
go.mod
@ -7,7 +7,7 @@ require (
|
|||||||
github.com/aws/aws-sdk-go-v2/config v1.18.16
|
github.com/aws/aws-sdk-go-v2/config v1.18.16
|
||||||
github.com/compose-spec/compose-go v1.20.0
|
github.com/compose-spec/compose-go v1.20.0
|
||||||
github.com/containerd/console v1.0.3
|
github.com/containerd/console v1.0.3
|
||||||
github.com/containerd/containerd v1.7.11
|
github.com/containerd/containerd v1.7.12
|
||||||
github.com/containerd/continuity v0.4.2
|
github.com/containerd/continuity v0.4.2
|
||||||
github.com/containerd/log v0.1.0
|
github.com/containerd/log v0.1.0
|
||||||
github.com/containerd/typeurl/v2 v2.1.1
|
github.com/containerd/typeurl/v2 v2.1.1
|
||||||
|
6
go.sum
6
go.sum
@ -92,8 +92,8 @@ github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaD
|
|||||||
github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw=
|
github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw=
|
||||||
github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
|
github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
|
||||||
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
|
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
|
||||||
github.com/containerd/containerd v1.7.11 h1:lfGKw3eU35sjV0aG2eYZTiwFEY1pCzxdzicHP3SZILw=
|
github.com/containerd/containerd v1.7.12 h1:+KQsnv4VnzyxWcfO9mlxxELaoztsDEjOuCMPAuPqgU0=
|
||||||
github.com/containerd/containerd v1.7.11/go.mod h1:5UluHxHTX2rdvYuZ5OJTC5m/KJNs0Zs9wVoJm9zf5ZE=
|
github.com/containerd/containerd v1.7.12/go.mod h1:/5OMpE1p0ylxtEUGY8kuCYkDRzJm9NO1TFMWjUpdevk=
|
||||||
github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=
|
github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=
|
||||||
github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
|
github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
|
||||||
github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY=
|
github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY=
|
||||||
@ -363,8 +363,6 @@ github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3I
|
|||||||
github.com/opencontainers/image-spec v1.0.1/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-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI=
|
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/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
|
||||||
github.com/opencontainers/runc v1.1.11 h1:9LjxyVlE0BPMRP2wuQDRlHV4941Jp9rc3F0+YKimopA=
|
|
||||||
github.com/opencontainers/runc v1.1.11/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8=
|
|
||||||
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
|
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
|
||||||
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
|
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
|
||||||
|
2
vendor/github.com/containerd/containerd/archive/compression/compression.go
generated
vendored
2
vendor/github.com/containerd/containerd/archive/compression/compression.go
generated
vendored
@ -25,12 +25,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
"os/exec"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/containerd/containerd/log"
|
"github.com/containerd/containerd/log"
|
||||||
"github.com/klauspost/compress/zstd"
|
"github.com/klauspost/compress/zstd"
|
||||||
exec "golang.org/x/sys/execabs"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
11
vendor/github.com/containerd/containerd/content/helpers.go
generated
vendored
11
vendor/github.com/containerd/containerd/content/helpers.go
generated
vendored
@ -332,3 +332,14 @@ func copyWithBuffer(dst io.Writer, src io.Reader) (written int64, err error) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Exists returns whether an attempt to access the content would not error out
|
||||||
|
// with an ErrNotFound error. It will return an encountered error if it was
|
||||||
|
// different than ErrNotFound.
|
||||||
|
func Exists(ctx context.Context, provider InfoProvider, desc ocispec.Descriptor) (bool, error) {
|
||||||
|
_, err := provider.Info(ctx, desc.Digest)
|
||||||
|
if errdefs.IsNotFound(err) {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
return err == nil, err
|
||||||
|
}
|
||||||
|
97
vendor/github.com/containerd/containerd/images/archive/exporter.go
generated
vendored
97
vendor/github.com/containerd/containerd/images/archive/exporter.go
generated
vendored
@ -24,11 +24,14 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"path"
|
"path"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/containerd/containerd/content"
|
"github.com/containerd/containerd/content"
|
||||||
"github.com/containerd/containerd/errdefs"
|
"github.com/containerd/containerd/errdefs"
|
||||||
"github.com/containerd/containerd/images"
|
"github.com/containerd/containerd/images"
|
||||||
|
"github.com/containerd/containerd/labels"
|
||||||
"github.com/containerd/containerd/platforms"
|
"github.com/containerd/containerd/platforms"
|
||||||
|
"github.com/containerd/log"
|
||||||
digest "github.com/opencontainers/go-digest"
|
digest "github.com/opencontainers/go-digest"
|
||||||
ocispecs "github.com/opencontainers/image-spec/specs-go"
|
ocispecs "github.com/opencontainers/image-spec/specs-go"
|
||||||
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
@ -140,6 +143,45 @@ func WithSkipNonDistributableBlobs() ExportOpt {
|
|||||||
return WithBlobFilter(f)
|
return WithBlobFilter(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithSkipMissing excludes blobs referenced by manifests if not all blobs
|
||||||
|
// would be included in the archive.
|
||||||
|
// The manifest itself is excluded only if it's not present locally.
|
||||||
|
// This allows to export multi-platform images if not all platforms are present
|
||||||
|
// while still persisting the multi-platform index.
|
||||||
|
func WithSkipMissing(store ContentProvider) ExportOpt {
|
||||||
|
return func(ctx context.Context, o *exportOptions) error {
|
||||||
|
o.blobRecordOptions.childrenHandler = images.HandlerFunc(func(ctx context.Context, desc ocispec.Descriptor) (subdescs []ocispec.Descriptor, err error) {
|
||||||
|
children, err := images.Children(ctx, store, desc)
|
||||||
|
if !images.IsManifestType(desc.MediaType) {
|
||||||
|
return children, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
// If manifest itself is missing, skip it from export.
|
||||||
|
if errdefs.IsNotFound(err) {
|
||||||
|
return nil, images.ErrSkipDesc
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Don't export manifest descendants if any of them doesn't exist.
|
||||||
|
for _, child := range children {
|
||||||
|
exists, err := content.Exists(ctx, store, child)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// If any child is missing, only export the manifest, but don't export its descendants.
|
||||||
|
if !exists {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return children, nil
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func addNameAnnotation(name string, base map[string]string) map[string]string {
|
func addNameAnnotation(name string, base map[string]string) map[string]string {
|
||||||
annotations := map[string]string{}
|
annotations := map[string]string{}
|
||||||
for k, v := range base {
|
for k, v := range base {
|
||||||
@ -152,6 +194,29 @@ func addNameAnnotation(name string, base map[string]string) map[string]string {
|
|||||||
return annotations
|
return annotations
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func copySourceLabels(ctx context.Context, infoProvider content.InfoProvider, desc ocispec.Descriptor) (ocispec.Descriptor, error) {
|
||||||
|
info, err := infoProvider.Info(ctx, desc.Digest)
|
||||||
|
if err != nil {
|
||||||
|
return desc, err
|
||||||
|
}
|
||||||
|
for k, v := range info.Labels {
|
||||||
|
if strings.HasPrefix(k, labels.LabelDistributionSource) {
|
||||||
|
if desc.Annotations == nil {
|
||||||
|
desc.Annotations = map[string]string{k: v}
|
||||||
|
} else {
|
||||||
|
desc.Annotations[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return desc, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ContentProvider provides both content and info about content
|
||||||
|
type ContentProvider interface {
|
||||||
|
content.Provider
|
||||||
|
content.InfoProvider
|
||||||
|
}
|
||||||
|
|
||||||
// Export implements Exporter.
|
// Export implements Exporter.
|
||||||
func Export(ctx context.Context, store content.Provider, writer io.Writer, opts ...ExportOpt) error {
|
func Export(ctx context.Context, store content.Provider, writer io.Writer, opts ...ExportOpt) error {
|
||||||
var eo exportOptions
|
var eo exportOptions
|
||||||
@ -163,15 +228,27 @@ func Export(ctx context.Context, store content.Provider, writer io.Writer, opts
|
|||||||
|
|
||||||
records := []tarRecord{
|
records := []tarRecord{
|
||||||
ociLayoutFile(""),
|
ociLayoutFile(""),
|
||||||
ociIndexRecord(eo.manifests),
|
}
|
||||||
|
|
||||||
|
manifests := make([]ocispec.Descriptor, 0, len(eo.manifests))
|
||||||
|
if infoProvider, ok := store.(content.InfoProvider); ok {
|
||||||
|
for _, desc := range eo.manifests {
|
||||||
|
d, err := copySourceLabels(ctx, infoProvider, desc)
|
||||||
|
if err != nil {
|
||||||
|
log.G(ctx).WithError(err).WithField("desc", desc).Warn("failed to copy distribution.source labels")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
manifests = append(manifests, d)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
manifests = append(manifests, eo.manifests...)
|
||||||
}
|
}
|
||||||
|
|
||||||
algorithms := map[string]struct{}{}
|
algorithms := map[string]struct{}{}
|
||||||
dManifests := map[digest.Digest]*exportManifest{}
|
dManifests := map[digest.Digest]*exportManifest{}
|
||||||
resolvedIndex := map[digest.Digest]digest.Digest{}
|
resolvedIndex := map[digest.Digest]digest.Digest{}
|
||||||
for _, desc := range eo.manifests {
|
for _, desc := range manifests {
|
||||||
switch desc.MediaType {
|
if images.IsManifestType(desc.MediaType) {
|
||||||
case images.MediaTypeDockerSchema2Manifest, ocispec.MediaTypeImageManifest:
|
|
||||||
mt, ok := dManifests[desc.Digest]
|
mt, ok := dManifests[desc.Digest]
|
||||||
if !ok {
|
if !ok {
|
||||||
// TODO(containerd): Skip if already added
|
// TODO(containerd): Skip if already added
|
||||||
@ -191,7 +268,7 @@ func Export(ctx context.Context, store content.Provider, writer io.Writer, opts
|
|||||||
if name != "" {
|
if name != "" {
|
||||||
mt.names = append(mt.names, name)
|
mt.names = append(mt.names, name)
|
||||||
}
|
}
|
||||||
case images.MediaTypeDockerSchema2ManifestList, ocispec.MediaTypeImageIndex:
|
} else if images.IsIndexType(desc.MediaType) {
|
||||||
d, ok := resolvedIndex[desc.Digest]
|
d, ok := resolvedIndex[desc.Digest]
|
||||||
if !ok {
|
if !ok {
|
||||||
if err := desc.Digest.Validate(); err != nil {
|
if err := desc.Digest.Validate(); err != nil {
|
||||||
@ -255,11 +332,13 @@ func Export(ctx context.Context, store content.Provider, writer io.Writer, opts
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
default:
|
} else {
|
||||||
return fmt.Errorf("only manifests may be exported: %w", errdefs.ErrInvalidArgument)
|
return fmt.Errorf("only manifests may be exported: %w", errdefs.ErrInvalidArgument)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
records = append(records, ociIndexRecord(manifests))
|
||||||
|
|
||||||
if !eo.skipDockerManifest && len(dManifests) > 0 {
|
if !eo.skipDockerManifest && len(dManifests) > 0 {
|
||||||
tr, err := manifestsRecord(ctx, store, dManifests)
|
tr, err := manifestsRecord(ctx, store, dManifests)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -292,7 +371,10 @@ func getRecords(ctx context.Context, store content.Provider, desc ocispec.Descri
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
childrenHandler := images.ChildrenHandler(store)
|
childrenHandler := brOpts.childrenHandler
|
||||||
|
if childrenHandler == nil {
|
||||||
|
childrenHandler = images.ChildrenHandler(store)
|
||||||
|
}
|
||||||
|
|
||||||
handlers := images.Handlers(
|
handlers := images.Handlers(
|
||||||
childrenHandler,
|
childrenHandler,
|
||||||
@ -315,6 +397,7 @@ type tarRecord struct {
|
|||||||
|
|
||||||
type blobRecordOptions struct {
|
type blobRecordOptions struct {
|
||||||
blobFilter BlobFilter
|
blobFilter BlobFilter
|
||||||
|
childrenHandler images.HandlerFunc
|
||||||
}
|
}
|
||||||
|
|
||||||
func blobRecord(cs content.Provider, desc ocispec.Descriptor, opts *blobRecordOptions) tarRecord {
|
func blobRecord(cs content.Provider, desc ocispec.Descriptor, opts *blobRecordOptions) tarRecord {
|
||||||
|
11
vendor/github.com/containerd/containerd/pkg/dialer/dialer_windows.go
generated
vendored
11
vendor/github.com/containerd/containerd/pkg/dialer/dialer_windows.go
generated
vendored
@ -17,8 +17,11 @@
|
|||||||
package dialer
|
package dialer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
winio "github.com/Microsoft/go-winio"
|
winio "github.com/Microsoft/go-winio"
|
||||||
@ -29,10 +32,16 @@ func isNoent(err error) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func dialer(address string, timeout time.Duration) (net.Conn, error) {
|
func dialer(address string, timeout time.Duration) (net.Conn, error) {
|
||||||
|
address = strings.TrimPrefix(filepath.ToSlash(address), "npipe://")
|
||||||
return winio.DialPipe(address, &timeout)
|
return winio.DialPipe(address, &timeout)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DialAddress returns the dial address
|
// DialAddress returns the dial address with npipe:// prepended to the
|
||||||
|
// provided address
|
||||||
func DialAddress(address string) string {
|
func DialAddress(address string) string {
|
||||||
|
address = filepath.ToSlash(address)
|
||||||
|
if !strings.HasPrefix(address, "npipe://") {
|
||||||
|
address = fmt.Sprintf("npipe://%s", address)
|
||||||
|
}
|
||||||
return address
|
return address
|
||||||
}
|
}
|
||||||
|
2
vendor/github.com/containerd/containerd/version/version.go
generated
vendored
2
vendor/github.com/containerd/containerd/version/version.go
generated
vendored
@ -23,7 +23,7 @@ var (
|
|||||||
Package = "github.com/containerd/containerd"
|
Package = "github.com/containerd/containerd"
|
||||||
|
|
||||||
// Version holds the complete version number. Filled in at linking time.
|
// Version holds the complete version number. Filled in at linking time.
|
||||||
Version = "1.7.11+unknown"
|
Version = "1.7.12+unknown"
|
||||||
|
|
||||||
// Revision is filled with the VCS (e.g. git) revision being used to build
|
// Revision is filled with the VCS (e.g. git) revision being used to build
|
||||||
// the program at linking time.
|
// the program at linking time.
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -137,7 +137,7 @@ github.com/compose-spec/compose-go/utils
|
|||||||
# github.com/containerd/console v1.0.3
|
# github.com/containerd/console v1.0.3
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
github.com/containerd/console
|
github.com/containerd/console
|
||||||
# github.com/containerd/containerd v1.7.11
|
# github.com/containerd/containerd v1.7.12
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
github.com/containerd/containerd/api/services/content/v1
|
github.com/containerd/containerd/api/services/content/v1
|
||||||
github.com/containerd/containerd/archive/compression
|
github.com/containerd/containerd/archive/compression
|
||||||
|
Loading…
x
Reference in New Issue
Block a user