Merge pull request #45249 from vvoland/c8d-push-upstream-2
c8d/push: Follow up fixes
diff --git a/daemon/containerd/image_events.go b/daemon/containerd/image_events.go
index 11e9a99..c3f507e 100644
--- a/daemon/containerd/image_events.go
+++ b/daemon/containerd/image_events.go
@@ -1,13 +1,40 @@
package containerd
-// LogImageEvent generates an event related to an image with only the
-// default attributes.
+import (
+ "context"
+
+ "github.com/docker/docker/api/types/events"
+ imagetypes "github.com/docker/docker/api/types/image"
+)
+
+// LogImageEvent generates an event related to an image with only the default attributes.
func (i *ImageService) LogImageEvent(imageID, refName, action string) {
- panic("not implemented")
+ ctx := context.TODO()
+ attributes := map[string]string{}
+
+ img, err := i.GetImage(ctx, imageID, imagetypes.GetImageOpts{})
+ if err == nil && img.Config != nil {
+ // image has not been removed yet.
+ // it could be missing if the event is `delete`.
+ copyAttributes(attributes, img.Config.Labels)
+ }
+ if refName != "" {
+ attributes["name"] = refName
+ }
+ actor := events.Actor{
+ ID: imageID,
+ Attributes: attributes,
+ }
+
+ i.eventsService.Log(action, events.ImageEventType, actor)
}
-// LogImageEventWithAttributes generates an event related to an image with
-// specific given attributes.
-func (i *ImageService) LogImageEventWithAttributes(imageID, refName, action string, attributes map[string]string) {
- panic("not implemented")
+// copyAttributes guarantees that labels are not mutated by event triggers.
+func copyAttributes(attributes, labels map[string]string) {
+ if labels == nil {
+ return
+ }
+ for k, v := range labels {
+ attributes[k] = v
+ }
}
diff --git a/daemon/containerd/service.go b/daemon/containerd/service.go
index fc69173..3021fa9 100644
--- a/daemon/containerd/service.go
+++ b/daemon/containerd/service.go
@@ -10,6 +10,7 @@
"github.com/containerd/containerd/remotes/docker"
"github.com/containerd/containerd/snapshots"
"github.com/docker/docker/container"
+ daemonevents "github.com/docker/docker/daemon/events"
"github.com/docker/docker/daemon/images"
"github.com/docker/docker/errdefs"
"github.com/docker/docker/image"
@@ -27,6 +28,7 @@
snapshotter string
registryHosts RegistryHostsProvider
registryService RegistryConfigProvider
+ eventsService *daemonevents.Events
}
type RegistryHostsProvider interface {
@@ -37,14 +39,24 @@
IsInsecureRegistry(host string) bool
}
+type ImageServiceConfig struct {
+ Client *containerd.Client
+ Containers container.Store
+ Snapshotter string
+ HostsProvider RegistryHostsProvider
+ Registry RegistryConfigProvider
+ EventsService *daemonevents.Events
+}
+
// NewService creates a new ImageService.
-func NewService(c *containerd.Client, containers container.Store, snapshotter string, hostsProvider RegistryHostsProvider, registry RegistryConfigProvider) *ImageService {
+func NewService(config ImageServiceConfig) *ImageService {
return &ImageService{
- client: c,
- containers: containers,
- snapshotter: snapshotter,
- registryHosts: hostsProvider,
- registryService: registry,
+ client: config.Client,
+ containers: config.Containers,
+ snapshotter: config.Snapshotter,
+ registryHosts: config.HostsProvider,
+ registryService: config.Registry,
+ eventsService: config.EventsService,
}
}
diff --git a/daemon/daemon.go b/daemon/daemon.go
index 0736944..70f169d 100644
--- a/daemon/daemon.go
+++ b/daemon/daemon.go
@@ -1012,7 +1012,14 @@
if err := configureKernelSecuritySupport(config, driverName); err != nil {
return nil, err
}
- d.imageService = ctrd.NewService(d.containerdCli, d.containers, driverName, d, d.registryService)
+ d.imageService = ctrd.NewService(ctrd.ImageServiceConfig{
+ Client: d.containerdCli,
+ Containers: d.containers,
+ Snapshotter: driverName,
+ HostsProvider: d,
+ Registry: d.registryService,
+ EventsService: d.EventsService,
+ })
} else {
layerStore, err := layer.NewStoreFromOptions(layer.StoreOptions{
Root: config.Root,
diff --git a/daemon/image_service.go b/daemon/image_service.go
index 8ebc1ee..f7160bb 100644
--- a/daemon/image_service.go
+++ b/daemon/image_service.go
@@ -35,7 +35,6 @@
LoadImage(ctx context.Context, inTar io.ReadCloser, outStream io.Writer, quiet bool) error
Images(ctx context.Context, opts types.ImageListOptions) ([]*types.ImageSummary, error)
LogImageEvent(imageID, refName, action string)
- LogImageEventWithAttributes(imageID, refName, action string, attributes map[string]string)
CountImages() int
ImagesPrune(ctx context.Context, pruneFilters filters.Args) (*types.ImagesPruneReport, error)
ImportImage(ctx context.Context, ref reference.Named, platform *v1.Platform, msg string, layerReader io.Reader, changes []string) (image.ID, error)
diff --git a/daemon/images/image_events.go b/daemon/images/image_events.go
index 1a824f5..84803b4 100644
--- a/daemon/images/image_events.go
+++ b/daemon/images/image_events.go
@@ -9,12 +9,9 @@
// LogImageEvent generates an event related to an image with only the default attributes.
func (i *ImageService) LogImageEvent(imageID, refName, action string) {
- i.LogImageEventWithAttributes(imageID, refName, action, map[string]string{})
-}
-
-// LogImageEventWithAttributes generates an event related to an image with specific given attributes.
-func (i *ImageService) LogImageEventWithAttributes(imageID, refName, action string, attributes map[string]string) {
ctx := context.TODO()
+ attributes := map[string]string{}
+
img, err := i.GetImage(ctx, imageID, imagetypes.GetImageOpts{})
if err == nil && img.Config != nil {
// image has not been removed yet.
diff --git a/libnetwork/netutils/utils_freebsd.go b/libnetwork/netutils/utils_freebsd.go
index b703d73..31b2bf7 100644
--- a/libnetwork/netutils/utils_freebsd.go
+++ b/libnetwork/netutils/utils_freebsd.go
@@ -6,16 +6,6 @@
"github.com/docker/docker/libnetwork/types"
)
-// ElectInterfaceAddresses looks for an interface on the OS with the specified name
-// and returns returns all its IPv4 and IPv6 addresses in CIDR notation.
-// If a failure in retrieving the addresses or no IPv4 address is found, an error is returned.
-// If the interface does not exist, it chooses from a predefined
-// list the first IPv4 address which does not conflict with other
-// interfaces on the system.
-func ElectInterfaceAddresses(name string) ([]*net.IPNet, []*net.IPNet, error) {
- return nil, nil, types.NotImplementedErrorf("not supported on freebsd")
-}
-
// FindAvailableNetwork returns a network from the passed list which does not
// overlap with existing interfaces in the system
func FindAvailableNetwork(list []*net.IPNet) (*net.IPNet, error) {
diff --git a/libnetwork/netutils/utils_windows.go b/libnetwork/netutils/utils_windows.go
index 5f1b761..b88e3eb 100644
--- a/libnetwork/netutils/utils_windows.go
+++ b/libnetwork/netutils/utils_windows.go
@@ -2,20 +2,8 @@
import (
"net"
-
- "github.com/docker/docker/libnetwork/types"
)
-// ElectInterfaceAddresses looks for an interface on the OS with the specified name
-// and returns returns all its IPv4 and IPv6 addresses in CIDR notation.
-// If a failure in retrieving the addresses or no IPv4 address is found, an error is returned.
-// If the interface does not exist, it chooses from a predefined
-// list the first IPv4 address which does not conflict with other
-// interfaces on the system.
-func ElectInterfaceAddresses(name string) ([]*net.IPNet, []*net.IPNet, error) {
- return nil, nil, types.NotImplementedErrorf("not supported on windows")
-}
-
// FindAvailableNetwork returns a network from the passed list which does not
// overlap with existing interfaces in the system
//
diff --git a/libnetwork/sandbox_store.go b/libnetwork/sandbox_store.go
index b71549a..92eaf7a 100644
--- a/libnetwork/sandbox_store.go
+++ b/libnetwork/sandbox_store.go
@@ -28,10 +28,12 @@
EpPriority map[string]int
// external servers have to be persisted so that on restart of a live-restore
// enabled daemon we get the external servers for the running containers.
- // We have two versions of ExtDNS to support upgrade & downgrade of the daemon
- // between >=1.14 and <1.14 versions.
- ExtDNS []string
- ExtDNS2 []extDNSEntry
+ //
+ // It is persisted as "ExtDNS2" for historical reasons. ExtDNS2 was used to
+ // handle migration between docker < 1.14 and >= 1.14. Before version 1.14 we
+ // used ExtDNS but with a []string. As it's unlikely that installations still
+ // have state from before 1.14, we've dropped the migration code.
+ ExtDNS []extDNSEntry `json:"ExtDNS2"`
}
func (sbs *sbState) Key() []string {
@@ -112,18 +114,7 @@
dstSbs.EpPriority = sbs.EpPriority
dstSbs.Eps = append(dstSbs.Eps, sbs.Eps...)
-
- if len(sbs.ExtDNS2) > 0 {
- for _, dns := range sbs.ExtDNS2 {
- dstSbs.ExtDNS2 = append(dstSbs.ExtDNS2, dns)
- dstSbs.ExtDNS = append(dstSbs.ExtDNS, dns.IPStr)
- }
- return nil
- }
- for _, dns := range sbs.ExtDNS {
- dstSbs.ExtDNS = append(dstSbs.ExtDNS, dns)
- dstSbs.ExtDNS2 = append(dstSbs.ExtDNS2, extDNSEntry{IPStr: dns})
- }
+ dstSbs.ExtDNS = append(dstSbs.ExtDNS, sbs.ExtDNS...)
return nil
}
@@ -138,11 +129,7 @@
ID: sb.id,
Cid: sb.containerID,
EpPriority: sb.epPriority,
- ExtDNS2: sb.extDNS,
- }
-
- for _, ext := range sb.extDNS {
- sbs.ExtDNS = append(sbs.ExtDNS, ext.IPStr)
+ ExtDNS: sb.extDNS,
}
retry:
@@ -211,21 +198,13 @@
id: sbs.ID,
controller: sbs.c,
containerID: sbs.Cid,
+ extDNS: sbs.ExtDNS,
endpoints: []*Endpoint{},
populatedEndpoints: map[string]struct{}{},
dbIndex: sbs.dbIndex,
isStub: true,
dbExists: true,
}
- // If we are restoring from a older version extDNSEntry won't have the
- // HostLoopback field
- if len(sbs.ExtDNS2) > 0 {
- sb.extDNS = sbs.ExtDNS2
- } else {
- for _, dns := range sbs.ExtDNS {
- sb.extDNS = append(sb.extDNS, extDNSEntry{IPStr: dns})
- }
- }
msg := " for cleanup"
create := true
diff --git a/vendor.mod b/vendor.mod
index 8b89eba..88cd68c 100644
--- a/vendor.mod
+++ b/vendor.mod
@@ -25,7 +25,7 @@
github.com/bsphere/le_go v0.0.0-20200109081728-fc06dab2caa8
github.com/cloudflare/cfssl v0.0.0-20180323000720-5d63dbd981b5
github.com/containerd/cgroups/v3 v3.0.1
- github.com/containerd/containerd v1.6.20-0.20230322235238-de33abf0547c
+ github.com/containerd/containerd v1.6.20
github.com/containerd/continuity v0.3.0
github.com/containerd/fifo v1.1.0
github.com/containerd/typeurl/v2 v2.1.0
@@ -70,7 +70,7 @@
github.com/moby/term v0.0.0-20221120202655-abb19827d345
github.com/morikuni/aec v1.0.0
github.com/opencontainers/go-digest v1.0.0
- github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1
+ github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b
github.com/opencontainers/runc v1.1.5
github.com/opencontainers/runtime-spec v1.1.0-rc.1
github.com/opencontainers/selinux v1.11.0
@@ -121,7 +121,7 @@
github.com/containerd/go-runc v1.0.0 // indirect
github.com/containerd/nydus-snapshotter v0.3.1 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.13.0 // indirect
- github.com/containerd/ttrpc v1.1.0 // indirect
+ github.com/containerd/ttrpc v1.1.1 // indirect
github.com/containerd/typeurl v1.0.2 // indirect
github.com/containernetworking/cni v1.1.1 // indirect
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
diff --git a/vendor.sum b/vendor.sum
index 91d06d8..ffb5856 100644
--- a/vendor.sum
+++ b/vendor.sum
@@ -372,8 +372,8 @@
github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s=
github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g=
github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c=
-github.com/containerd/containerd v1.6.20-0.20230322235238-de33abf0547c h1:N1iR6/12eEH/ysnTXGJSCvxIM0zYVfM2d4F6HAd59wA=
-github.com/containerd/containerd v1.6.20-0.20230322235238-de33abf0547c/go.mod h1:VTE2dTyaPd3Zsyd6pXBeJsJQfrJV+tmVLTN1bvntKkA=
+github.com/containerd/containerd v1.6.20 h1:+itjwpdqXpzHB/QAiWc/BZCjjVfcNgw69w/oIeF4Oy0=
+github.com/containerd/containerd v1.6.20/go.mod h1:apei1/i5Ux2FzrK6+DM/suEsGuK/MeVOfy8tR2q7Wnw=
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
@@ -419,8 +419,9 @@
github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8=
github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
-github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI=
github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ=
+github.com/containerd/ttrpc v1.1.1 h1:NoRHS/z8UiHhpY1w0xcOqoJDGf2DHyzXrF0H4l5AE8c=
+github.com/containerd/ttrpc v1.1.1/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ=
github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk=
github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg=
@@ -1139,8 +1140,8 @@
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.0.3-0.20220303224323-02efb9a75ee1 h1:9iFHD5Kt9hkOfeawBNiEeEaV7bmC4/Z5wJp8E9BptMs=
-github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1/go.mod h1:K/JAU0m27RFhDRX4PcFdIKntROP6y5Ed6O91aZYDQfs=
+github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8=
+github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
@@ -1270,7 +1271,6 @@
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.0.4/go.mod h1:9T/Cfuxs5StfsocWr4WzDL36HqnX0fVb9d5fSEaLhoE=
@@ -1433,7 +1433,6 @@
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
-github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
diff --git a/vendor/github.com/containerd/containerd/oci/spec_opts.go b/vendor/github.com/containerd/containerd/oci/spec_opts.go
index d7a0671..cd251c3 100644
--- a/vendor/github.com/containerd/containerd/oci/spec_opts.go
+++ b/vendor/github.com/containerd/containerd/oci/spec_opts.go
@@ -406,22 +406,6 @@
// even if there is no specified user in the image config
return WithAdditionalGIDs("root")(ctx, client, c, s)
} else if s.Windows != nil {
- // imageExtended is a superset of the oci Image struct that changes
- // the Config type to be imageConfigExtended in order to add the
- // ability to deserialize `ArgsEscaped` which is not an OCI field,
- // but is supported by Docker built images.
- type imageExtended struct {
- Config struct {
- ArgsEscaped bool `json:"ArgsEscaped,omitempty"`
- }
- }
- // Deserialize the extended image format for Windows.
- var ociImageExtended imageExtended
- if err := json.Unmarshal(imageConfigBytes, &ociImageExtended); err != nil {
- return err
- }
- argsEscaped := ociImageExtended.Config.ArgsEscaped
-
s.Process.Env = replaceOrAppendEnvValues(config.Env, s.Process.Env)
// To support Docker ArgsEscaped on Windows we need to combine the
@@ -462,7 +446,7 @@
return errors.New("no arguments specified")
}
- if argsEscaped && (len(config.Entrypoint) > 0 || cmdFromImage) {
+ if config.ArgsEscaped && (len(config.Entrypoint) > 0 || cmdFromImage) {
s.Process.Args = nil
s.Process.CommandLine = cmd[0]
if len(cmd) > 1 {
diff --git a/vendor/github.com/containerd/containerd/version/version.go b/vendor/github.com/containerd/containerd/version/version.go
index 6bc3ed1..e059391 100644
--- a/vendor/github.com/containerd/containerd/version/version.go
+++ b/vendor/github.com/containerd/containerd/version/version.go
@@ -23,7 +23,7 @@
Package = "github.com/containerd/containerd"
// Version holds the complete version number. Filled in at linking time.
- Version = "1.6.19+unknown"
+ Version = "1.6.20+unknown"
// Revision is filled with the VCS (e.g. git) revision being used to build
// the program at linking time.
diff --git a/vendor/github.com/containerd/ttrpc/server.go b/vendor/github.com/containerd/ttrpc/server.go
index b0e4807..e4c07b6 100644
--- a/vendor/github.com/containerd/ttrpc/server.go
+++ b/vendor/github.com/containerd/ttrpc/server.go
@@ -24,6 +24,7 @@
"net"
"sync"
"sync/atomic"
+ "syscall"
"time"
"github.com/sirupsen/logrus"
@@ -467,14 +468,12 @@
// branch. Basically, it means that we are no longer receiving
// requests due to a terminal error.
recvErr = nil // connection is now "closing"
- if err == io.EOF || err == io.ErrUnexpectedEOF {
+ if err == io.EOF || err == io.ErrUnexpectedEOF || errors.Is(err, syscall.ECONNRESET) {
// The client went away and we should stop processing
// requests, so that the client connection is closed
return
}
- if err != nil {
- logrus.WithError(err).Error("error receiving message")
- }
+ logrus.WithError(err).Error("error receiving message")
case <-shutdown:
return
}
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/v1/annotations.go b/vendor/github.com/opencontainers/image-spec/specs-go/v1/annotations.go
index 581cf7c..6f9e6fd 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/v1/annotations.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/v1/annotations.go
@@ -59,4 +59,13 @@
// AnnotationBaseImageName is the annotation key for the image reference of the image's base image.
AnnotationBaseImageName = "org.opencontainers.image.base.name"
+
+ // AnnotationArtifactCreated is the annotation key for the date and time on which the artifact was built, conforming to RFC 3339.
+ AnnotationArtifactCreated = "org.opencontainers.artifact.created"
+
+ // AnnotationArtifactDescription is the annotation key for the human readable description for the artifact.
+ AnnotationArtifactDescription = "org.opencontainers.artifact.description"
+
+ // AnnotationReferrersFiltersApplied is the annotation key for the comma separated list of filters applied by the registry in the referrers listing.
+ AnnotationReferrersFiltersApplied = "org.opencontainers.referrers.filtersApplied"
)
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/v1/config.go b/vendor/github.com/opencontainers/image-spec/specs-go/v1/config.go
index ffff4b6..e6aa113 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/v1/config.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/v1/config.go
@@ -48,6 +48,15 @@
// StopSignal contains the system call signal that will be sent to the container to exit.
StopSignal string `json:"StopSignal,omitempty"`
+
+ // ArgsEscaped `[Deprecated]` - This field is present only for legacy
+ // compatibility with Docker and should not be used by new image builders.
+ // It is used by Docker for Windows images to indicate that the `Entrypoint`
+ // or `Cmd` or both, contains only a single element array, that is a
+ // pre-escaped, and combined into a single string `CommandLine`. If `true`
+ // the value in `Entrypoint` or `Cmd` should be used as-is to avoid double
+ // escaping.
+ ArgsEscaped bool `json:"ArgsEscaped,omitempty"`
}
// RootFS describes a layer content addresses
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go b/vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go
index 94f19be..9654aa5 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/v1/descriptor.go
@@ -1,4 +1,4 @@
-// Copyright 2016 The Linux Foundation
+// Copyright 2016-2022 The Linux Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -44,6 +44,9 @@
//
// This should only be used when referring to a manifest.
Platform *Platform `json:"platform,omitempty"`
+
+ // ArtifactType is the IANA media type of this artifact.
+ ArtifactType string `json:"artifactType,omitempty"`
}
// Platform describes the platform which the image in the manifest runs on.
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/v1/manifest.go b/vendor/github.com/opencontainers/image-spec/specs-go/v1/manifest.go
index 8212d52..730a093 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/v1/manifest.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/v1/manifest.go
@@ -1,4 +1,4 @@
-// Copyright 2016 The Linux Foundation
+// Copyright 2016-2022 The Linux Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -30,6 +30,9 @@
// Layers is an indexed list of layers referenced by the manifest.
Layers []Descriptor `json:"layers"`
+ // Subject is an optional link from the image manifest to another manifest forming an association between the image manifest and the other manifest.
+ Subject *Descriptor `json:"subject,omitempty"`
+
// Annotations contains arbitrary metadata for the image manifest.
Annotations map[string]string `json:"annotations,omitempty"`
}
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/v1/mediatype.go b/vendor/github.com/opencontainers/image-spec/specs-go/v1/mediatype.go
index 4f35ac1..935b481 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/v1/mediatype.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/v1/mediatype.go
@@ -54,4 +54,7 @@
// MediaTypeImageConfig specifies the media type for the image configuration.
MediaTypeImageConfig = "application/vnd.oci.image.config.v1+json"
+
+ // MediaTypeArtifactManifest specifies the media type for a content descriptor.
+ MediaTypeArtifactManifest = "application/vnd.oci.artifact.manifest.v1+json"
)
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/version.go b/vendor/github.com/opencontainers/image-spec/specs-go/version.go
index 31f99cf..1afd590 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/version.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/version.go
@@ -20,9 +20,9 @@
// VersionMajor is for an API incompatible changes
VersionMajor = 1
// VersionMinor is for functionality in a backwards-compatible manner
- VersionMinor = 0
+ VersionMinor = 1
// VersionPatch is for backwards-compatible bug fixes
- VersionPatch = 2
+ VersionPatch = 0
// VersionDev indicates development branch. Releases will be empty string.
VersionDev = "-dev"
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 363d783..7adca5f 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -216,7 +216,7 @@
# github.com/containerd/console v1.0.3
## explicit; go 1.13
github.com/containerd/console
-# github.com/containerd/containerd v1.6.20-0.20230322235238-de33abf0547c
+# github.com/containerd/containerd v1.6.20
## explicit; go 1.17
github.com/containerd/containerd
github.com/containerd/containerd/api/events
@@ -323,7 +323,7 @@
## explicit; go 1.16
github.com/containerd/stargz-snapshotter/estargz
github.com/containerd/stargz-snapshotter/estargz/errorutil
-# github.com/containerd/ttrpc v1.1.0
+# github.com/containerd/ttrpc v1.1.1
## explicit; go 1.13
github.com/containerd/ttrpc
# github.com/containerd/typeurl v1.0.2
@@ -834,8 +834,8 @@
## explicit; go 1.13
github.com/opencontainers/go-digest
github.com/opencontainers/go-digest/digestset
-# github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1
-## explicit; go 1.16
+# github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b
+## explicit; go 1.17
github.com/opencontainers/image-spec/identity
github.com/opencontainers/image-spec/specs-go
github.com/opencontainers/image-spec/specs-go/v1