Commit Graph

1843 Commits

Author SHA1 Message Date
886f2295cf cli/command/network: 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:11 +01:00
5d3bdf8ac2 cli/command/manifest: 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:11 +01:00
c8f27b027f cli/command/image: 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:11 +01:00
a0ca41e6f6 cli/command/formatter: suppress some errors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-03 12:18:10 +01:00
82e2efbbf7 cli/command/context: minor cleanups
- 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:10 +01:00
c462eaee11 cli/command/container: minor cleanups: use Println
- 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:18:10 +01:00
8650ffef38 cli/command/checkpoint: 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:10 +01:00
45d81f849e cli/command: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 16:00:01 +01:00
a85a94f46b cli/command/system: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 16:00:00 +01:00
694d248001 cli/command/swarm: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 16:00:00 +01:00
8b09ee1e12 cli/command/stack: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:59 +01:00
ec5ae0c2d0 cli/command/secret: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:59 +01:00
c50068f7e1 cli/command/plugin: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:58 +01:00
2b02e05f9a cli/command/node: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:58 +01:00
38f61539e5 cli/command/network: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:58 +01:00
d6c26471d1 cli/command/manifest: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:58 +01:00
f29fdd3091 cli/command/image: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:57 +01:00
d30c894af1 cli/command/idresolver: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:57 +01:00
5a99ea9ad4 cli/command/container: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:57 +01:00
0d913efe8a cli/command/config: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:59:52 +01:00
957be84a3c cli/command/checkpoint: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:52:47 +01:00
10aca7dd50 cli/command/volume: remove uses of pkg/errors in tests
While there may be reasons to keep pkg/errors in production code,
we don't need them for these tests.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-02-01 15:52:44 +01:00
2c35778a63 Allow '--link' with '--network bridge'
The '--link' option should only be migrated to an endpoint
option if the network is user-defined ... there was already
an exception for network "default", but not for "bridge".

Signed-off-by: Rob Murray <rob.murray@docker.com>
2025-01-21 16:58:42 +00:00
41c2786716 Merge pull request #5663 from Benehiko/ctx-jsonmessage
pkg/command: wrap `jsonmessage.DisplayJSONMessagesStream` with go context
2025-01-21 11:22:40 +01:00
91adb70d6b pkg/command: wrap jsonmessage.DisplayJSONMessagesStream with go context
Allows for the `jsonmessage.DisplayJSONMessagesStream` function
to correctly return when the context is cancelled with the appropriate
reason (`ctx.Error()`) instead of just a nil error.

Follow-up to 30a73ff19c

Signed-off-by: Alano Terblanche <18033717+Benehiko@users.noreply.github.com>
Co-authored-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-01-20 16:36:11 +01:00
66a584a66d Merge pull request #5757 from vvoland/images-tree-name
image/tree: Print longest names first and use full width
2025-01-20 14:16:19 +01:00
26010e4c3c image/tree: Print longest names first and use full width
When printing image names, sort them by length and print the longest
first. This also allows them to use a full terminal width because they
are not printed alongside other columns.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-01-20 11:25:57 +01:00
f906139fc8 cli/tree: Use single character triple dot
Using 3 characters instead of 1 to ellipsize a long string is wasteful.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2025-01-17 14:34:45 +01:00
58bf0f1846 switch to gopkg.in/yaml.v3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-14 23:54:33 +01:00
9abd0ebdf4 cli/command: update semconv to 1.26.0
Align the version with what's used by buildkit.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-14 19:37:57 +01:00
bf2dae22de cli/command/plugin: runCreate: minor cleanup
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-08 12:53:20 +01:00
7b37f30da2 Use io.copy for build context compression
The use of pools here is unnecessary and creates a code dependency on
moby library which will move to internal.

The pool does not provide any value here since it is only done for a
single operation and unlikely performed in alongside other operations
which are re-using the buffers many times between garbage collections.

Signed-off-by: Derek McGowan <derek@mcg.dev>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-01-03 13:45:38 +01:00
8c0cb30515 Fix cp test to separate source and destination
Currently the cp will tar from the same directory it will untar into
simultaneously. There is a race between reading the file and truncating
the file for write, however, the race will not show up with a large
enough buffer on the tar side if buffered before the copy begins.

Also removes the unnecessary deferred removal, the removal is handled by
cleanup and respects the no cleanup env.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-12-26 16:30:45 -08:00
a8f83d5d99 TestRunCopyFromContainerToFilesystem: use Tar without options
Just a minor cleanup; use archive.Tar as we're not using other
options here.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-23 13:23:39 +01:00
cc65127cb0 vendor: github.com/docker/docker ad6929339acd (master, v28.0.0-dev)
full diff: b249c5ebd2...ad6929339a

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-20 17:58:34 +01:00
ecd162228f Merge pull request #5695 from thaJeztah/fix_TestEventsFormat
cli/command/system: TestEventsFormat: set cmd.Args to prevent test-failures
2024-12-17 13:02:53 +01:00
8454e012ca Merge pull request #5697 from thaJeztah/remove_system_isabs
cli/command/container: use local copy of pkg/system.IsAbs
2024-12-16 17:46:27 +01:00
1eda498786 cli/command/container: use local copy of pkg/system.IsAbs
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-16 10:22:35 +01:00
ffe0354c2c cli/command/system: remove BridgeNfIptables, BridgeNfIp6tables in tests
This is a follow-up to 55e404e7a8, which
removed some warnings related to these fields.

These fields in the /info response were used to warn users if netfiltering
was not enabled on the host when the daemon started.  Starting with
[moby@db25b0d], detecting whether netfiltering  is enabled now
[happens when needed][1], making the state that's detected at startup
irrelevant.

These fields will therefore be deprecated in future, but we can start
removing their use in tests.

[moby@db25b0d]: db25b0dcd0
[1]: 944e403502/libnetwork/drivers/bridge/setup_bridgenetfiltering.go (L16-L77)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-14 15:29:33 +01:00
73ff81b651 cli/command/system: TestEventsFormat: set cmd.Args to prevent test-failures
When running the tests with options set, such as `-update` for updating
"golden" files, this test would pick up test arguments because no arguments
were set to invoke the command;

    go test . -update
    Error: unknown shorthand flag: 'u' in -update
    Usage:
      events [OPTIONS] [flags]

    Flags:
      -f, --filter filter   Filter output based on conditions provided
          --format string   Format output using a custom template:
                            'json':             Print in JSON format
                            'TEMPLATE':         Print output using the given Go template.
                            Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates
      -h, --help            help for events
          --since string    Show all events created since timestamp
          --until string    Stream events until this timestamp

    --- FAIL: TestEventsFormat (0.00s)
        --- FAIL: TestEventsFormat/default (0.00s)
            events_test.go:75: assertion failed: error is not nil: unknown shorthand flag: 'u' in -update
        --- FAIL: TestEventsFormat/json (0.00s)
            events_test.go:75: assertion failed: error is not nil: unknown shorthand flag: 'u' in -update
        --- FAIL: TestEventsFormat/json_template (0.00s)
            events_test.go:75: assertion failed: error is not nil: unknown shorthand flag: 'u' in -update
        --- FAIL: TestEventsFormat/json_action (0.00s)
            events_test.go:75: assertion failed: error is not nil: unknown shorthand flag: 'u' in -update

This patch:

- changes the test to use command-arguments instead of manually setting the
  flag options; this also adds test-coverage for parsing actual command arguments.
- discards stdout/stderr of the command to prevent noise in test output

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-14 13:46:53 +01:00
55e404e7a8 cli/command/system: remove netfilter warnings from tests
These warnings will no longer be returned by the daemon, so remove
them from the tests as well to make them more representative of
reality.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-13 10:29:01 +01:00
6a2cde6c75 Add option '--ipv4'
Signed-off-by: Rob Murray <rob.murray@docker.com>
2024-12-10 15:51:21 +00:00
e554bfef6c Merge pull request #5662 from laurazard/consistent-attach-check
run: correctly handle only STDIN attached
2024-12-09 18:01:45 +01:00
30c4637f03 run: don't hang if only attaching STDIN
If STDOUT or STDERR are attached and the container exits, the streams
will be closed by the daemon while the container is exiting, causing
the streamer to return an error
61b02e636d/cli/command/container/hijack.go (L53)
that gets sent
61b02e636d/cli/command/container/run.go (L278)
and received
61b02e636d/cli/command/container/run.go (L225)
on `errCh`.

However, if only STDIN is attached, it's not closed (since this is
attached to the user's TTY) when the container exits, so the streamer
doesn't exit and nothing gets sent on `errCh`, meaning the CLI execution
hangs receiving on `errCh` on L231.

Change the logic to receive on both `errCh` and `statusChan` – this way,
if the container exits, we get notified on `statusChan` (even if only
STDIN is attached), and can cancel the streamer and exit.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2024-12-09 15:49:20 +00:00
b51a71148f cli/command/system: don't use "non-distributable-artifacts" fields in tests
Nondistributable artifacts are deprecated, and no longer used; we'll be
deprecating these fields, so let's already skip their use.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-07 12:24:59 +01:00
66dfe6d428 Merge pull request #5664 from akerouanton/gw-priority
run, create, connect: add support for gw-priority
2024-12-06 22:20:57 +01:00
e398d16c04 cli/command/registry: return status only instead of whole response
Various functions were passing through the API response as a whole, but
effectively only needed it for a status message (if any). Reduce what's
returned to only the message.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-03 19:04:24 +01:00
297afb2a2b cli/command/registry: TestLoginWithCredStoreCreds slight refactor
- also check errors that were previously not handled
- use the fakeCLI's buffer instead of creating one manually

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-03 18:42:40 +01:00
575e373669 cli/command/registry: rename some vars that collided with imports
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-03 18:37:35 +01:00
d4db289eb5 run, create, connect: add support for gw-priority
Signed-off-by: Albin Kerouanton <albinker@gmail.com>
2024-12-03 15:13:08 +01:00