Skip to content

Commit 5d16f12

Browse files
authored
chore: upgrade the rest of the dependencies, change pinned dependencies (#9886)
* chore: pin some dependencies (and remove some other pins) * chore: go get -u ./... * chore: go mod tidy * chore: go mod vendor * chore: changes required because of docker API incompatibilities
1 parent 5671611 commit 5d16f12

File tree

1,613 files changed

+145240
-65838
lines changed

Some content is hidden

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

1,613 files changed

+145240
-65838
lines changed

go.mod

Lines changed: 124 additions & 100 deletions
Large diffs are not rendered by default.

go.sum

Lines changed: 1678 additions & 256 deletions
Large diffs are not rendered by default.

pkg/skaffold/actions/docker/task.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,9 @@ func (t Task) containerName(ctx context.Context, name string) string {
196196
}
197197

198198
func (t Task) containerConfigFromImage(ctx context.Context) (*container.Config, error) {
199-
config, _, err := t.client.ImageInspectWithRaw(ctx, t.artifact.Tag)
199+
ociConfig, _, err := t.client.ImageInspectWithRaw(ctx, t.artifact.Tag)
200200
if err != nil {
201201
return nil, err
202202
}
203-
config.Config.Image = t.artifact.Tag // the client replaces this with an image ID. put back the originally provided tagged image
204-
return config.Config, err
203+
return dockerutil.OCIImageConfigToContainerConfig(t.artifact.Tag, ociConfig.Config), nil
205204
}

pkg/skaffold/build/local/local_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ import (
2525
"testing"
2626
"time"
2727

28-
"github.com/docker/docker/api/types"
29-
"github.com/docker/docker/api/types/container"
28+
"github.com/docker/docker/api/types/image"
3029
"github.com/docker/docker/api/types/registry"
3130
"github.com/docker/docker/client"
31+
dockerspec "github.com/moby/docker-image-spec/specs-go/v1"
3232

3333
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/build"
3434
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/build/bazel"
@@ -575,10 +575,10 @@ type fakeDockerDaemon struct {
575575
mu sync.Mutex
576576
}
577577

578-
func (fd *fakeDockerDaemon) ImageInspectWithRaw(_ context.Context, image string) (types.ImageInspect, []byte, error) {
579-
imageID := fd.ImageIds[image]
580-
return types.ImageInspect{
581-
Config: &container.Config{},
578+
func (fd *fakeDockerDaemon) ImageInspectWithRaw(_ context.Context, img string) (image.InspectResponse, []byte, error) {
579+
imageID := fd.ImageIds[img]
580+
return image.InspectResponse{
581+
Config: &dockerspec.DockerOCIImageConfig{},
582582
ID: imageID,
583583
}, []byte{}, nil
584584
}

pkg/skaffold/deploy/docker/deploy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -318,15 +318,15 @@ func (d *Deployer) createMount(v volume.Volume, labels map[string]string) mount.
318318
}
319319

320320
func (d *Deployer) containerConfigFromImage(ctx context.Context, taggedImage string) (*container.Config, error) {
321-
config, _, err := d.client.ImageInspectWithRaw(ctx, taggedImage)
321+
ociConfig, _, err := d.client.ImageInspectWithRaw(ctx, taggedImage)
322322
if err != nil {
323323
return nil, err
324324
}
325325

326-
config.Config.Labels = d.labeller.Labels()
327-
config.Config.Image = taggedImage // the client replaces this with an image ID. put back the originally provided tagged image
326+
config := dockerutil.OCIImageConfigToContainerConfig(taggedImage, ociConfig.Config)
327+
config.Labels = d.labeller.Labels()
328328

329-
return config.Config, err
329+
return config, nil
330330
}
331331

332332
func (d *Deployer) getContainerName(ctx context.Context, name string) string {

pkg/skaffold/docker/client.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,11 @@ import (
2929
"sync"
3030

3131
"github.com/docker/cli/cli/connhelper"
32+
"github.com/docker/docker/api/types/container"
3233
"github.com/docker/docker/client"
34+
"github.com/docker/go-connections/nat"
3335
"github.com/docker/go-connections/tlsconfig"
36+
dockerspec "github.com/moby/docker-image-spec/specs-go/v1"
3437

3538
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/cluster"
3639
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/config"
@@ -250,3 +253,31 @@ func getMinikubeDockerEnv(ctx context.Context, minikubeProfile string) (map[stri
250253

251254
return env, nil
252255
}
256+
257+
// This was copied from api/server/router/image/image_routes.go, since it's not
258+
// exported. The ImageInspect API now returns a dockerspec.DockerOCIImageConfig,
259+
// whereas before it used to return a container.Config, so we need to convert it
260+
// before using it to call ContainerCreate.
261+
func OCIImageConfigToContainerConfig(img string, cfg *dockerspec.DockerOCIImageConfig) *container.Config {
262+
exposedPorts := make(nat.PortSet, len(cfg.ExposedPorts))
263+
for k, v := range cfg.ExposedPorts {
264+
exposedPorts[nat.Port(k)] = v
265+
}
266+
267+
return &container.Config{
268+
Image: img,
269+
Entrypoint: cfg.Entrypoint,
270+
Env: cfg.Env,
271+
Cmd: cfg.Cmd,
272+
User: cfg.User,
273+
WorkingDir: cfg.WorkingDir,
274+
ExposedPorts: exposedPorts,
275+
Volumes: cfg.Volumes,
276+
Labels: cfg.Labels,
277+
ArgsEscaped: cfg.ArgsEscaped, //nolint:staticcheck // Ignore SA1019. Need to keep it in image.
278+
StopSignal: cfg.StopSignal,
279+
Healthcheck: cfg.Healthcheck,
280+
OnBuild: cfg.OnBuild,
281+
Shell: cfg.Shell,
282+
}
283+
}

pkg/skaffold/docker/image.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ type LocalDaemon interface {
9797
Tag(ctx context.Context, image, ref string) error
9898
TagWithImageID(ctx context.Context, ref string, imageID string) (string, error)
9999
ImageID(ctx context.Context, ref string) (string, error)
100-
ImageInspectWithRaw(ctx context.Context, image string) (types.ImageInspect, []byte, error)
100+
ImageInspectWithRaw(ctx context.Context, image string) (image.InspectResponse, []byte, error)
101101
ImageRemove(ctx context.Context, image string, opts image.RemoveOptions) ([]image.DeleteResponse, error)
102102
ImageExists(ctx context.Context, ref string) bool
103103
ImageList(ctx context.Context, ref string) ([]image.Summary, error)
@@ -530,7 +530,7 @@ func (l *localDaemon) Pull(ctx context.Context, out io.Writer, ref string, platf
530530

531531
// Load loads an image from a tar file. Returns the imageID for the loaded image.
532532
func (l *localDaemon) Load(ctx context.Context, out io.Writer, input io.Reader, ref string) (string, error) {
533-
resp, err := l.apiClient.ImageLoad(ctx, input, false)
533+
resp, err := l.apiClient.ImageLoad(ctx, input)
534534
if err != nil {
535535
return "", fmt.Errorf("loading image into docker daemon: %w", err)
536536
}

pkg/skaffold/verify/docker/verify.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,12 +299,11 @@ func (v *Verifier) createAndRunContainer(ctx context.Context, out io.Writer, art
299299
}
300300

301301
func (v *Verifier) containerConfigFromImage(ctx context.Context, taggedImage string) (*container.Config, error) {
302-
config, _, err := v.client.ImageInspectWithRaw(ctx, taggedImage)
302+
ociConfig, _, err := v.client.ImageInspectWithRaw(ctx, taggedImage)
303303
if err != nil {
304304
return nil, err
305305
}
306-
config.Config.Image = taggedImage // the client replaces this with an image ID. put back the originally provided tagged image
307-
return config.Config, err
306+
return dockerutil.OCIImageConfigToContainerConfig(taggedImage, ociConfig.Config), nil
308307
}
309308

310309
func (v *Verifier) getContainerName(ctx context.Context, imageName string, containerName string) string {

pkg/skaffold/verify/docker/verify_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/docker/docker/api/types"
2525
"github.com/docker/docker/api/types/container"
2626
v1 "github.com/google/go-containerregistry/pkg/v1"
27+
dockerspec "github.com/moby/docker-image-spec/specs-go/v1"
2728

2829
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/deploy/label"
2930
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/docker"
@@ -65,7 +66,7 @@ func (fd *fakeDockerDaemon) Run(ctx context.Context, out io.Writer, opts docker.
6566

6667
func (fd *fakeDockerDaemon) ImageInspectWithRaw(ctx context.Context, image string) (types.ImageInspect, []byte, error) {
6768
return types.ImageInspect{
68-
Config: &container.Config{},
69+
Config: &dockerspec.DockerOCIImageConfig{},
6970
}, []byte{}, nil
7071
}
7172

testutil/fake_image_api.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import (
3636
"github.com/google/go-containerregistry/pkg/name"
3737
"github.com/google/go-containerregistry/pkg/v1/random"
3838
"github.com/google/go-containerregistry/pkg/v1/tarball"
39+
dockerspec "github.com/moby/docker-image-spec/specs-go/v1"
3940
"github.com/opencontainers/go-digest"
4041
v1 "github.com/opencontainers/image-spec/specs-go/v1"
4142
)
@@ -158,6 +159,12 @@ func (f *FakeAPIClient) ImageRemove(_ context.Context, _ string, _ image.RemoveO
158159
return []image.DeleteResponse{}, nil
159160
}
160161

162+
func (fd *FakeAPIClient) ImageInspect(ctx context.Context, _ string, opts ...client.ImageInspectOption) (image.InspectResponse, error) {
163+
return image.InspectResponse{
164+
Config: &dockerspec.DockerOCIImageConfig{},
165+
}, nil
166+
}
167+
161168
func (f *FakeAPIClient) ImageInspectWithRaw(_ context.Context, refOrID string) (types.ImageInspect, []byte, error) {
162169
if f.ErrImageInspect {
163170
return types.ImageInspect{}, nil, fmt.Errorf("")
@@ -258,17 +265,17 @@ func (f *FakeAPIClient) Info(context.Context) (system.Info, error) {
258265
}, nil
259266
}
260267

261-
func (f *FakeAPIClient) ImageLoad(ctx context.Context, input io.Reader, quiet bool) (types.ImageLoadResponse, error) {
268+
func (f *FakeAPIClient) ImageLoad(ctx context.Context, input io.Reader, _ ...client.ImageLoadOption) (image.LoadResponse, error) {
262269
ref, err := ReadRefFromFakeTar(input)
263270
if err != nil {
264-
return types.ImageLoadResponse{}, fmt.Errorf("reading tar")
271+
return image.LoadResponse{}, fmt.Errorf("reading tar")
265272
}
266273

267274
next := atomic.AddInt32(&f.nextImageID, 1)
268275
imageID := fmt.Sprintf("sha256:%d", next)
269276
f.Add(ref, imageID)
270277

271-
return types.ImageLoadResponse{
278+
return image.LoadResponse{
272279
Body: f.body(imageID),
273280
}, nil
274281
}
@@ -289,7 +296,7 @@ func (f *FakeAPIClient) ImageList(ctx context.Context, ops image.ListOptions) ([
289296
return rt, nil
290297
}
291298

292-
func (f *FakeAPIClient) ImageHistory(ctx context.Context, image string) ([]image.HistoryResponseItem, error) {
299+
func (f *FakeAPIClient) ImageHistory(ctx context.Context, image string, _ ...client.ImageHistoryOption) ([]image.HistoryResponseItem, error) {
293300
return nil, nil
294301
}
295302

0 commit comments

Comments
 (0)