Commit Graph

10192 Commits

Author SHA1 Message Date
Sebastiaan van Stijn cfe6090d5d
cli/command/container: fix missing go:build tag
make shell
    make -C ./internal/gocompat/

    GO111MODULE=on go test -v
    # github.com/docker/cli/cli/command/container
    ../../cli/command/container/completion.go:37:28: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod)
    ../../cli/command/container/completion.go:82:25: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod)
    ../../cli/command/container/completion.go:92:27: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod)
    FAIL	gocompat [build failed]

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit d1d5353269)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-15 11:10:46 +01:00
Sebastiaan van Stijn 3df40364f6
update go:build tags to use go1.22
commit 4a7b04d412 configured golangci-lint
to use go1.23 semantics, which enabled the copyloopvar linter.

go1.22 now creates a copy of variables when assigned in a loop; make sure we
don't have files that may downgrade semantics to go1.21 in case that also means
disabling that feature; https://go.dev/ref/spec#Go_1.22

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7c80e4f938)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-15 11:10:35 +01:00
Paweł Gronowski c5d93f53a7
Merge pull request #5619 from thaJeztah/27.x_bump_moby_27.4.0-rc.1
[27.x] vendor: github.com/docker/docker v27.4.0-rc.1
2024-11-15 09:25:00 +00:00
Sebastiaan van Stijn a4dc3d78e5
vendor: github.com/docker/docker v27.4.0-rc.1
no diff, as it's the same commit, but tagged:

https://github.com/docker/docker/compare/5765e9f35b00...v27.4.0-rc.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 23:14:39 +01:00
Sebastiaan van Stijn 75876b4e20
Merge pull request #5618 from thaJeztah/27.x_backport_container_completions
[27.x backport] Improve Cobra completions for run and create
2024-11-14 18:25:35 +01:00
Sebastiaan van Stijn 69bc2b1f0c
Merge pull request #5545 from thaJeztah/27.x_vendor_moby
[27.x] vendor: github.com/docker/docker 5765e9f35b00 (v27.4-dev)
2024-11-14 18:25:03 +01:00
Harald Albers 955e003345
Handle null completions with a default callback
Credits to thaJeztah

Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 06260e68f3)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:55 +01:00
Harald Albers ce77f4a545
Add completion for `--volume-driver`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 4525fe37b4)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:54 +01:00
Harald Albers e20bcf3565
Add completion for `--cgroupns`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit db0ed1e216)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:54 +01:00
Harald Albers 78544cd587
Add completion for `--uts`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 2915749279)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:54 +01:00
Harald Albers d11291966d
Add completion for --log-driver` and --log-opt`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 3a2503fa43)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:54 +01:00
Harald Albers 25ff89519f
Add completion for `--security-opt`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 9a9ae231a9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:54 +01:00
Harald Albers 83303411ee
Add completion for `--detach-keys`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 5f7c43e5e6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:53 +01:00
Harald Albers e25548d1c6
Add completion for `--userns`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 3292afe6e6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:53 +01:00
Harald Albers 99e60c4e39
Add completion for `--ulimit`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 5d709a8d9f)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:53 +01:00
Harald Albers 6d087eb91b
Add completion for `--storage-opt`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 2d89339b34)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:53 +01:00
Harald Albers 83f79c3e86
Add completion for `--pid`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit ac7bde6f64)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:04:48 +01:00
Harald Albers 6f439ea4a4
Add completion for `--link`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e513454244)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:00:47 +01:00
Harald Albers 7e35be13ea
Add completion for `--ipc`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit c555327f0b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:00:47 +01:00
Harald Albers f9ccc50304
Add completion for `--attach`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit b598ec8cdb)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:00:47 +01:00
Harald Albers 38e37778b0
Share the container completions
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 761d76750c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 17:00:47 +01:00
Sebastiaan van Stijn 49b6551e97
[27.x] vendor: github.com/docker/docker 5765e9f35b00 (v27.4-dev)
full diff: https://github.com/docker/docker/compare/v27.3.1...5765e9f35b0016dbd931efe9f23cb6bfc7b00bc3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 16:53:27 +01:00
Sebastiaan van Stijn fd53fe7f47
Merge pull request #5613 from thaJeztah/27.x_backport_bump_golangci_lint
[27.x backport] bump golangci-lint to v1.61.0 and cleanup config
2024-11-14 16:48:41 +01:00
Laura Brehm 929e861812
Merge pull request #5614 from thaJeztah/27.x_backport_completion-events--filter 2024-11-14 15:42:28 +00:00
Harald Albers 8caf347188
Add tests for completions that call the API
Some small adjustments for this branch due to some times being renamed
in master;

    63.76 cli/command/system/cmd.go:1: : # github.com/docker/cli/cli/command/system [github.com/docker/cli/cli/command/system.test]
    63.76 cli/command/system/client_test.go:22:79: undefined: container.Summary
    63.76 cli/command/system/client_test.go:38:103: undefined: container.Summary
    63.76 cli/command/system/client_test.go:42:21: undefined: container.Summary
    63.76 cli/command/system/completion_test.go:30:86: undefined: container.Summary
    63.76 cli/command/system/completion_test.go:31:25: undefined: container.Summary
    63.76 cli/command/system/completion_test.go:42:86: undefined: container.Summary (typecheck)

Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit e1c5180dba)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 14:55:02 +01:00
Harald Albers 9e7d01bfb3
Add completion for `events --filter`
Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit d4f4cf1418)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 14:53:54 +01:00
Sebastiaan van Stijn 8be6bec27d
Merge pull request #5611 from thaJeztah/27.x_backport_login_minor_refactor
[27.x backport] cli/command: PromptUserForCredentials: assorted minor improvements and (linting) fixes
2024-11-14 14:51:17 +01:00
Sebastiaan van Stijn d515955b62
Merge pull request #5616 from thaJeztah/27.x_backport_bump_compose_buildx
[27.x backport] Dockerfile: update buildx to v0.18.0, compose to v2.30.3
2024-11-14 14:42:31 +01:00
Sebastiaan van Stijn d5b327258f
Merge pull request #5612 from thaJeztah/27.x_backport_docs
[27.x backport] assorted docs updates
2024-11-14 10:42:14 +01:00
Sebastiaan van Stijn 9128f7b2d5
Dockerfile: update compose to v2.30.3
Update the compose cli plugin used in the dev-container

full diff: https://github.com/docker/compose/compare/v2.29.7...v2.30.3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 3dd7621240)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 10:37:44 +01:00
Sebastiaan van Stijn 0529d64f7f
Dockerfile: update buildx to v0.18.0
Update the buildx cli plugin used in the dev-container

full diff: https://github.com/docker/buildx/compare/0.17.1..0.18.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 4242cda826)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 10:37:44 +01:00
Sebastiaan van Stijn 2958a27e0f
Merge pull request #5610 from thaJeztah/27.x_backport_moby_deps
[27.x backport] dependency updates for moby/moby
2024-11-14 10:27:53 +01:00
Sebastiaan van Stijn 8fe93724a3
bump golangci-lint to v1.61.0
Also updating a linter that was deprecated;

    The linter 'exportloopref' is deprecated (since v1.60.2) due to: Since Go1.22 (loopvar) this linter is no longer relevant. Replaced by copyloopvar.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 9af049c618)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 09:44:37 +01:00
Sebastiaan van Stijn df7113d7eb
[27.x] cli: fix non-constant format string in call to errors.Errorf (govet)
cli/required.go:17:24: printf: non-constant format string in call to github.com/docker/cli/vendor/github.com/pkg/errors.Errorf (govet)
     		return errors.Errorf("\n" + strings.TrimRight(cmd.UsageString(), "\n"))
     		                     ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-14 09:42:49 +01:00
Sebastiaan van Stijn 35122a0692
golangci-lint: update comment, and disable "exclude-dirs-use-default"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 745629bd55)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:40:37 +01:00
Sebastiaan van Stijn 1890ea0762
golangci-lint: move gosec excludes to linters-settings
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7451339ab0)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:40:37 +01:00
Sebastiaan van Stijn 7a906196ed
golangci-lint: enable G204, add #nosec comments instead
There's only 3 locations where it's hit, so putting #gosec ignore comments
in those locations.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 020f3a7ad9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:40:37 +01:00
David Karlsson 2734299993
docs: update example redis tags from 3.0.x to 7.4.x
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
(cherry picked from commit 172f340112)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:37:40 +01:00
Noah Silas 9d5a2a6b66
docs: Correct `run` exit code 126 description
The command to run inside the container is `/etc`. The semicolon is a
statement terminator, which ends the command `docker run busybox /etc`,
while `echo $?` prints the exit code of that full docker command.

Having this mistake could confuse someone who thinks that `/etc; echo
$?` is all run inside the container, which wouldn't help the reader
understand the exit code of the `docker run` command itself.

Signed-off-by: Noah Silas <noah@hustle.com>
(cherry picked from commit 0c999fe95b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:37:10 +01:00
Paul Rogalski 0dd07f0bfd
docs: Link supported Go duration strings
Signed-off-by: Paul Rogalski <mail@paul-rogalski.de>
(cherry picked from commit c70b2165a9)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:36:58 +01:00
Sebastiaan van Stijn 168a4bdc05
cli/command: PromptUserForCredentials: suppress unhandled errors
Keep the linters (and my IDE) happy; these errors should be safe to ignore.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 4b7a1e4613)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn ddeb7eb4ed
cli/command: PromptUserForCredentials: use consts for all hints
This message resulted in code-lines that were too long; move it to a
const together with the other hint. While at it, also suppress unhandled
error, and touch-up the code-comment.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 378a3d7d36)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn da3a1c3027
cli/command: PromptUserForCredentials: print error on terminal restore fail
If restoring the terminal state fails, "echo" no longer works, which means
that anything the user types is no longer shown. The login itself may already
have succeeded, so we should not fail the command, but it's good to inform
the user that this happened, which may give them a clue why things no longer
work as they expect them to work.

With this patch:

    docker login -u yourname
    Password:
    Error: failed to restore terminal state to echo input: something bad happened

    Login Succeeded

We should consider printing instructions how  to restore this manually (other
than restarting the shell). e.g., 'run stty echo' when in a Linux or macOS shell,
but PowerShell and CMD.exe may need different instructions.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 3d8b49523d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn 1377310110
cli/command: PromptUserForCredentials: always trim password
we don't support empty passwords; when prompting the user for a password,
we already trim the result, but we didn't do the same for a password that's
passed through stdin or through the `-p` / `--password` flag.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit a21a5f4243)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn 78dbcca264
cli/command: PromptUserForCredentials: move trimming where it's used
- move trimming defaultUsername inside the if-branch, as it's the only
  location where the result of the trimmed username is use.
- do the reverse for trimming argUser, because the result of trimming
  argUser is used outside of the if-branch (not just for the condition).
  putting it inside the condition makes it easy to assume the result is
  only used locally.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit eda78e9cdc)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn 97c25b7574
cli/command: PromptUserForCredentials: move "post" check for empty name
move the "post" check for username being empty inside the branch
that's handling the username, as it's the only branch where username
is mutated after checking if it's empty.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 581cf36bd4)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:41 +01:00
Sebastiaan van Stijn 05455f8505
cli/command: PromptUserForCredentials: inline isDefaultRegistry
remove isDefaultRegistry and inline it where it's used; the code-comment
already outlines what we're looking for, so the intermediate var didn't
add much currently.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit a55cfe5f82)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:40 +01:00
Sebastiaan van Stijn d23ab524c3
cli/command: PromptUserForCredentials: remove named output variables
This function has multiple conditional branches, which makes it harder
to see at a glance whether authConfig may be partially populated. This
patch instead returns a fresh instance for error returns to prevent any
confusion.

It also removes the named output variables, as they're now no longer used,
and the returned types should already be descriptive enough to understand
what's returned.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 3a8485085d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:32:40 +01:00
Sebastiaan van Stijn 46844b4f1d
vendor: github.com/klauspost/compress v1.17.11
full diff: https://github.com/klauspost/compress/compare/v1.17.9...v1.17.11

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit e3942d46a0)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:01:16 +01:00
Sebastiaan van Stijn 3f28d05292
vendor: google.golang.org/protobuf v1.35.1
full diff: https://github.com/protocolbuffers/protobuf-go/compare/v1.34.1...v1.35.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 1bba009944)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-11-13 23:00:49 +01:00