Commit Graph

18 Commits

Author SHA1 Message Date
Bruce Ashfield
9924532fa8 podman-compose: update to v1.3.0
Bumping podman-compose to version v1.3.0-4-g60ac5e4, which comprises the following commits:

    48c6c38 build(deps): bump virtualenv from 20.25.1 to 20.26.6
    ac5291e RELEASING: Fix release command
    9cbc4c1 Release 1.3.0
    6de335b Release notes for 1.3.0
    2379924 Add documentation for how to create a release
    eda4815 scripts: Add script to make new release
    cbb0cab scripts: Add script to create release notes
    483103a Declare compatibility with Python 3.13
    804852b Provide support for cache_from and cache_to fields
    f11e08e Read log output by chunks if a line is too long
    35cf4bc tests: Add test for container_to_build_args()
    9964604 Extract container_to_build_args()
    ac7ec5c Support network level mac_address attribute
    346f7a5 Ignore creating networks on network_mode=bridge.
    5564224 Add integration test for network scoped aliases
    978a138 Support network scoped service aliases
    4a232f5 Merge single and multi network handling in get_net_args_from_networks()
    aa8c6fd Simplify network handling in get_net_args_from_networks()
    fb0bbd6 Cleanup network alias processing
    b324029 Simplify network name processing when there is single network
    590c371 Move network alias processing to common location
    16196a1 Simplify ip address processing in get_net_args_from_networks()
    2dfbb59 Extract multiple network handling in get_net_args_from_networks()
    a34d1d1 Remove unused ip_assignments in get_net_args_from_networks()
    d6da65e Extract get_net_args_from_networks()
    de2c33d Simplify get_net_args_from_network_mode()
    2891be0 Ensure that network_mode and networks are not present at the same time
    a023dc1 Extract get_net_args_from_network_mode()
    420d19d Add integration test for default network behavior
    2cfc617 Support docker-compose like default network behavior
    054c66b Add device_cgroup_rules support
    145ae47 Simplified statements to retrieve keys from dictionaries
    a67fa0b Adding support for conditional dependencies
    3ba0396 Normalize depends_on service property
    973e15b Wrap dependencies within a class
    002c2e4 Extract run_container()
    a9cfdb6 build(deps): bump actions/checkout from 2 to 4
    c0dc3e4 build(deps): bump softprops/action-gh-release from 1 to 2
    41e69be Fix Dockerfile link in readme
    4203f79 add release.yml workflow
    69e95be add Dockerfile and related scripts
    db0aad9 podman-compose down removes networks
    ab33954 add ssh support for build command
    90f54b9 Add x-podman.no_hosts extension
    df8fa58 tests/integration: Automate manual 'nets_test2' test
    5c81bbf tests/integration: Automate manual 'nets_test1' test
    deed4d5 tests/integration: Automate manual 'ipam_default' test
    08b3ac2 tests/integration: Delete 'netprio' test
    0de7e13 tests/integration: Automate manual 'multicompose' test
    cb294d7 tests/integration: Automate manual 'nethost' test
    8d0dd21 tests/integration: Automate manual 'interpolation' test
    4a7329b Revert "Use defined environment variables in the image build process"
    de3f93c tests/integration: Relocate 'filesystem' test
    f4bf69b tests/integration: Automate manual 'extends_w_file_subdir' test
    124879a tests/integration: Automate manual 'extends_w_file' test
    368efe2 tests/integration: Automate manual 'extends_w_empty_service' test
    5610949 test: Use stable apt-get cli for package installation
    ea239c4 Simplify secrets assignment
    9fdee76 Initialize default values in PodmanCompose constructor
    0a6e0a3 Fix services replicas type
    26e6651 Type hints via annotations
    4626033 Remove is_dict,is_str for better pyright inference
    8411db4 Minimum Python version 3.9
    ed58ac0 clean up redundant default_net variable
    305f25b clean up redundant proj_name
    dc04108 tests/integration: Automate manual 'extends' test
    92dbd36 tests/integration: Automate 'env-file-tests' manual tests
    9e11c6b tests/integration: Automate manual 'exit-from' tests
    0d24c41 tests/integration: Automate 'env-tests' manual test
    34f5268 Add unittest for rec_subs
    b5eaf31 Support variable substitution with service's environment
    b3c49df podman_compose.py: support "platform" property in the build command
    7d7e64f Update docs+messages to reflect uidmaps/gidmaps code
    3c9c18c tests/integration: Automate `deps` manual test
    1e66c28 Remove references to nonexistent devel and stable branches
    d95b4d0 Add newsfragment
    e2eb883 Add `--network=none` if `network_mode: none` is set; fixes #1001.
    8505009 Support python direct call _parse_args or run

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-01-17 19:17:09 +00:00
Leonard Anderweit
74087fc372 podman-compose: Add runtime dependencies
Add missing runtime dependencies on python modules asyncio, json and
getpass provided by unixadmin.
Sort the dependencies alphabetically while at it.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-01-07 22:05:27 +00:00
Bruce Ashfield
2cf563716f podman-compose: update to v1.2.0 -tip
Bumping podman-compose to version v1.2.0-29-g0866492, which comprises the following commits:

    8505009 Support python direct call _parse_args or run
    9fe3038 tests/integration: Automate 'build_fail' manual test
    0f8348b tests/integration: Automate 'build' manual test

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-16 14:26:41 +00:00
Bruce Ashfield
58cddd438e podman-compose: update to v1.2.0
Bumping podman-compose to version v1.2.0-27-gdaab93b, which comprises the following commits:

    9fe3038 tests/integration: Automate 'build_fail' manual test
    0f8348b tests/integration: Automate 'build' manual test
    2091ade Add newsfragment
    ca58d7c Pass build description labels to podman build
    5bf4c0f Add a way to remove dashes in default network names
    67c5352 Extract default_network_name_for_project()
    5040a37 tests: Add integration tests for up -d with single container at a time
    29195be github: Install requirements unconditionally
    9a4af0c Discover tests instead of passing a list of files to unittest
    24038da Check whether pod exists before trying to create one
    2056e70 tests/integration: Reduce base path calculation duplication
    4ec57c1 unittests: Added unit tests for podman-compose secrets
    fa3e0a7 Alt Dockerfile names fix
    18472b5 Move all tests to single directory "tests"
    d38b26b Release 1.2.0
    37e2cb2 Add release notes for v1.2.0
    6ef759c Use newsfragments pattern for the release notes
    67ce900 Commit .env in tests/env-file-tests, bypassing root .gitignore
    4e9f767 Load .env from Compose file's directory and cwd
    405001b Fix comment
    6b1aeff Add unittests for type=env secret
    f06975b Update tests for type=env secret
    546cad5 Add type=env secret support
    935029d Fix environment variable precedents
    360b85b Allow providing custom in_pod argument as a global compose file variable
    82740cc Add ability to input docker-compose.yaml via stdin
    0f645e4 Add ability to input docker-compose.yaml via stdin
    3b15170 Changed the global parser help message for file input, to reflect changes for reading from stdin
    3359380 Add ability to input docker-compose.yaml via stdin
    e799a0b Fix x-podman.gidmap typo
    65d1fde github: Add verbose option to integration tests
    2e8ed2f pytests: Add test for object required but path non existent
    040b73a pytests: Add tests for several multi-line environment files
    f3e9a96 Fixes #908: Add support for multi-line environment files
    2c5d00d github/workflows: Add codespellignore file to address false positives
    b513f50 test: add missing unit tests for selinux in verbose mount
    cac836b Support additional_contexts
    09034a0 test: Split test_gpu test
    0065082 refine the test_include for multi subcomposes
    4f73f2b fix: add include test file, edit the assertion
    1d64f2c Update podman_compose.py
    4e22fae Fix logging build error message
    79865c2 Add support for enabling GPU access
    c23a8b2 Do not pass --ipam-driver option when value set to default
    b202a09 Add support for `env_file` as objects
    5c4aa40 add await for create_pods call
    cef1785 Add instructions on install from Homebrew
    b761050 tests: Merge multiple compose merging tests into single test class
    e1d0ea7 tests: Move normalize_service tests to a separate test class
    1430578 tests: Simplify command and entrypoint normalization tests
    d31a8b1 Don't create pods/container when registering systemd unit
    5df4e78 README: explain that netavark is an alternative to the dnsname plugin
    70a0e2d Fix handling of --in-pod argument
    eea8bac Add images command
    a6c4263 Add tests for x-podman.uidmaps and x-podman.gidmaps
    9599cc0 Migrate x-podman dictionary to x-podman.* fields in container root
    2b4ecee Add docs for podman specific compose file extensions
    77f2e8e Support podman's external rootfs management
    72a94d5 implement --publish in docker-compose run
    2681566 Release 1.1.0
    c97f003 Add release notes for v1.1.0
    131010b Use x- prefix for x-podman.mac_address
    cdcedeb Use "service.build.ulimits" when present instead of "service.ulimits"
    3e1f7d5 add tests for selinux with verbose bind mount
    d7cf096 add support for selinux in verbose mount
    1f35c00 Add unit test for depends_on normalization as a dict
    6c09ce7 FIX issue https://github.com/containers/podman-compose/issues/704 - Windows fix sock not working.
    953534a Support and document all podman-specific network_modes
    6feff24 slirp4netns can be used without options
    9fd4cf4 Add unit tests for network_mode
    65849c9 add comment about per-network aliases
    9baea70 use preferred format of podman command line options
    bdff78d Ignore files generated by tests
    45ca1f9 Support podman-specific per-network mac_address specifiation
    91fbea3 Add unit tests for get_net_args()
    2743d69 Fix support for multiple networks with explicitly specified ipv4/ipv6 addresses
    dd34a90 Add testcase for failing network config
    f0bae1e Don't resolve links to compose file
    81d81fb Formats CONTRIBUTING.md
    b263dc1 Fixes typos and enhances CONTRIBUTING.md
    078ee7b Updates Signed-off-by link in CONTRIBUTING.md
    a6e3ae7 Fixes invalid name of test package in setup.py
    1e9cf1d Pass file secrets to "podman build" via parameter "--secret"
    bbfff78 Bump actions/checkout from 3 to 4
    c351f99 Add coverage to Github Action summary
    829cde0 Rename test classes to match filenames
    da63048 Don't spellcheck requirementfiles
    5e55df8 fix python < 3.9 compatibility
    fde7995 Fix python < 3.11 compatibility
    c592596 Split out the different tests into separate CI steps
    688ee9a Fix pylint issues
    c3a152e Enable pylint, because it catches stuff that ruff misses
    bd60bc9 Run tests on all supported python versions
    9d8b0b8 add editorconfig
    f2f5483 Extract compose_run args parsing and add unit tests
    c4fa8f7 Split exec args parsing into new function and add unit tests for it
    4c270b9 Allow run/exec -e with equals sign in value
    c5f7f55 Remove implemented commands from Missing Commands
    c98cbaa Fix #782: add support for http_proxy
    91d316f Added handling `pid` option
    969edb8 Add support for enable_ipv6
    bba1f33 Factor out arg creation for "network create". Add unit tests.
    a9c335b Handle sysctls maps
    e67c52f test_container_to_args: handle async tests
    2cdfb3e Fix stop/restart args stacking
    8ec5e03 github: Add PR template
    da520e2 switch to % string lazy formatting * fix black and pylint issues
    1e9e2ee Output: use logging, remove garbage output by default
    0f693ee Replaces asyncio timeout with bespoke timeout function
    cf90ab2 Run codespell throughout fixing typos automagically
    d2fa801 ignore poped (not sure why not to make it popped)
    2477748 Add pre-commit definition for codespell
    6e65a73 Add rudimentary codespell config
    f95ca7a Add github action to codespell devel on push and PRs
    0c0e77c Bump actions/checkout from 3 to 4
    bb2338e Fix unsorted imports
    15ae214 Add support for runtime service configuration key
    ed39523 github: Enable ruff check
    4e43606 Shorten too long lines
    91052cb Fix ambiguous variable name
    a6e0092 Remove unused variable
    59a1fa3 Use 'not in' for membership test
    36139fb Remove unused f-string
    b0da6f8 Fix import formatting
    94df95a README: Fix link to tests badge
    3a5a283 README: Remove link to pylint test badge
    7c81044 github: Run actions on python:3.11-bookworm
    1a24cde tests: Properly tear down containers in extends_w_file_subdir test
    a90da4d github: Fix test names
    27c8ceb tests: Add verbose debug option via env variable
    0614687 tests: Print decoded subprocess output in case of failure
    6af7a2d tests: Optimize speed by using dumb-init to handle SIGTERM signal
    f4dc5f3 tests: Print output in case subprocess returns unexpected code
    b34f699 Add SPDX license identifiers to each source file
    2c6c1be github: Run tests on all branches
    91737ee Bump actions/setup-python from 4 to 5
    b65d4a3 github: Fix ruff job setup
    23fe9e7 Migrate tests to unittest
    7539257 requirements: Install . for tests
    a967cab Format codebase with ruff
    a5c354d Replace flake8, black, pylint with ruff
    e4e5b7d Make test requirements reproducible
    e0edd5d Fix package installation
    831caa6 remove recursion
    9ac3339 Fix issue #831
    c5be5ba Fixup tests
    c6a1c4c Add tests to make sure all async paths are covered
    3c9628b Fix a couple issues and update docs
    38b13a3 Use asyncio for subprocess calls
    bce40c2 Change "an key-value" to "a key-value"
    78f8cad Fix typos
    7942a54 fix styling errors
    cb9cf60 add stats command
    06587c1 rm redundant tests
    bc9168b add no-normalize flag
    57c527c add edits from review
    d1f5ac9 convert build context path to absolute during final normalisation
    0164c1d Simplify the fix using `or`.
    e5cdce4 default to an empty dict for the from service if the service is None
    280f177 Add a test to extend using an empty service (placeholder)
    f75d12a broken in py 3.7
    5454c3a Add 'links' aliases to container aliases
    901adf4 Use defined environment variables in the image build process
    bf07e91 Implement `include` from `compose-spec`
    c31b4e2 Fixes #723: merge short & long syntax of depends_on dependencies
    79bfad1 move logic from rec_merge to normalize_service
    d150946 allow empty list to be a command/entrypoint
    9011e9f add tests, dry up code, use shlex.split instead of str.split
    517aeba Allow config to merge strings and lists in command and entrypoint
    85d5d5d move logic from rec_merge to normalize_service
    1ffd24d Python version support: sync verified and advertised versions
    8c66b1c add test case for when build is a complex dictionary
    a0005db add code implementing build value merge
    221cf14 add tests for build value merge
    a61945b fix format
    6b6330c add build subcommand  and --build arg to compose_run
    5d279c4 Build-fail test example
    5a3bdbf Exit code managed at PodmanCompose.run()
    1eb1664 Linting fixes
    82182b7 Finish execution in compose_build only on command=build calls
    3f46188 Update project-1.env
    91bc6eb Keep chdir after loading env file
    59a59c1 Fixes #636: env-file shall be resolved relative to the CWD
    620f5d7 pre-commit black config: run in check only mode
    6f902fa Fix linting issues
    ccdf01e Revert "Use SELinux mount flag for secrets"
    e6b1eab Revert "Use more lenient SELinux mount flag for secrets"
    75de39c Use more lenient SELinux mount flag for secrets
    8741925 Use SELinux mount flag for secrets
    0b853f2 Ignore access mode when merging volumes short syntax
    847f01a Add a docker-compose test file for uidmaps/gidmaps
    e511e64 FIXES #228: Add support for uidmap and gidmap
    a9723ec Added a way to start containers with multiple ips and nets
    1cb608d allow project name to be fetched from dotenv
    252f1d5 updating black formatting for podman-compose.py
    13856d2 updating black formatting
    8d8df0b Adding basic support for --profile argument
    bc5f012 add option to start podman in existing network namespace
    9a08f85 FIXES #586: preserve exit code for podman-compose build
    8625d7a add ipam-driver support
    016c97f Fixes #663 - Fixes linting/pylint errors
    2df1167 Fixes #661 - Fixes linting/flake8 errors
    5eff38e Fixes #659: fix permissions when installing OS packages for linting/black
    7f5ce26 start version 1.0.7 and default with pod enabled by default
    f6dbce3 version 1.0.6

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-10 15:59:26 +00:00
Bruce Ashfield
c138943fed podman-compose: switch to main branch
The upstream project has made the "interesting" decision to
delete the stable branch and move to "main" for recent
releases. So rather than being able to simply switch for our
updates, we have to switch to main on all releases that had
podman-compose recipes using the stable branch.

Luckily, the commit hashes haven't changed, so we only have
to modify the branch in the SRC_URI.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-07-10 14:43:11 +00:00
Bruce Ashfield
f27566f573 layer-wide: drop PYTHON_PN
Similar to OE core commit b566b1e32c7993d1ab7795562f648e52ce186a70,
we no longer need PYTHON_PN for any abstraction of python2 vs python3.

Our similar / dup recipes are now causing signature differences, so
we go ahead and make the substitution, even if it isn't stricly
required.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-02-21 22:48:29 +00:00
Leonard Anderweit
28e044b98e podman-compose: Actually update to v1.0.6
Commit 1fc1b193 (podman-compse: update to v1.0.6) states an update to v1.0.6
but does not change the SRCREV. Fix this by using the correct SRCREV of v1.0.6.

Fixes: 1fc1b193 (podman-compse: update to v1.0.6)

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-11-06 16:21:12 +00:00
Leonard Anderweit
23ce17f66c podman-compose: Add missing runtime dependency python-dotenv
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-08-12 03:15:55 +00:00
Bruce Ashfield
1fc1b1935f podman-compse: update to v1.0.6
Bumping podman-compose to version v1.0.6, which comprises the following commits:

    f6dbce3 version 1.0.6
    dfb64d8 fix pylint
    990f774 fix pylint
    5e518c7 #648: check if sed exists to color logs
    9046f7e #634: follow up
    ef55067 add support for network priorities
    ed2a6c0 Support network_mode: none
    b4c0792 Add --remove-orphans on down command
    e84451f Allow environment parameters without value
    456370b Support build secrets
    efe3714 Add support for the `group_add` property of a service.
    c55a2f4 Fixes #657: Support act and developer-friendly environment
    b8a7593 #154: timeout
    bd29ddb #154: no -t for start
    38219eb FIXES #154: handle stop_grace_period
    08ffcf6 updating test_podman_compose_extends_w_file_subdir to use the correct image name
    801faea Bump actions/setup-python from 2 to 4
    06da966 Bump actions/checkout from 2 to 3
    de3f607 Check for github actions updates weekly
    db1861d pull: accept service names as positional arguments
    9d5b255 Use top-level name property as project name if user doesn't set one explicitly
    2d05c5c FIXES #534: add systemd unit label
    3c46016 FIXES #534: add systemd unit label
    5b9cfe5 implement services.*.build.tags
    8d1a4d7 Implemented basic Bash shell completion
    859f03c Add healthcheck.disable support
    ae6be27 reformat
    ccdb98c implement podman kill command
    909d05e reformat
    0cf98c7 reimplement the of pause and unpause commands
    843b876 fix typo
    1188463 fix Typo podman-composer in version command
    10580db  Add pause,unpause commands support
    f7d335d #516: allow empty network
    4a73ae8 FIXES #511: ipv6
    f674ab8 #512: only use --net when bridge
    265e0ca #512: only use --net when bridge
    92662f3 FIXES #511: ipv6
    42c0078 mac_address with dash
    da5ee72 reformat
    06fc071 reformat
    9eda56c FIXES #507: respecte mac_address
    13c8981 Fix help message for systemd subcommand
    ee7029f reformat
    75033a4 add python demo example
    c175fd1 reformat
    d479001 reference awesome-compose
    a2defdd example wordpress
    c55cd67 #307: default to /etc/
    eed38ce Fixed accidental deletion of project functionality.
    86ffad8 Added port subcommand.
    118d39b Fix linter errors
    814bd2a Support driver_opts for networks
    606b9d9 Simplify var assignment
    0057a4b Fix default external name in dict case
    8ecb749 Update external volume name management
    d983056 Update external volume name management
    ed302ca Fix external volume name when no name provided
    0b5c844 Add runtime error if no external volume exists
    9c29c89 FIXES #486: replace realpath with abspath
    89d2062 Fixed some spelling and grammar issues
    f42b568 Correct the help text for --pod-args
    a1d3ba4 Lint fixes for --services flag handling in config
    6be661f Support platform property
    fc3598f Allow --services in config
    fbff315 FIXES #464: accept -v in run
    fc34703 format
    c7ada82 format
    5e286f6 format
    3dd8b05 format
    3ecb4b5 FIXES #462: fix extends merge
    d05cad4 FIXES #462: fix extends merge
    ebb3dfe #452: better missing network message
    7b99b38 nethost test
    4ef8afc hit counter with redis cluster example
    a1aed09 GCR hello app
    2cacf9c add echo example
    4064c84 add azure vote example
    0dde95a update gitignore
    1be41b4 do not merge command array
    105c27c example nodejs project
    f820594 use exec for wait
    8a72321 FIXES #409: detect changes and recreate
    5293919 FIXES #409: detect changes and recreate
    48a19f1 print more help with systemd
    a9faabb print more help with systemd
    3fb2b98 print more help with systemd
    b35b7e4 add systemd -a list
    1a72e1e add systemd -a list
    b620311 FIXES #449: accept int port
    bf8004b systemd unit file
    cadf046 fix pylint
    8d8149c fix pylint
    3dd9817 fix pylint
    0b469e0 format
    9e3020a FIXES #307: systemd command
    fc9ed19 wait command
    2d6bb52 FIXES #442: allow --no-pod or custom --pod-args
    7942a09 FIXES #442: allow --no-pod or custom --pod-args
    701311a FIXES #447: support --env-file
    d704915 FIXES #447: support --env-file
    3b7bf81 remove unused test
    a735aa5 Fix inverted condition in merging arguments
    b785095 Fix linter issues
    7623180 Force black formatting
    af10345 FIXES #440: absolute secret
    2d1bcdd update readme
    4f02567 add unit tests
    0645212 add badge
    b7c5609 pylint
    4450835 pylint
    5c33e4e pylint
    cbd6f6b pylint cleanups
    de1e59d fix some pylint
    2f0ca9e add pytest ci
    59c9a69 add pylint
    b7eac1e pylint
    0d47e47 activate test
    c2d7b26 #434: handle unknown service
    1e895c0 calc proper hash
    132a22b #130: handle nested extend and normalize build context
    0bde01d remove unused imports
    91a579b Adding Test that the changes can build Image from build context of extended compose-file
    56b8863 Fixing subdirectory from extends where extended service will build a Service from Dockerfile in an own subdirectory
    5c3ec5f FIXES #431: support dns
    779198b #379: no infra container
    40cb6a7 log version
    4fd9d86 #379: nothing shared in the pod to allow hostname
    2a2c3a0 Fix timeout value data type
    80e8527 #379: create a pod
    d6e21dc FIXES #425: pass --requires
    b9b2f83 FIXES #415: allow network_mode=slirp4netns
    9af65ea adjust comment
    3e6e268 test for logs
    af6a306 fix syntax error without a new line
    68f745f referenced unmerged pr #192 to bring colors into container logging
    90dcfdb FIXES #420: document -t
    ed8635a FIXES #422: Remove debug print
    1d972ef Propagate all bind-type mount options
    536925c FIXES #413: parse network_mode: container:container_name correctly
    09c6cbe FIXES #408: preserve exit code
    154a512 FIXES #386: make sure volumes are present in top level
    523d215 #407: allow network_mode=service:mysrv
    25494b5 Update README.md
    19662c0 Fix healthcheck test type on replicas
    4943e52 #395: make podman respect PODMAN_* in .env
    4aa08cd FIXES #399: pass specific ip
    15e0ab9 FIXES #397: support host network mode
    f66861f #249: read COMPOSE_PROJECT_NAME env
    af53b65 Simplify volume identification
    890c584 Update README.md
    0bd493f Allow empty default/error value in substitution
    481c6d0 #394: config: multiple yaml
    31df70b updated per maintainer review
    df40051 removes version from CONTRIBUTING
    21a716c added log back in
    f00ac92 added config command
    0433410 added args for version
    0f9fe2b FiXES #393: missing arg when build as part of run
    a1be5ce add fallback to get
    56a4988 Add support for volume driver and options
    377b552 Fix substitution for empty variables
    c50599c FIXES #388: do not force build in run
    4557279 #88: multiple aliases
    7ad3775 FIXES #380: output to stderr
    30051c2 Update README.md. Add link to podman dns plugin source
    9e8e25c #378: down -v
    2c60516 fix hostname in test

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2023-08-01 14:42:25 -04:00
Bruce Ashfield
cba2694dac podman-compose: switch 1.0.3 to stable branch
It looks like 'devel' in podman compose gets rewritten, so our
1.0.3 commit is no longer on that branch, breaking fetches.

Moving to stable and changing the commit to avoid the issue.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-06-01 12:41:54 -04:00
Bruce Ashfield
0ac7cbd51a podman-compose: update to 1.0.3
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-03-21 17:31:28 -04:00
Bruce Ashfield
108e089f7e global: update licence values to SPDX values
These changes are the result of running the convert-spdx-licenses.py
oe-core script.

There's no impact to the build, but we will avoid issues when
interacting with core QA by the alignment.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-02-18 13:07:10 -05:00
Bruce Ashfield
9148b795f3 podman-compose: update to 0.1.8
Bumping podman-compose to version 0.1.8-2-g1555417, which comprises the following commits:

    1555417 FIXES #361: key error _service
    1f989ed FIXES #356: respect pull_policy
    66ce2a3 release 0.1.8
    d8e11d5 FIXES #312: run starts dependencies
    72c3572 #289: exit code and test for that
    c187e88 up and down specific containers
    31b8bb4 simpler passing of env
    f177712 Fix `up` arguments parsing
    ae3deb1 #355: fix dry run
    117b7fb command list of strings
    5acb997 command list of strings
    02b2f65 Update issue templates
    a36b6f1 Update issue templates
    e3be6dd Update issue templates
    4b75678 Update issue templates
    dcb038e remove tabs
    a2fef56 FIXES #353: down in reverse order
    c753b8e FIXES #167: support ContainerFile
    c9486c9 #115: handle string entrypoint
    f2aeaba #348: conditional --infra-name
    2d80e43 remove print
    d1a77de external name
    c49f070 volumes with names
    6d69b7c Add support external volumes
    ab13503 add support for long port publishing format
    069018c #342: set infra container name
    b33c42b Readability fix for missing commands
    785f7ad Get version info with setup.cfg
    b6a9f8e #335: report version with -v
    4a5fd23 #275 make pipx happy
    dc0ac0d docs: added the transform_policy default and description
    502d7cc #327: accept ports as string
    e85d79d added cpu_shares flag for v2
    bfb57b9 added cpu_shares flag for v2
    2d0aad6 Also pull images with a build section
    ff5b9f1 Support for logging
    62aa337 feat(secrets):  Add support for secrets
    3836094 Update podman_compose.py
    d97a20d #308: fix environment
    f417c9a #120: extend not add
    5ed5528 FIXES #120: parse mem and cpu limits
    3d6ca3c FIXES #120: parse mem and cpu limits
    6e3383d Convert numeric command arguments to string (fixes #77)
    8ef7587 Fix some typos (found by codespell)
    039fe30 Make sure port entries are converted to strings
    62d2024 Add stop_signal service attribute
    9317f98 #278: args
    045cef2 #289: report exit code when --exit-code-from
    a7f97b6 implement -e in run
    0ea18b4 Force adding an .env file for the tests
    00840d0 resolve conflict
    2ad7daa Test variable interpolation in the YAML
    080b8a3 Prefer 'compose.yaml' as per compose spec
    226ac4f fix missing --label flag in volume creation
    030a196 Fix README typo
    901213e Update podman_compose.py
    b337060 Add support for sysctls in compose file
    b3090c3 Mode Python installation and test deps to requirement files
    5fabfee Support annotations
    75a63df fix: check `.env` in current dir with `isfile` instead of `exists`
    08dd36f Add docker-compose labels for interoperability
    669953b Rework argument generation to adhere directly to what podman accepts.
    d3df688 Remove test code
    bda7b5e Add exec support
    6289d25 fixes #236: compatible with docker-compose
    abc0813 Only pull each image once
    9cd837f Fixes #236: Ensure project name works with podman
    a4b8b5e Fix 'podman-compose version' with no compose file in the working directory
    5971f57 FIXES #249: update dotenv with some envs
    ab96f12 FIXES #249: update dotenv with some envs
    f6a3cb0 Allow environment variables to be unset
    497355f Re-order environment/env_files to match compose
    20a86ea add --no-cache arg to build
    4e2e960 build specific service
    efba3a1 support str style configuration for env_file
    9063976 BUG: 'podman stop -t 360.0' called for float, expects int on cli
    3712b54 ENH: add timeout option to podman-compose down, as in https://docs.docker.com/compose/reference/down/
    294f8ee Hashlib to generate SHA256 instead of MD5 for FIPS
    105b129 Fix infinite loop
    d3f3711 FIXES #181: accept init and init-path
    7eacf14 MAINT: resolve https://github.com/containers/podman-compose/pull/180#issuecomment-632722974
    8cd98ab MAINT: extend instead of append
    047820d ENH: Added restart policy forwarding to podmann run, compose build args added to up args
    e7b1382 Add --build-arg to 'up' (Fixes #161)
    64ed554 Allow empty default/error value in substitution
    93bf39e Add Security Policy
    5915ba3 Catch error when compose file is empty
    1ca6a88 target once
    7b40079 Pass "target" parameter when building an image.
    f9915c4 Check for target property when building images
    1973340 Add support for --build-arg option
    e8147e3 Add support for cap_add/cap_drop
    7f210ff fixing "Error: unknown flag: --shm_size"
    cbed801 start detached
    6a42d68 add ports test
    07a2430 Fixes #152: validate that podman is useable
    5215782 Fixes #152: validate that podman is useable
    03cbd29 pass volumes using -v
    796e6a4 Avoid crash when no services are defined
    efcbc75 Pass ulimit parameters when building container
    dacc753 Add Code of Conduct
    8c3b7e6 Added mount option delegated and cached
    147f0ae Update README with dnf install instructions.
    27d3caf Add support for privileged option
    e7a9bd3 Show stopped containers in ps
    ddd582c Add support for logs subcommand
    169eaee Fix override of the run command
    c5f8973  Mixed-case directory names break 'podman create'
    12036aa FIXES #76: a service extends a service with same name
    7222fdb exit if not files
    bb7120f Fix stop command runs start instead
    7ebbe2e Fix KeyErrors encountered with extended services
    29d4cdc Remove unused funtion in setup.py
    a9216c3 podman volume inspect mountPoint/Mountpoint
    e538852 #57: better ps via label
    b1c2b02 podman_compose.py
    9e0dd2d extends with external file
    72c1992 Remove never-shared options.
    3e2381f Support extends
    dee813a #47: version command
    9684429 #52: fix how we split commands
    87e7211 #54: fix ulimits
    7269701 Fixed get of ulimit tag, according to docker-compose specification
    b369073 Fix podman-compose run command parsing
    62f0cc4 Changed -l flag to --label in order to be compatible with Podman 1.0.2.dev
    c152d28 Support for generic  container-compose format
    8e43e69 FIX #41: compare original volume name
    751aaa8 Add support for devices in a service
    243bdb6 Add support for setting container ulimit
    2202e7f Add support for setting container ulimit
    f505e49 a test showing yaml anchor magic
    2e4378f add string check for cmd line args
    2a8d430 FIXES #35: now support multiple composer files
    a512c0c #35: test for multiple -f
    f008986 release 0.1.5

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-22 11:56:56 -05:00
Bruce Ashfield
0a7ae8bc50 global: convert github SRC_URIs to use https protocol
github is removing git:// access, and fetches will start experiencing
interruptions in service, and eventually will fail completely.

bitbake will also begin to warn on github src_uri's that don't use
https. So we convert the meta-virt instances to use protocol=https
(done using the oe-core contrib conversion script)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-11-02 09:57:03 -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
Martin Jansa
92f976404b podman-compose: remove pypi inherit to fix do_fetch
* now when pypi uses SRC_URI_prepend since:
  https://git.openembedded.org/openembedded-core/commit/?id=8f17b8bce85efb0e9a7e15d0b98a5cf7b6bd9750
  both entries end in SRC_URI (because of delayed nature of prepend):
  https://files.pythonhosted.org/packages/source/p/podman-compose/podman-compose-0.1.5.tar.gz
  git://github.com/containers/podman-compose.git

  causing:
  ERROR: podman-compose-0.1.5-r0 do_fetch: No checksum specified for '/OE/build/oe-core/downloads/podman-compose-0.1.5.tar.gz', please add at least one to the recipe:
  SRC_URI[sha256sum] = "fb229362f188980ea3fbdee2a25d0a2dd6a0b886d925d5213e22e09f1062ebe9"
  ERROR: podman-compose-0.1.5-r0 do_fetch: Fetcher failure for URL: 'https://files.pythonhosted.org/packages/source/p/podman-compose/podman-compose-0.1.5.tar.gz'. Missing SRC_URI checksum
  ERROR: Logfile of failure stored in: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/podman-compose/0.1.5-r0/temp/log.do_fetch.55855

  drop pypi inherit to restore the previous SRC_URI with just the git:// entry.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-03 23:41:04 -04:00
Bruce Ashfield
f32657ae6e podman-compse: update to latet 0.15 hash
Updating to the latest commits, and switching to the named
'devel' branch (from master previously).

The following commits are part of this update:

   6289d25 fixes #236: compatible with docker-compose
   abc0813 Only pull each image once
   9cd837f Fixes #236: Ensure project name works with podman
   a4b8b5e Fix 'podman-compose version' with no compose file in the working directory
   5971f57 FIXES #249: update dotenv with some envs
   ab96f12 FIXES #249: update dotenv with some envs
   f6a3cb0 Allow environment variables to be unset
   497355f Re-order environment/env_files to match compose
   20a86ea add --no-cache arg to build
   4e2e960 build specific service
   efba3a1 support str style configuration for env_file
   9063976 BUG: 'podman stop -t 360.0' called for float, expects int on cli
   3712b54 ENH: add timeout option to podman-compose down, as in https://docs.docker.com/compose/reference/down/
   294f8ee Hashlib to generate SHA256 instead of MD5 for FIPS
   105b129 Fix infinite loop
   d3f3711 FIXES #181: accept init and init-path
   7eacf14 MAINT: resolve https://github.com/containers/podman-compose/pull/180#issuecomment-632722974
   8cd98ab MAINT: extend instead of append
   047820d ENH: Added restart policy forwarding to podmann run, compose build args added to up args
   e7b1382 Add --build-arg to 'up' (Fixes #161)
   64ed554 Allow empty default/error value in substitution
   93bf39e Add Security Policy
   5915ba3 Catch error when compose file is empty
   1ca6a88 target once
   7b40079 Pass "target" parameter when building an image.
   f9915c4 Check for target property when building images
   1973340 Add support for --build-arg option
   e8147e3 Add support for cap_add/cap_drop
   7f210ff fixing "Error: unknown flag: --shm_size"
   cbed801 start detached
   6a42d68 add ports test
   07a2430 Fixes #152: validate that podman is useable
   5215782 Fixes #152: validate that podman is useable
   03cbd29 pass volumes using -v
   796e6a4 Avoid crash when no services are defined
   efcbc75 Pass ulimit parameters when building container
   dacc753 Add Code of Conduct
   8c3b7e6 Added mount option delegated and cached
   147f0ae Update README with dnf install instructions.
   27d3caf Add support for privileged option
   e7a9bd3 Show stopped containers in ps
   ddd582c Add support for logs subcommand
   169eaee Fix override of the run command
   c5f8973  Mixed-case directory names break 'podman create'
   12036aa FIXES #76: a service extends a service with same name
   7222fdb exit if not files
   bb7120f Fix stop command runs start instead
   7ebbe2e Fix KeyErrors encountered with extended services
   29d4cdc Remove unused funtion in setup.py
   a9216c3 podman volume inspect mountPoint/Mountpoint
   e538852 #57: better ps via label
   b1c2b02 podman_compose.py
   9e0dd2d extends with external file
   72c1992 Remove never-shared options.
   3e2381f Support extends
   dee813a #47: version command
   9684429 #52: fix how we split commands
   87e7211 #54: fix ulimits
   7269701 Fixed get of ulimit tag, according to docker-compose specification
   b369073 Fix podman-compose run command parsing
   62f0cc4 Changed -l flag to --label in order to be compatible with Podman 1.0.2.dev
   c152d28 Support for generic  container-compose format
   8e43e69 FIX #41: compare original volume name
   751aaa8 Add support for devices in a service
   243bdb6 Add support for setting container ulimit
   2202e7f Add support for setting container ulimit
   f505e49 a test showing yaml anchor magic
   2e4378f add string check for cmd line args
   2a8d430 FIXES #35: now support multiple composer files
   a512c0c #35: test for multiple -f

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-02-06 13:02:10 -05:00
Stefan Agner
4d6edd4fc5 podman-compose: move into subdirectory
The layer does not expect recipes in the first subdir. Move the
podman-compose recipe into a podman-compose subdirectory.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-14 21:56:17 -04:00