From 56e2ad9ee59462f535532582cf2d13b701f31eea Mon Sep 17 00:00:00 2001 From: Wes Higbee Date: Mon, 4 Dec 2023 10:12:20 -0600 Subject: [PATCH] update to v1.25 for RunAttach Signed-off-by: Wes Higbee --- go.mod | 7 +++++-- go.sum | 10 ++++++++++ pkg/compose/create.go | 16 +++++++++------- pkg/compose/events.go | 2 +- pkg/compose/exec.go | 3 +-- pkg/compose/run.go | 2 +- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 435fa21db..a4e288aff 100644 --- a/go.mod +++ b/go.mod @@ -12,9 +12,9 @@ require ( github.com/davecgh/go-spew v1.1.1 github.com/distribution/reference v0.5.0 github.com/docker/buildx v0.12.0 - github.com/docker/cli v24.0.7+incompatible + github.com/docker/cli v25.0.0-beta.1+incompatible github.com/docker/cli-docs-tool v0.6.0 - github.com/docker/docker v24.0.7+incompatible + github.com/docker/docker v25.0.0-beta.1+incompatible github.com/docker/go-connections v0.4.0 github.com/docker/go-units v0.5.0 github.com/fsnotify/fsevents v0.1.1 @@ -52,6 +52,7 @@ require ( ) require ( + dario.cat/mergo v1.0.0 // indirect github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Masterminds/semver/v3 v3.2.1 // indirect @@ -118,6 +119,7 @@ require ( github.com/moby/sys/sequential v0.5.0 // indirect github.com/moby/sys/signal v0.7.0 // indirect github.com/moby/sys/symlink v0.2.0 // indirect + github.com/moby/sys/user v0.1.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -171,4 +173,5 @@ require ( sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect + tags.cncf.io/container-device-interface v0.6.2 // indirect ) diff --git a/go.sum b/go.sum index 2e336da60..9c2058abb 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= @@ -168,6 +170,8 @@ github.com/docker/buildx v0.12.0 h1:pI4jr4SeH9oHa0SmMvH/lz+Rdqkg+dRa9H/1VXbYgws= github.com/docker/buildx v0.12.0/go.mod h1:SBLnQH9q+77aVvpvS5LLIly9+nHVlwscl5GEegGMD5g= github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg= github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v25.0.0-beta.1+incompatible h1:bJzIgR4mKNpceAwwi19SqZK0AbztMc3nQTgnvxxyY/A= +github.com/docker/cli v25.0.0-beta.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli-docs-tool v0.6.0 h1:Z9x10SaZgFaB6jHgz3OWooynhSa40CsWkpe5hEnG/qA= github.com/docker/cli-docs-tool v0.6.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= @@ -175,6 +179,8 @@ github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m3 github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v25.0.0-beta.1+incompatible h1:NiDFwGzVt+mR9Jb5oC4+cd8lE9Zs86TXhCQg0zGk/sk= +github.com/docker/docker v25.0.0-beta.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= @@ -436,6 +442,8 @@ github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= +github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -994,3 +1002,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kF sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +tags.cncf.io/container-device-interface v0.6.2 h1:dThE6dtp/93ZDGhqaED2Pu374SOeUkBfuvkLuiTdwzg= +tags.cncf.io/container-device-interface v0.6.2/go.mod h1:Shusyhjs1A5Na/kqPVLL0KqnHQHuunol9LFeUNkuGVE= diff --git a/pkg/compose/create.go b/pkg/compose/create.go index 2d88d66b1..f430c5be8 100644 --- a/pkg/compose/create.go +++ b/pkg/compose/create.go @@ -427,7 +427,7 @@ func getRestartPolicy(service types.ServiceConfig) container.RestartPolicy { attempts, _ = strconv.Atoi(split[1]) } restart = container.RestartPolicy{ - Name: split[0], + Name: mapRestartPolicyCondition(split[0]), MaximumRetryCount: attempts, } } @@ -445,17 +445,19 @@ func getRestartPolicy(service types.ServiceConfig) container.RestartPolicy { return restart } -func mapRestartPolicyCondition(condition string) string { +func mapRestartPolicyCondition(condition string) container.RestartPolicyMode { // map definitions of deploy.restart_policy to engine definitions switch condition { case "none", "no": - return "no" - case "on-failure", "unless-stopped": - return condition + return types.RestartPolicyNo + case "on-failure": + return types.RestartPolicyOnFailure + case "unless-stopped": + return types.RestartPolicyUnlessStopped case "any", "always": - return "always" + return types.RestartPolicyAlways default: - return condition + return types.RestartPolicyNo } } diff --git a/pkg/compose/events.go b/pkg/compose/events.go index e664133be..7e78d0292 100644 --- a/pkg/compose/events.go +++ b/pkg/compose/events.go @@ -67,7 +67,7 @@ func (s *composeService) Events(ctx context.Context, projectName string, options Timestamp: timestamp, Service: service, Container: event.Actor.ID, - Status: event.Action, + Status: string(event.Action), Attributes: attributes, }) if err != nil { diff --git a/pkg/compose/exec.go b/pkg/compose/exec.go index 62b9d31c9..cade07514 100644 --- a/pkg/compose/exec.go +++ b/pkg/compose/exec.go @@ -41,7 +41,6 @@ func (s *composeService) Exec(ctx context.Context, projectName string, options a exec.User = options.User exec.Privileged = options.Privileged exec.Workdir = options.WorkingDir - exec.Container = target.ID exec.Command = options.Command for _, v := range options.Environment { err := exec.Env.Set(v) @@ -50,7 +49,7 @@ func (s *composeService) Exec(ctx context.Context, projectName string, options a } } - err = container.RunExec(s.dockerCli, exec) + err = container.RunExec(ctx, s.dockerCli, target.ID, exec) var sterr cli.StatusError if errors.As(err, &sterr) { return sterr.StatusCode, nil diff --git a/pkg/compose/run.go b/pkg/compose/run.go index 481032ef5..05c5c2ba1 100644 --- a/pkg/compose/run.go +++ b/pkg/compose/run.go @@ -42,7 +42,7 @@ func (s *composeService) RunOneOffContainer(ctx context.Context, project *types. sigc := make(chan os.Signal, 128) signal.Notify(sigc) - go cmd.ForwardAllSignals(ctx, s.dockerCli, containerID, sigc) + go cmd.ForwardAllSignals(ctx, s.apiClient(), containerID, sigc) defer signal.Stop(sigc) err = cmd.RunStart(s.dockerCli, &cmd.StartOptions{