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

10602 Commits

Author SHA1 Message Date
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
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
Sebastiaan van Stijn
5b8c08d19e cli/command/volume: TestVolumeCreateCluster: minor fixes and refactor
- assert unhandled error
- use sub-tests
- use slightly more unique volume-names
- discard stdout/stderr output

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:04:52 +01:00
Sebastiaan van Stijn
a8265e72bf cli/command/volume: TestVolumeCreateWithFlags: minor fixes
- assert unhandled error
- reset command-args to prevent test failing when running from pre-compiled test-binary
- use a const and a slightly more unique name for the volume-name
- discard stdout/stderr output

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:04:52 +01:00
Sebastiaan van Stijn
8b5e5539e1 cli/command/volume: TestVolumeCreateWithName: minor fixes and improvements
- assert unhandled error
- use sub-tests
- add test-case for conflicting options (both flag and name)
- reset command-args to prevent test failing when running from pre-compiled test-binary
- use a const and a slightly more unique name for the volume-name
- discard stdout/stderr output

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:04:52 +01:00
Sebastiaan van Stijn
2e266001c6 cli/command/volume: TestVolumeCreateErrors: assert unhandled errors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 13:04:48 +01:00
Sebastiaan van Stijn
4808d1bcd2 Merge pull request #5783 from thaJeztah/newline_galore
assorted cleanups: use Println, rename vars for consistency
2025-02-03 13:04:00 +01:00
Sebastiaan van Stijn
987da09578 cli/command/volume: remove example and var for long description
This was the only command for which we set the "example" field; while
we could consider doing this for other commands, we need to look what's
best w.r.t. duplicating the information maintained in markdown.

Also remove the intermediate variable used for the long description,
as this was also the only location where we used one.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:21:00 +01:00
Sebastiaan van Stijn
13ef82974d cli/flags: suppress some errors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:21:00 +01:00
Sebastiaan van Stijn
dc5a4501a4 cli/command: minor cleanups: use Println, suppress errors
- use Println to print newline instead of custom format
- suppress some errors to make my IDE and linters happier

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:21:00 +01:00
Sebastiaan van Stijn
cd6d902dff cli/command/inspect: remove additional newline from log
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:21:00 +01:00
Sebastiaan van Stijn
10f5b3f73a cli/command/volumes: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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 12:20:59 +01:00
Sebastiaan van Stijn
299aae0419 cli/command/trust: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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 12:20:59 +01:00
Sebastiaan van Stijn
5cfc89c1c2 cli/command/system: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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 12:20:59 +01:00
Sebastiaan van Stijn
8c5e85d4cf cli/command/swarm: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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
- fix some tests to work with "go test -update"
- rewrite TestSwarmInit to use sub-tests

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:20:56 +01:00
Sebastiaan van Stijn
925b8fe34c cli/command/stack: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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 12:18:12 +01:00
Sebastiaan van Stijn
aa74f931d3 cli/command/service: minor cleanups: use Println, rename vars
- use Println to print newline instead of custom format
- 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 12:18:12 +01:00