Bumping compose to version v2.14.0-155-ga93f09ef, which comprises the following commits:
51bcfa37 build(deps): bump github.com/containerd/containerd from 1.6.15 to 1.6.16
982a8ccb support dry-run for kill command
790712fa update tty and plain text writers to support dry run mode
97752b23 refresh Maintainers list
634a7d2a Support for docker compose build --push when using multiple platforms
a288332f Update docs to add `--scale` argument to `compose create`
9d53ed8f Add `--scale` to `compose create`, refactor scale option
df707352 Fix: Handle concurrent threads using mutex on the rainbowColor function
d8bf175c Remove unecessary files
4816f40b Fix: remove the infinite goroutine
ed5a2e83 Remove unecessary files
fa8d075d Fix: remove the infinite goroutine
33c3f4df alias -n for --tail to align with docker CLI
aa313873 cleanup TUI lines after switching to "compact" mode
d47f0f31 Update docs to mention `COMPOSE_PARALLEL_LIMITS` and ways to configure parallelism
4721c017 fix docs to reflect docker compose ps being aligned with docker ps
5919fcb4 Revert "Fix Goroutine leak in v2/command/formatter"
3a21e1e3 Fix Linting Issues
b670aefb Feat: Clean inifinite Goroutine
220626ec Only account running containers for logs
291e1bd6 bump compose-go to version v1.9.0
e94eb056 allow a TTY to be allocated with -t
c15bf195 debounce refresh requests with quietperiod
0b1c8672 Add tests for filtering containers not created by Compose
82ef9985 Ignore containers created outside compose
fb36f7ff directly embed the orignal APIClient in the DryRunClient
3fac506a identify functions which need to be ovorridden for dry run feature
eb59b0e2 add alpha command to test dry-run
5081ab05 create custom CLI when dry-run mode active update documentation
13ef440d add DryRun API Client with delagation pattern
fbf845c5 add dry-run flag
5a2b7b83 use compose service methods when exist instead of directly service.dockerCli
8c07fa4d mark alpha command as experimental
9daf4189 Adjust terminal height calc
bb9cf322 introduce experimental watch command (skeletton)
69a09624 Skip child events when printer events > terminal height
f2088bb9 fix typo
dadad01e Update docs programatically like you're supposed to
1adc9f54 fix docs yaml
4cebce3a This option lives in the create options, not the run options
bd8e5744 Add remove-orphans functionality to run, because it recommends that in error messages
4ad87463 Add 🥒 GHA workflow
cc912c62 introduce --remove-orphans in compose create command
3e12a7cb pass proxy config as build args - same as docker/buildx#959
0c197997 Remove unused kube tag
73ebbffb Don't share the options map
b326a9da don't filter by services if no filter was set
f1313f3a use a simpler prompt implementation when we lack a terminal
a226d014 fix CVE-2022-27664 and CVE-2022-32149 high-risk vulnerability
7e2af3aa build(deps): bump github.com/containerd/containerd from 1.6.14 to 1.6.15
96bbda98 add support for uts namespace
aa5cdf2b add support for COMPOSE_PARALLEL_LIMIT (parity with Compose v1)
d5e4f006 introduce --no-attach to ignore some service output
8b4ac37f introduce `--ignore-buildable` to ignore buildable images on pull
b96e27e0 limit build concurrency according to --parallel
37d15d7e Ignore not only auto-removed containers but also "removal in progress" for orphan containers
dde7eea2 Update expected Cucumber `compose ps` output to match changes
a2247807 Set `pullChanged` when setting `--pull` on `compose up`
ffce33ec Fix empty file when using compose config in case of smaller source files
8a3248d0 Update documentation
52e7f0fb build(deps): bump github.com/docker/cli-docs-tool from 0.5.0 to 0.5.1
fd353ffa add support of privileged attribut in service.build section
adf8e753 cleanup framework.go from uncessary debug logs
9f7ad18d reduce cyclomatic complexity
40ebcd62 fix security opts support (seccomp and unconfined)
9bd9f176 check service names based on project, not running containers
5dcadc05 debut output for CI
c72f161a change the way finding the just built compose binary
86a648bd e2e tests display Compose version used to run the test currently the version displayed is the one installed and not the one use for the tests
27a32419 rely on CI timeout
935968fe add buildx plugin to e2e configuration directory
91371fef remove flaky TestLocalComposeLogsFollow
986bc445 service hash MUST exclude replicas
24f83271 don't assume os.Stdout and rely on dockerCLI.streams
dacf2437 dump stdout to help diagnose flaky test
22d2e838 don't fail `logs` when driver:none is set
b4b73199 introduce support for cgroup namespace
aae5ddca build(deps): bump github.com/containerd/containerd from 1.6.12 to 1.6.14
0ab5079c fix race condition on compose logs
89ef8198 update projectOptions to be public by renaming it to ProjectOptions
b8bbdcd8 detect dependency failed to start
d0e95cca set CPU quota
7bc27d44 Use `DOCKER_DEFAULT_PLATFORM` to determine platform when creating container
c1ce53c9 fix regression running pull --ignore-pull-failures
e42673da only list running containers when --all=false
ffb95449 volume: fix WCOW volume mounts
5c1484ec apply uid/gid when creating secret from environment
84984864 load project from explicit --files when set
8566daa9 use recently introduced `withSelectedServicesOnly` to reduce code duplication
84ea395d introduce --timestamp option on compose up
1cb5536a Address review comments
e4850d9c Add --include-deps to push command
8c39b5b7 align `--format` flag and UX with docker cli
bc568eeb align `compose ps` output with `docker ps`
a501ab3a use StatusError from docker/cli, not "dockerd"
d4a4dcf4 resolve --env-file as absolute path
05e987dd fix parsing of repository:tag
0368f190 distinguish stdout and stderr in `up` logs
3ee2ab87 ContainerStart must run sequentially for engine to assing distinct ports within configured range
8f991a20 Fix corner case when there's no container to attach to
0234e134 Don't stop pull for images that can be built
c342891f Squashed commit of the following:
8ef34947 build(deps): bump github.com/containerd/containerd from 1.6.10 to 1.6.12
cc247fdb remove go.* from e2e tests directory
a4ac6ab6 added table of contents inside readme
a73dce44 fix race condition collecting pulled images IDs
804d7163 detect required service are gone to stop watching explicit API to stop the log printer
cc60026c update to go1.19.4
87a0a57f Cleanup tips from output
95bc6c58 check only running containers in after down tests of profiles e2e tests
57a1e1e0 Update `e2e` mod deps
02305756 build(deps): bump go.opentelemetry.io/otel from 1.11.1 to 1.11.2
a0acc20d introduce --parallel to limit concurrent engine calls
053f20ed port: improve error-handling if port not found (#10039)
9b8d520b ci: upgrade to Go 1.19.3 & bump deps
113fb673 schema: add support for tmpfs.mode in mount definition (#10031)
b9e5f9e9 test: speed up Cucumber stop test (#10032)
c74a77e8 Make use of Containers.filter() and isService()
7f975fa4 Fix replacing "service:x" with "container:y"
73691276 use StringToBool to detect COMPOSE_IGNORE_ORPHANS
2e7644ff use api.Separator to print right image names
8f2b7471 use DistributionInspect to resolve image digest
9ac4f699 move image digests resolution to backend
2bef9769 Broken Link fixed in compose docs
707d55c7 add file header and cleanup profiles e2e tests
5edd7830 add e2e tests to check profile activation via targeted service
6fbef296 add e2e tests to check no profile usages
7fe43a8b add e2e tests using explicitly profiles
24ec0b2d pass services list to projectOrName function to add profiles for targeted services
ed38fe0d only stop services started by `up` on interruption
06e71371 docs: fix grammatical issues (#9997)
fb5b90ed implement support for oom_score_adj
10a5d998 useDockerDefaultOrServicePlatform fct should return service.platform if defined and present in the build.platforms list (or if the list is empty)
c3e5e499 configure buildx for plain output if --ansi=never has been set
4bf98c70 change the default branch of the doc repository
d7a24e9c Update `e2e` module deps
19d6ca9c ignore error parsing container number label, just warn
6fe03e93 Update docs
35d31cc5 Add `--build` option to `compose run`
7c5675c3 use platform defined by DOCKER_DEFAULT_PLATFORM when pulling and no service platform defined
a077e8a2 display creation warnings from the engine
8c1e2af3 add e2e tests to check build dependency between services
a9e07020 check if a missing image won't be build via a service declared in depends_on section
32f29b83 add --no-consistency flag to convert command
533fc616 use COMPOSE_PROFILES value only if no command line arg profiles used
bfb9e11f build(deps): bump github.com/containerd/containerd from 1.6.9 to 1.6.10
09e742b3 exclude issues with the kind/feature label from stale bot process
306ae161 ci: upgrade to compose-go v1.7.0
fd4aecef ci: update dependencies to latest
34e945a5 ci: remove uses of deprecated gotest.tools v2 (#9935)
e1899421 Update `e2e` module dependencies
369e9125 build(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.9
7ba9aac5 add support of deploy.reservation.memory
6d64242f Update deps for `e2e` module
eaf27d9d map deploy.restart_policy.condition to engine values
36a91839 build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1
533abc3b go.mod: docker 5aac513617f072b15322b147052cbda0d451d389 / v22.06-dev
197c1690 update docker engine API to apply fix of CVE-2022-39253
c630c8d2 go.mod: update docker-credential-helpers v0.7.0
41cf5ee3 go.mod: remove replace for runc
b7053cad go mod: tidy and group "require" blocks, update comments
717ace99 Update `e2e` module deps
8bdfc627 build(deps): bump go.opentelemetry.io/otel from 1.11.0 to 1.11.1
dd13299e Skip flaky test in CI
3f0550f8 log the error object instead of the string message only
18ce1f41 replace deprecated functions
3bf29d40 bump docker dependencies version
7424a3d3 Fix Makefile target `validate-go-mod` to only run correct bakefile target
6b7e9466 Update `e2e` module deps
91eae4f0 Add Codecov
8b897214 port: fix container name in error message (#9909)
f43a1e3e github: add feature request template
fa1ae635 github: switch to issue template form
afc0263f build(deps): bump go.opentelemetry.io/otel from 1.10.0 to 1.11.0
bb002a76 Update e2e mod dependencies
2ccd57e0 build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Introducing a recipe to build (and create a vendor directory) for the
docker-compose2 command, which is a go implementation of he formely
python3 docker-compose.
This co-exists (for now) with the python version.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.
This is pass one of updating the meta-virt recipes to use that
syntax.
This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions
Note: A recent bitbake is required:
commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Sun Jul 18 12:59:15 2021 +0100
bitbake: data_smart/parse: Allow ':' characters in variable/function names
It is becomming increasingly clear we need to find a way to show what
is/is not an override in our syntax. We need to do this in a way which
is clear to users, readable and in a way we can transition to.
The most effective way I've found to this is to use the ":" charater
to directly replace "_" where an override is being specified. This
includes "append", "prepend" and "remove" which are effectively special
override directives.
This patch simply adds the character to the parser so bitbake accepts
the value but maps it back to "_" internally so there is no behaviour
change.
This change is simple enough it could potentially be backported to older
version of bitbake meaning layers using the new syntax/markup could
work with older releases. Even if other no other changes are accepted
at this time and we don't backport, it does set us on a path where at
some point in future we could
require a more explict syntax.
I've tested this patch by converting oe-core/meta-yocto to the new
syntax for overrides (9000+ changes) and then seeing that builds
continue to work with this patch.
(Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upgrade to release 1.29.2:
- Remove prompt to use docker compose in the up command
- Bump py to 1.10.0 in requirements-indirect.txt
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The following changes are part of this version bump:
1.29.1 (2021-04-13)
-------------------
Bugs
Fix for invalid handler warning on Windows builds
Fix config hash to trigger container recreation on IPC mode updates
Fix conversion map for placement.max_replicas_per_node
Remove extra scan suggestion on build
1.29.0 (2021-04-06)
-------------------
Features
Add profile filter to docker-compose config
Add a depends_on condition to wait for successful service completion
Miscellaneous
Add image scan message on build
Update warning message for --no-ansi to mention --ansi never as alternative
Bump docker-py to 5.0.0
Bump PyYAML to 5.4.1
Bump python-dotenv to 0.17.0
1.28.6 (2021-03-23)
-------------------
Bugs
Make --env-file relative to the current working directory and error out
for invalid paths. Environment file paths set with --env-file are
relative to the current working directory while the default .env file is
located in the project directory which by default is the base directory
of the Compose file.
Fix missing service property storage_opt by updating the compose schema
Fix build extra_hosts list format
Remove extra error message on exec
Miscellaneous
Add compose.yml and compose.yaml to default filename list
1.28.5 (2021-02-25)
-------------------
Bugs
Fix OpenSSL version mismatch error when shelling out to the ssh client
(via bump to docker-py 4.4.4 which contains the fix)
Add missing build flags to the native builder: platform, isolation and extra_hosts
Remove info message on native build
Avoid fetching logs when service logging driver is set to 'none'
1.28.4 (2021-02-18)
--------------------
Bugs
Fix SSH port parsing by bumping docker-py to 4.4.3
Miscellaneous
Bump Python to 3.7.10
1.28.3 (2021-02-17)
-------------------
Bugs
Fix SSH hostname parsing when it contains leading s/h, and remove the
quiet option that was hiding the error (via docker-py bump to 4.4.2)
Fix key error for '--no-log-prefix' option
Fix incorrect CLI environment variable name for service profiles:
COMPOSE_PROFILES instead of COMPOSE_PROFILE
Fix fish completion
Miscellaneous
Bump cryptography to 3.3.2
Remove log driver filter
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Release notes for 1.27.4:
- Bugs
- Remove path checks for bind mounts
- Fix port rendering to output long form syntax for non-v1
- Add protocol to the docker socket address
Release notes for 1.27.3:
- Bugs
- Merged max_replicas_per_node on docker-compose config.
- Fixed depends_on serialization on docker-compose config.
- Fixed scaling when some containers are not running on docker-compose
up.
- Enabled relative paths for driver_opts.device for local driver.
- Allowed strings for cpus fields.
Release notes for 1.27.2:
- Bugs
- Fix bug on docker-compose run container attach
Release notes for 1.27.1:
- Bugs
- Fix compose run when service.scale is specified
- Allow driver property for external networks as temporary workaround
for swarm network propagation issue
- Pin new internal schema version to 3.9 as the default
- Preserve the version when configured in the compose file
Release notes for 1.27.0:
- Features
- Merge 2.x and 3.x compose formats and align with COMPOSE_SPEC schema
- Implement service mode for ipc
- Pass COMPOSE_PROJECT_NAME environment variable in container mode
- Make run behave in the same way as up
- Use docker build on docker-compose run when COMPOSE_DOCKER_CLI_BUILD
environment variable is set
- Use docker-py default API version for engine queries (auto)
- Parse network_mode on build
- Bugs
- Ignore build context path validation when building is not required
- Fix float to bytes conversion via docker-py bump to 4.3.1
- Fix scale bug when deploy section is set
- Fix docker-py bump in setup.py
- Fix experimental build failure detection
- Fix context propagation to docker cli
- Miscellaneous
- Drop support for Python 2.7
- Add script for docs syncronization
- Bump docker-py to 4.3.1
- Bump tox to 3.19.0
- Bump virtualenv to 20.0.30
Release notes for 1.26.2:
- Bugs
- Enforce docker-py 4.2.2 as minimum version when installing with pip
Release notes for 1.26.1:
- Features
- Bump docker-py from 4.2.1 to 4.2.2
- Bugs
- Enforce docker-py 4.2.1 as minimum version when installing with pip
- Fix context load for non-docker endpoints
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Main change is support for the compose format version 3.8.
Relevant git changes between versions:
- 41d229eb Fix v3.8 schema support for binaries
- 15bb3eeb add warning when max_replicas_per_node limits scale
- 5d34f12f set min engine version needed for v38 schema support
- 82873d2b update api version for 3.8
- fe832661 Add v3.8 schema support
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The docker-compose project is using console_scripts which hence imports
pkg_resources which is very slow at starting time, see:
https://github.com/pypa/setuptools/issues/510
This could be workaround by importing fastentrypoints module.
Some tests:
Before the patch, on a colibri-imx8x machine:
$ time docker-compose
```
real 0m5.108s
user 0m4.761s
sys 0m0.272s
```
After the patch, on a colibri-imx8x machine:
$ time docker-compose
```
real 0m3.526s
user 0m3.249s
sys 0m0.235s
```
Have verified the patch with:
https://docs.docker.com/compose/gettingstarted
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Remove maximum version requirements for docker-compose so that it
does not require old version recipes.
The old version recipes required are as below.
* PyYAML
* requests
* urllib3
* idna
* jsonschema
The current one has been tested against https://docs.docker.com/compose/gettingstarted/.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The python3-docker-compose_1.16.1 requires 'docker<3.0, >=2.5.1', while
python3-docker 3.4.0 is provided. Error occurs when running
'docker-compose --version'.
Upgrade to python3-docker-compose_1.21.2 to make it work.
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The python3-enum package was removed and it is now part of core.
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This requires some packages as well as the pypi.bbclass from meta-python.
It uses Python 3 as I don't think it makes sense to use Python 2 anymore.
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>