1
0
mirror of https://github.com/docker/cli.git synced 2026-01-13 18:22:35 +03:00
Commit Graph

10617 Commits

Author SHA1 Message Date
Sebastiaan van Stijn
aecc31039d Dockerfile: bump gotest.tools/gotestsum v1.12.0
full diff: https://github.com/gotestyourself/gotestsum/compare/v1.10.0...v1.12.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-09 16:36:17 +01:00
Sebastiaan van Stijn
bf65a46c2c Merge pull request #5803 from thaJeztah/build_tags
add //go:build directives to prevent downgrading to go1.16 language
v28.0.0-rc.1
2025-02-06 19:59:01 +01:00
Sebastiaan van Stijn
2815d2337b add //go:build directives to prevent downgrading to go1.16 language
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-06 19:52:03 +01:00
Paweł Gronowski
c962084462 Merge pull request #5754 from thaJeztah/bump_engine
vendor: github.com/docker/docker 6c3797923dcb (master, v28.0-dev)
2025-02-06 18:26:54 +00:00
Sebastiaan van Stijn
01da8a582f vendor: github.com/docker/docker 6c3797923dcb (master, v28.0-dev)
full diff: 6968719093...6c3797923d

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-06 19:16:50 +01:00
Paweł Gronowski
11999b16e4 Merge pull request #5778 from laurazard/add-cause-statuserr
Don't print "context canceled" if user terminated
2025-02-06 14:20:38 +00:00
Paweł Gronowski
eec977bbea Merge pull request #5800 from thaJeztah/bump_version
bump version to v28.0.0-dev
2025-02-06 13:30:15 +00:00
Laura Brehm
76e0088b5c minor cleanup
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2025-02-06 14:16:45 +01:00
Laura Brehm
85a77af591 Don't print "context canceled" if user terminated
Without breaking API compatibility, this patch allows us to know whether
a returned `cli/StatusError` was caused by a context cancellation or
not, which we can use to provide a nicer UX and not print the Go
"context canceled" error message if this is the cause.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2025-02-06 14:16:20 +01:00
Sebastiaan van Stijn
7e83ff7735 bump version to v28.0.0-dev
This file is only used as default if no version is specified. We
should probably get rid of this, but let's update it to better
reflect the version that developer builds are building.

d48fb9f9f7/docker.Makefile (L22)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-06 01:41:59 +01:00
Sebastiaan van Stijn
d48fb9f9f7 Merge pull request #5795 from vvoland/update-go
update to go1.23.6
2025-02-05 19:23:43 +01:00
Paweł Gronowski
eb6546b523 Merge pull request #5774 from Benehiko/improve-login-text
login: improve text on already authenticated and on OAuth login
2025-02-05 12:06:53 +00:00
Alano Terblanche
6d7afd48a4 login: improve text on already authenticated and on OAuth login
Users have trouble understanding the different login paths on the CLI.
The default login is performed through an OAuth flow with the option to
fallback to a username and PAT login using the docker login -u <username>
option.

This patch improves the text around docker login, indicating:
- The username is shown when already authenticated
- Steps the user can take to switch user accounts are printed when
  authenticated in an info.
- When not authenticated, the OAuth login flow explains the fallback
  clearly to the user in an info.
- The password prompt now explicitly states that it accepts a PAT in an
  info.

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>
2025-02-05 12:32:24 +01:00
Alano Terblanche
9005f36e6e Merge pull request #5760 from Benehiko/user-terminated-ctx-err
cmd/docker: add cause to user-terminated `context.Context`
2025-02-05 12:16:22 +01:00
Paweł Gronowski
1d9d349c19 update to go1.23.6
- https://github.com/golang/go/issues?q=milestone%3AGo1.23.6+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.23.5...go1.23.6

This minor release include 1 security fix following the security policy:

- crypto/elliptic: timing sidechannel for P-256 on ppc64le

  Due to the usage of a variable time instruction in the assembly implementation
  of an internal function, a small number of bits of secret scalars are leaked on
  the ppc64le architecture. Due to the way this function is used, we do not
  believe this leakage is enough to allow recovery of the private key when P-256
  is used in any well known protocols.

This is CVE-2025-22866 and Go issue https://go.dev/issue/71383.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.23.6

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-02-04 20:34:35 +01:00
Paweł Gronowski
dff0dc8afa Merge pull request #5790 from thaJeztah/leftover_cleanups
cli/command: some minor cleanups
2025-02-04 12:30:30 +00:00
Sebastiaan van Stijn
7c3fa8172b Merge pull request #5791 from thaJeztah/multi_errors
cli/command: use errors.Join instead of our own implementation
2025-02-04 12:23:11 +01:00
Paweł Gronowski
5b90e0e4e5 Merge pull request #5744 from vvoland/image-tree-chips
image/tree: Chips to represent "in use"
2025-02-04 09:23:24 +00:00
Sebastiaan van Stijn
81da375c4d cli/command/service: runScale: use errors.Join, and cleanup
- Use stdlib multi-errors instead of creating our own
- use apiClient instead of client for the API client to
  prevent shadowing imports.
- use dockerCLI with Go's standard camelCase casing.
- rewrite runServiceScale to return warnings, instead of printing them

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 20:35:48 +01:00
Sebastiaan van Stijn
09b513ecfd cli/command/service: runRollback: remove intermediate vars
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 20:31:52 +01:00
Sebastiaan van Stijn
aa96cb7aa0 cli/command/volume: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 20:31:52 +01:00
Sebastiaan van Stijn
be985bd28e cli/command/stack/swarm: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 20:31:45 +01:00
Sebastiaan van Stijn
f1193effc0 cli/command/service: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:36:59 +01:00
Sebastiaan van Stijn
f9e4335564 cli/command/secret: use errors.Join
- Use stdlib multi-errors instead of creating our own
- use apiClient instead of client for the API client to
  prevent shadowing imports.
- use dockerCLI with Go's standard camelCase casing.
- rename runSecretRemove to runRemove to align with other commands

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:33:58 +01:00
Sebastiaan van Stijn
2a9fd4a939 cli/command/node: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:30:56 +01:00
Sebastiaan van Stijn
f8729c6da2 cli/command/manifest: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:30:25 +01:00
Sebastiaan van Stijn
1fd9d0dd34 cli/command/manifest: pass manifest-store and handle context
- pass through the manifest-store, instead of the CLI as a whole
- handle context cancellation
- rename `runRm` to `runRemove` to align with other commands

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:27:59 +01:00
Sebastiaan van Stijn
f431f61568 cli/command/inspect: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:21:27 +01:00
Sebastiaan van Stijn
7147e85f63 cli/command/image: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:20:34 +01:00
Sebastiaan van Stijn
2b9a4d5f4c cli/command/context: use errors.Join
Use stdlib multi-errors instead of creating our own; also
touch-up one error and some minor cleanups.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:19:18 +01:00
Sebastiaan van Stijn
150f27b68c cli/command/container: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:17:50 +01:00
Sebastiaan van Stijn
791e06b435 cli/command/config: RunConfigRemove: use errors.Join
Use stdlib multi-errors instead of creating our own

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:16:28 +01:00
Sebastiaan van Stijn
632f179e8f cli/command/image: minor cleanups
- use apiClient instead of client for the API client to
  prevent shadowing imports.
- use dockerCLI with Go's standard camelCase casing.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:08:08 +01:00
Sebastiaan van Stijn
e81d76ffe1 cli/command/container: minor cleanups
- use apiClient instead of client for the API client to
  prevent shadowing imports.
- use dockerCLI with Go's standard camelCase casing.
- suppress some errors to make my IDE and linters happier

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:08:08 +01:00
Sebastiaan van Stijn
deaa601189 cli/command/config: minor cleanups
- use apiClient instead of client for the API client to
  prevent shadowing imports.
- use dockerCLI with Go's standard camelCase casing.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 19:08:08 +01:00
Sebastiaan van Stijn
ce30966636 Merge pull request #5785 from thaJeztah/checkpoint_test_keeprunning
TestCheckpointCreateWithOptions check both "keep-running=true/false"
2025-02-03 18:25:31 +01:00
Sebastiaan van Stijn
795b7d5f0a Merge pull request #5788 from thaJeztah/progress_clean
service/progress: ServiceProgress: avoid fuzzy matching service ID in loop
2025-02-03 18:24:52 +01:00
Paweł Gronowski
c950d48f72 image/tree: Chips to represent "in use"
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-02-03 18:24:32 +01:00
Sebastiaan van Stijn
919bd6aff3 Merge pull request #5779 from thaJeztah/fix_plugin_multierr
cli/command/plugins: runRemove: fix incorrect use of errors.Join
2025-02-03 18:24:27 +01:00
Sebastiaan van Stijn
ac13f502c6 Merge pull request #5787 from thaJeztah/jsonstream_noshadow
jsonstream: Display: rename var that shadowed type
2025-02-03 17:45:07 +01:00
Alano Terblanche
c51be77767 cmd/docker: add cause to user-terminated context.Context
This patch adds a "cause" to the `context.Context`
error when the user terminates the process through
SIGINT/SIGTERM.

This allows us to distinguish the cause of the
`context.Context` cancellation. In future we would
also be able to improve the UX of printed errors
based on the underlying cause.

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>

cmd/docker: fix possible race between ctx channel and signal channel

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>

test: notifyContext

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>

cmd/docker: print status on SIGTERM and not SIGINT

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>
2025-02-03 16:29:09 +01:00
Sebastiaan van Stijn
8169a5142b jsonstream: Display: rename var that shadowed type
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 16:17:11 +01:00
Sebastiaan van Stijn
a4288003bd service/progress: ServiceProgress: avoid fuzzy matching service ID in loop
Tasks with a service filter will result in the daemon performing a lookup
of the full service ID, then updating the provided filter with the actual
ID: 96ded2a1ba/daemon/cluster/tasks.go (L15-L30)

The `getService()` helper has a fast-path for situations where the given
filter is a full ID, before falling back to fuzzy-logic to search filters
by service name or prefix, which would return an error if the result is
ambiguous;
96ded2a1ba/daemon/cluster/helpers.go (L62-L81)

The loop executed here calls `client.ServiceInspectWithRaw()` to get info
of the service, and that method is ultimately calling the exact same
`getService()` helper on the daemon side, which means that we don't need
to repeat the work; we can use the `Service.ID` resolved from that call,
and use it to apply as filter for listing the tasks.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 16:16:19 +01:00
Sebastiaan van Stijn
e88b1939f7 service/progress: newReplicatedJobProgressUpdater: slight cleanup
Use intermediate vars, so that the replicatedJobProgressUpdater can
be created in one go intead of setting some fields after the fact.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 16:16:16 +01:00
Paweł Gronowski
4771abac9e Merge pull request #5780 from thaJeztah/multierr_simplify
cli/command/stack/swarm: waitOnServices remove redundant check for multi-error
2025-02-03 15:09:27 +00:00
Sebastiaan van Stijn
dea59eabba cli/command/stack/swarm: waitOnServices remove redundant check for multi-error
This check was redundant, because `errors.Join` already checks if the
list of errors is either empty, or only contains `nil` errors, as can
be seen in [this example][1];

    package main

    import (
        "errors"
        "testing"
    )

    func TestMultiErr(t *testing.T) {
        var errs []error
        if err := errors.Join(errs...); err != nil {
            t.Fatal(err)
        }

        errs = append(errs, nil, nil, nil)
        t.Logf("errs contains %d elements", len(errs))
        if err := errors.Join(errs...); err != nil {
            t.Fatal(err)
        }

        errs = append(errs, errors.New("with an error"))
        if err := errors.Join(errs...); err == nil {
            t.Fatal("expected an error")
        }
    }

[1]: https://go.dev/play/p/iSuGP81eght

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:26:43 +01:00
Sebastiaan van Stijn
d68c4d8217 Merge pull request #5782 from thaJeztah/volume_tests_clean
cli/command/volume: various fixes and improvements in tests
2025-02-03 13:24:53 +01:00
Sebastiaan van Stijn
37b25f2265 cli/command/plugins: runRemove: fix incorrect use of errors.Join
commit 71ebbb81ae replaced the use of the
custom "cli.Errors" type for stdlib's errors.Join, however it made a
mistake by calling errors.Join for each error occurred, which "nests"
each error instead of putting each error at the same level.

Thanks to Paweł Gronowski for spotting this on the [pull request][1]

[1]: 71ebbb81ae (r1810257735)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:08:05 +01:00
Sebastiaan van Stijn
007e88ec3d TestCheckpointCreateWithOptions check both "keep-running=true/false"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:05:23 +01:00
Sebastiaan van Stijn
31b8198286 cli/command/volume: TestVolumeCreateClusterOpts: minor fixes and refactor
- assert unhandled error
- discard stdout/stderr output

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:04:52 +01:00