Commit Graph

17 Commits

Author SHA1 Message Date
Bruce Ashfield
cfa6717d3a docker-compose: update to v2.15.1
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>
2023-02-10 12:36:11 -05:00
Bruce Ashfield
75de565e3b docker-compose2: introduce go version of docker-compose
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>
2022-10-25 15:08:39 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
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>
2021-08-02 17:17:53 -04:00
Leon Anavi
292e63d4fd python3-docker-compose: Upgrade 1.29.1 -> 1.29.2
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>
2021-07-20 22:51:29 -04:00
Bruce Ashfield
b63523eeac docker-compose: update to 1.29.1
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>
2021-04-15 10:40:01 -04:00
Bruce Ashfield
42ec3cb5bf docker-compose: update to 1.28.2
Along with the version bump, we refresh our dependency patch to
apply.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-02-06 13:01:33 -05:00
Ricardo Salveti
74e0b8d2ac python3-docker-compose: upgrade 1.26.0 to 1.27.4
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>
2020-11-03 16:30:29 -05:00
Ming Liu
a1d06c7470 python3-docker-compose: uprev 1.25.5 > 1.26.0
The major changes include:
d4451659 Bump 1.26.0
3d94f442 Bump 1.26.0-rc5
1386a855 Merge pull request #7485 from ulyssessouza/fix-https-daemon
8034c96d Bump docker-py
48d09369 Fix flake8 errors
28bf47ce Pin wcwidth==0.1.9
d279b7a8 Bump 1.26.0-rc4
83371df2 Merge branch 'master' into 1.26.x
9c5351cf Merge pull request #7389 from ulyssessouza/general-bumps-for-1_26
836e2b7c General bumps
266d287e Merge pull request #7390 from ulyssessouza/remove-unused-resources
d64f3f39 Remove unused files
4e310a94 Merge pull request #7386 from ulyssessouza/bump-python-dotenv-1_13_0
d52b51e8 Bump python-dotenv from 0.11.0 to 0.13.0
64a6a48b Merge pull request #7345 from docker/dependabot/pip/certifi-2020.4.5.1
0979c7a1 Merge pull request #7380 from joehattori/simplify-code
ce782b59 Simplify code in compose/config/config.py
b7d6dc79 Bump certifi from 2019.11.28 to 2020.4.5.1
c22a2510 Merge pull request #7374 from ulyssessouza/fix-distro-guess
a62a1e1d Add "distro" package
afc5d205 Merge pull request #7371 from ulyssessouza/bump-openssl-111f
4d2afc07 Merge pull request #7372 from ulyssessouza/update-changelog

Have verified on arm/arm64/x86_64 against:
https://docs.docker.com/compose/gettingstarted

Signed-off-by: Ming Liu <ming.liu@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-01 12:43:16 -04:00
Ricardo Salveti
c0a3b6526b python3-docker-compose: update to 1.25.5
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>
2020-05-05 23:05:26 -04:00
Ricardo Salveti
9593a7dc20 python3-docker-compose: update to 1.25.4
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-11 16:05:29 -05:00
Ming Liu
c1bc3963ba python3-docker-compose: import fastentrypoints
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>
2020-02-03 17:10:58 -05:00
Ming Liu
ab12e48ad0 python3-docker-compose: uprev to 1.25.0
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 14:08:07 -05:00
Chen Qi
7d13954a89 python3-docker-compose: remove maximum version requirements
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>
2019-11-27 17:57:10 -05:00
Li Zhou
04e0d9de8c python3-docker-compose: upgrade to version 1.21.2
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>
2019-10-19 00:32:30 -04:00
Ricardo Salveti
0adcea047c python3-docker-compose: remove deprecated python3-enum from RDEPENDS
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>
2018-03-14 08:43:08 -04:00
Valerio De Benedetto
8b50c03cf3 add python3-terminal RDEPENDS to docker-compose recipe
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-18 10:45:25 -05:00
Pascal Bach
d16d4acc60 python3-docker-compose: add version 1.16.1 + dependencies
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>
2017-09-15 15:21:18 -04:00