Commit Graph

7914 Commits

Author SHA1 Message Date
Sebastiaan van Stijn a7778806a0
cli/compose/schema: make version optional, default to "latest"
The compose spec (https://compose-spec.io) defines the version to be optional,
and implementations of the spec to check for supported attributes instead.

While this change does not switch the `docker stack` implementation to use the
compose-spec, it makes it function more similar. Previously, omitting a version
number would either produce an error (as the field was required), or switched
the handling to assume it was version 1.0 (which is deprecated).

With this change, compose files without a version number will be handled as
the latest version supported by `docker stack` (currently 3.10). This allows
users that work with docker-compose or docker compose (v2) to deploy their
compose file, without having to re-add a version number. Fields that are
not supported by stackes (schema 3.10) will still produce an error.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-18 12:26:04 +01:00
Sebastiaan van Stijn a9fd697737
cli/compose: add schema 3.10 (no changes with 3.9 yet)
Adding a copy of the 3.9 schema, with only the version-string changed.
This makes it easier to find changes since 3.9, which are added after
this.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-18 12:26:02 +01:00
Sebastiaan van Stijn d44eca129f
cli/compose/schema: Validate(): normalize version before validating
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-18 12:26:00 +01:00
Sebastiaan van Stijn cf8c4bab64
Merge pull request #3411 from thaJeztah/no_glog
vendor: compose-on-kubernetes v0.5.0 to remove use of github.com/golang/glog
2022-02-14 18:24:24 +01:00
Sebastiaan van Stijn a3c1314968
vendor: compose-on-kubernetes v0.5.0 to remove use of github.com/golang/glog
glog has the same issue as k8s.io/klog, and is calling `user.Current()`
inside an `init()`; see 466fbb6507

Calling `user.Current()` on Windows can result in remove connections being
made to get the user's information, which can be a heavy call. See https://github.com/docker/cli/issues/2420

glog was only used in a single location in compose-on-kubernetes, so we may as
well remove it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 14:54:51 +01:00
Iain Samuel McLean Elder 8b408372f9 Describe privileged mode in terms of capabilities
I didn't see where in the page that `--privileged` mode adds all capabilities.

I think this page once did contain that information. I got it from a Stack Overflow answer that seems to have copied from an earlier version of this same document.

> Full container capabilities (--privileged)
>
> The --privileged flag gives all capabilities to the container, and it also lifts all the limitations enforced by the device cgroup controller. In other words, the container can then do almost everything that the host can do. This flag exists to allow special use-cases, like running Docker within Docker.

https://stackoverflow.com/a/36441605/111424
Signed-off-by: Iain Samuel McLean Elder <iain@isme.es>
2022-02-08 14:58:25 +01:00
Sebastiaan van Stijn c780f7c4ab
Merge pull request #3314 from crazy-max/buildx-default
Set buildx as default builder
2022-02-03 21:20:07 +01:00
CrazyMax 16edf8bffb
builder: conditional warning for wcow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-03 19:15:58 +01:00
Sebastiaan van Stijn e39da95a7e
Merge pull request #3225 from LeoSko/patch-1
Update dockerd.md - simple typo
2022-02-03 16:11:49 +01:00
Sebastiaan van Stijn fd2274692f
Update deprecation docs
- expand a bit on what's happening
- clarify start of deprecation of the classic builder
- show examples of error and warning

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-03 10:38:06 +01:00
Sebastiaan van Stijn bce65f0edc
builder: simplify error generation, and rephrase error/warning
With this change:

    echo 'FROM busybox' | DOCKER_BUILDKIT=1 docker build -
    ERROR: BuildKit is enabled but the buildx component is missing or broken.
           Install the buildx component to build images with BuildKit:
           https://docs.docker.com/go/buildx/

    echo 'FROM busybox' | docker build -
    DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
                Install the buildx component to build images with BuildKit:
                https://docs.docker.com/go/buildx/

    Sending build context to Docker daemon  2.048kB
    ...

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-03 10:38:05 +01:00
CrazyMax 4d8e45782b
builder: fallback to legacy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-03 10:38:05 +01:00
CrazyMax 6fef143dbc
Set buildx as default builder
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-02-03 10:38:05 +01:00
Leonid Skorospelov 0ca2d25ba8 Update dockerd.md
Simple typo

Signed-off-by: Leonid Skorospelov <leosko94@gmail.com>
2022-02-02 22:43:31 +02:00
Sebastiaan van Stijn 36f6017afa
Merge pull request #3414 from patel-zeel/patch-1
Correct device syntax to --gpus
2022-01-31 12:16:40 +01:00
Zeel B Patel 2d6ebd1e3e Correct device syntax to --gpus
Signed-off-by: Zeel B Patel <patel_zeel@iitgn.ac.in>
2022-01-30 14:14:42 +05:30
Sebastiaan van Stijn 5bb88dc3c4
Merge pull request #3412 from thaJeztah/fix_vendor
Some fixes for "make vendor"
2022-01-28 17:40:36 +01:00
Sebastiaan van Stijn 0d5b24b019
Dockerfile.vendor: use GOPROXY=direct
While the module proxy can speed up vendoring, it may cause issues when
(temporarily) vendoring from a fork, because the proxy may not have the
module yet on first try, which causes vendoring to fail:

    vendor.mod:95:2: replace github.com/thaJeztah/compose-on-kubernetes:
    version "0b59cf047b3b0199048fe13fdcd21b0cb46549f2" invalid:
    Get "0b59cf047b.info": read tcp 172.17.0.2:60290->172.217.168.209:443: read: connection reset by peer

Using `GOPROXY=direct` to fetch sources directly from upstream (GitHub) instead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-28 11:40:33 +01:00
Sebastiaan van Stijn 5c4a395c52
scripts/vendor: run go mod tidy when vendoring
There was some debate about this, and wether or not tidy should be run
when vendoring, but without this, validation failed after running
`make vendor`, and manually doing a `go mod tidy` is complicated
(due to the `vendor.mod`, and because the cache is not inside the
build-cache, not on the host).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-28 11:35:36 +01:00
Justin Cormack 2b0e74c207
Merge pull request #3220 from thaJeztah/remove_encrypted_tls_support
Remove support for encrypted TLS private keys
2022-01-27 18:05:32 +00:00
Sebastiaan van Stijn 08a1ccc60a
Remove support for encrypted TLS private keys
> Legacy PEM encryption as specified in RFC 1423 is insecure by design. Since
> it does not authenticate the ciphertext, it is vulnerable to padding oracle
> attacks that can let an attacker recover the plaintext

From https://go-review.googlesource.com/c/go/+/264159

> It's unfortunate that we don't implement PKCS#8 encryption so we can't
> recommend an alternative but PEM encryption is so broken that it's worth
> deprecating outright.

This feature allowed using an encrypted private key with a supplied password,
but did not provide additional security as the encryption is known to be broken,
and the key is sitting next to the password in the filesystem. Users are recommended
to decrypt the private key, and store it un-encrypted to continue using it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-27 14:26:32 +01:00
Sebastiaan van Stijn 48cbe0bfa1
Merge pull request #3264 from coryb/fix-data-race
fix innocuous data-race when config.Load called in parallel
2022-01-27 10:26:56 +01:00
Sebastiaan van Stijn 6e2838e186
Merge pull request #3405 from thaJeztah/update_daemon_docs
docs/daemon: replace deprecated '-g' option for '--data-root'
2022-01-13 16:02:36 +01:00
Sebastiaan van Stijn ae3a61439b
docs/daemon: replace deprecated '-g' option for '--data-root'
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-13 15:01:29 +01:00
Sebastiaan van Stijn a4787cfc27
Merge pull request #3387 from crazy-max/vendor-gomod
vendor with go mod
2022-01-13 15:00:26 +01:00
CrazyMax 663f01b9cc
use uuid to invalidate cache
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-01-13 13:47:43 +01:00
Sebastiaan van Stijn fe65559058
Merge pull request #3392 from varp/make_compose_plugin_detection_compatible_with_posix_bre
make compose plugin detection in bash completion work on Mac OS
2022-01-10 10:22:11 +01:00
Vardan Pogosian 77b1031be9 make compose plugin detection in bash completion work on Mac OS
Signed-off-by: Vardan Pogosian <vardan.pogosyan@gmail.com>
2022-01-09 12:15:00 +03:00
Sebastiaan van Stijn fe93451cf7
Merge pull request #3391 from AmeyShrivastava/fix-typos
Fix Typos
2021-12-20 12:05:28 +01:00
Amey Shrivastava dfb39e9e5f Fix Typos
This commit fixes spelling mistakes (typos) at a few places in the codebase.

Signed-off-by: Amey Shrivastava <72866602+AmeyShrivastava@users.noreply.github.com>
2021-12-20 01:49:19 +05:30
Sebastiaan van Stijn 2fe3515f82
Merge pull request #3340 from SuperSandro2000/patch-1
Fix typo
2021-12-19 12:41:38 +01:00
Sandro 2725f09873
Fix typo
Signed-off-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
2021-12-19 05:43:09 +01:00
CrazyMax caa31d9374
fix linguist with .gitattributes
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-16 21:16:02 +01:00
CrazyMax 7e560ae76f
vendor with go mod
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-16 21:16:01 +01:00
Sebastiaan van Stijn 1e2bc5e7c0
Merge pull request #3378 from diepes/patch-1
Update stats.md add example json output
2021-12-13 18:03:51 +01:00
Pieter E Smit a1204a50b7
Update stats.md add example json output
Signed-off-by: Pieter E Smit <diepes@github.com>
2021-12-13 11:18:55 +01:00
Sebastiaan van Stijn a45974a468
Merge pull request #3388 from crazy-max/fix-versionquad
ensure version quad for goversioninfo
2021-12-10 11:37:43 +01:00
CrazyMax 5fab1b2b10
ensure version quad for goversioninfo
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-10 10:50:23 +01:00
Sebastiaan van Stijn 6fbf816901
Merge pull request #3384 from crazy-max/ci-glibc
ci: add glibc to build matrix
2021-12-09 16:58:50 +01:00
CrazyMax 3425e9dc3c
ci: add glibc to build matrix
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-12-09 16:37:12 +01:00
Sebastiaan van Stijn 548fd20087
Merge pull request #3372 from knocte/patch-1
docker exec cli docs: show 2 env vars, not just 1
2021-12-09 12:28:07 +01:00
Andres G. Aragoneses 418dbc4e77 docker exec cli docs: show 2 env vars, not just 1
This way it's more clear for the reader that the flag can be used
more than once.

Signed-off-by: Andres G. Aragoneses <knocte@gmail.com>
2021-12-09 07:27:12 +08:00
Sebastiaan van Stijn e156f9b766
Merge pull request #3360 from jlecordier/patch-1
fix missing closing parenthese
2021-12-08 19:55:29 +01:00
jlecordier a185143707 added missing closing parenthese
Signed-off-by: jlecordier <jeanlecordier@hotmail.fr>
2021-12-08 18:02:45 +01:00
Sebastiaan van Stijn a34e921be7
Merge pull request #3105 from larstomas/patch-1
Change IO order in description
2021-12-08 13:08:50 +01:00
Sebastiaan van Stijn d18275a90c
Merge pull request #2976 from JonZeolla/fix-docker-run-env-docs
Fix mistake with env var example in docker run docs
2021-12-08 12:04:51 +01:00
Tomas Bäckman c6636d4d65
Change IO order in description
Change the order of received/written and sent/read in NET I/O and BLOCK I/O description reflect the order in I/O (Input/Output).

From example above:
CONTAINER NAME: awesome_brattain
BLOCK I/O: 147kB / 0B

awesome_brattain has written 147kB and read 0B

Signed-off-by: Tomas Bäckman <larstomas@gmail.com>
2021-12-08 11:50:08 +01:00
Sebastiaan van Stijn 5e0f1b9dcc
Merge pull request #3142 from govindrai/patch-1
Add information on WORKDIR
2021-12-08 11:41:54 +01:00
Sebastiaan van Stijn 6067738955
Merge pull request #3164 from tnir/dockerfile-syntax
Fix the (dead) link for docs for Dockerfile syntax reference
2021-12-08 11:38:29 +01:00
Silvin Lubecki ed86571bfa
Merge pull request #3256 from thaJeztah/cleanup_rootcommand
cli.SetupRootCommand(): minor cleanup
2021-12-08 11:31:59 +01:00