Skip to content

Commit 625a537

Browse files
Merge pull request #1140 from matejvasek/update-docker-v25
chore: update docker to v25
2 parents d7a5079 + 30302e1 commit 625a537

File tree

228 files changed

+25274
-1223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+25274
-1223
lines changed

go.mod

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.20
55
require (
66
github.com/containers/image/v5 v5.29.0
77
github.com/docker/distribution v2.8.3+incompatible
8-
github.com/docker/docker v24.0.7+incompatible
8+
github.com/docker/docker v25.0.3+incompatible
99
github.com/docker/go-connections v0.4.0
1010
github.com/go-imports-organizer/goio v1.3.3
1111
github.com/moby/buildkit v0.12.4
@@ -33,7 +33,9 @@ require (
3333
github.com/distribution/reference v0.5.0 // indirect
3434
github.com/docker/docker-credential-helpers v0.8.0 // indirect
3535
github.com/docker/go-units v0.5.0 // indirect
36+
github.com/felixge/httpsnoop v1.0.3 // indirect
3637
github.com/go-logr/logr v1.3.0 // indirect
38+
github.com/go-logr/stdr v1.2.2 // indirect
3739
github.com/gogo/protobuf v1.3.2 // indirect
3840
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
3941
github.com/golang/protobuf v1.5.3 // indirect
@@ -69,6 +71,10 @@ require (
6971
github.com/ulikunitz/xz v0.5.11 // indirect
7072
github.com/vbatts/tar-split v0.11.5 // indirect
7173
go.opencensus.io v0.24.0 // indirect
74+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect
75+
go.opentelemetry.io/otel v1.19.0 // indirect
76+
go.opentelemetry.io/otel/metric v1.19.0 // indirect
77+
go.opentelemetry.io/otel/trace v1.19.0 // indirect
7278
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
7379
golang.org/x/mod v0.13.0 // indirect
7480
golang.org/x/sync v0.5.0 // indirect

go.sum

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5
1212
github.com/Microsoft/hcsshim v0.12.0-rc.1 h1:Hy+xzYujv7urO5wrgcG58SPMOXNLrj4WCJbySs2XX/A=
1313
github.com/Microsoft/hcsshim v0.12.0-rc.1/go.mod h1:Y1a1S0QlYp1mBpyvGiuEdOfZqnao+0uX5AWHXQ5NhZU=
1414
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
15+
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
1516
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
1617
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
1718
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
@@ -20,6 +21,7 @@ github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKk
2021
github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE=
2122
github.com/containerd/containerd v1.7.11 h1:lfGKw3eU35sjV0aG2eYZTiwFEY1pCzxdzicHP3SZILw=
2223
github.com/containerd/containerd v1.7.11/go.mod h1:5UluHxHTX2rdvYuZ5OJTC5m/KJNs0Zs9wVoJm9zf5ZE=
24+
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
2325
github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU=
2426
github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk=
2527
github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4=
@@ -45,8 +47,8 @@ github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5
4547
github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg=
4648
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
4749
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
48-
github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM=
49-
github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
50+
github.com/docker/docker v25.0.3+incompatible h1:D5fy/lYmY7bvZa0XTZ5/UJPljor41F+vdyJG5luQLfQ=
51+
github.com/docker/docker v25.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
5052
github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8=
5153
github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40=
5254
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
@@ -58,10 +60,15 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
5860
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
5961
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
6062
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
63+
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
64+
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
6165
github.com/go-imports-organizer/goio v1.3.3 h1:JNhCzgh8ti8YvzQ3R6JwAjM+0c3rKrpndcxbJ6OOSmM=
6266
github.com/go-imports-organizer/goio v1.3.3/go.mod h1:CgKd4H6yUHNGhSdxNou67Zi3SIjE7mwDTApEwRnC4jg=
67+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
6368
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
6469
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
70+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
71+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
6572
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
6673
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
6774
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
@@ -100,6 +107,7 @@ github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
100107
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
101108
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
102109
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
110+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
103111
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
104112
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
105113
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -192,6 +200,18 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
192200
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
193201
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
194202
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
203+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg=
204+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q=
205+
go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
206+
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
207+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U=
208+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg=
209+
go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
210+
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
211+
go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
212+
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
213+
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
214+
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
195215
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
196216
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
197217
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -256,6 +276,8 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
256276
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
257277
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
258278
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
279+
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb h1:XFBgcDwm7irdHTbz4Zk2h7Mh+eis4nfJEFQFYzJzuIA=
280+
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
259281
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 h1:N3bU/SQDCDyD6R528GJ/PwW9KjYcJA3dgyH+MovAkIM=
260282
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA=
261283
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=

pkg/docker/docker.go

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
dockertypes "github.com/docker/docker/api/types"
2323
dockercontainer "github.com/docker/docker/api/types/container"
2424
dockernetwork "github.com/docker/docker/api/types/network"
25+
"github.com/docker/docker/api/types/registry"
2526
dockerapi "github.com/docker/docker/client"
2627
dockermessage "github.com/docker/docker/pkg/jsonmessage"
2728
dockerstdcopy "github.com/docker/docker/pkg/stdcopy"
@@ -140,7 +141,7 @@ type Client interface {
140141

141142
type stiDocker struct {
142143
client Client
143-
pullAuth dockertypes.AuthConfig
144+
pullAuth registry.AuthConfig
144145
}
145146

146147
// InspectImage returns the image information and its raw representation.
@@ -238,12 +239,19 @@ func (rco RunContainerOptions) asDockerHostConfig() dockercontainer.HostConfig {
238239
return hostConfig
239240
}
240241

242+
type configWrapper struct {
243+
*dockercontainer.Config
244+
Name string
245+
HostConfig *dockercontainer.HostConfig
246+
NetworkingConfig *dockernetwork.NetworkingConfig
247+
}
248+
241249
// asDockerCreateContainerOptions converts a RunContainerOptions into a
242250
// ContainerCreateConfig understood by the docker client
243-
func (rco RunContainerOptions) asDockerCreateContainerOptions() dockertypes.ContainerCreateConfig {
251+
func (rco RunContainerOptions) asDockerCreateContainerOptions() configWrapper {
244252
config := rco.asDockerConfig()
245253
hostConfig := rco.asDockerHostConfig()
246-
return dockertypes.ContainerCreateConfig{
254+
return configWrapper{
247255
Name: containerName(rco.Image),
248256
Config: &config,
249257
HostConfig: &hostConfig,
@@ -310,14 +318,24 @@ func NewEngineAPIClient(config *api.DockerConfig) (*dockerapi.Client, error) {
310318
},
311319
}
312320
}
313-
return dockerapi.NewClient(config.Endpoint, os.Getenv("DOCKER_API_VERSION"), httpClient, nil)
321+
// Create a new docker client with the provided host endpoint and HTTP Client.
322+
// By default, this client will negotiate the Docker API version to use with the backend engine on the first request.
323+
// The API version to use can be fixed by setting the DOCKER_API_VERSION environment variable.
324+
// See https://pkg.go.dev/github.com/docker/docker/client#WithAPIVersionNegotiation and
325+
// https://pkg.go.dev/github.com/docker/docker/client#WithVersionFromEnv for more information
326+
return dockerapi.NewClientWithOpts(
327+
dockerapi.WithHost(config.Endpoint),
328+
dockerapi.WithHTTPClient(httpClient),
329+
dockerapi.WithAPIVersionNegotiation(),
330+
dockerapi.WithVersionFromEnv(),
331+
)
314332
}
315333

316334
// New creates a new implementation of the STI Docker interface
317335
func New(client Client, auth api.AuthConfig) Docker {
318336
return &stiDocker{
319337
client: client,
320-
pullAuth: dockertypes.AuthConfig{
338+
pullAuth: registry.AuthConfig{
321339
Username: auth.Username,
322340
Password: auth.Password,
323341
Email: auth.Email,
@@ -510,7 +528,7 @@ func (d *stiDocker) CheckImage(name string) (*api.Image, error) {
510528
return nil, nil
511529
}
512530

513-
func base64EncodeAuth(auth dockertypes.AuthConfig) (string, error) {
531+
func base64EncodeAuth(auth registry.AuthConfig) (string, error) {
514532
var buf bytes.Buffer
515533
if err := json.NewEncoder(&buf).Encode(auth); err != nil {
516534
return "", err

pkg/docker/docker_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
dockertypes "github.com/docker/docker/api/types"
1414
dockercontainer "github.com/docker/docker/api/types/container"
15+
"github.com/docker/docker/api/types/registry"
1516
dockerstrslice "github.com/docker/docker/api/types/strslice"
1617

1718
"github.com/openshift/source-to-image/pkg/api/constants"
@@ -31,7 +32,7 @@ func TestContainerName(t *testing.T) {
3132
func getDocker(client Client) *stiDocker {
3233
return &stiDocker{
3334
client: client,
34-
pullAuth: dockertypes.AuthConfig{},
35+
pullAuth: registry.AuthConfig{},
3536
}
3637
}
3738

0 commit comments

Comments
 (0)