Commit Graph

129 Commits

Author SHA1 Message Date
Monika Kairaityte
360b85bf2d Allow providing custom in_pod argument as a global compose file variable
Default command line argument `in_pod` was set to True, but this breaks
the compose file for users who want to use `--userns` argument. This
commit sets default `in_pod` value to None, and later resolves whether
to create a pod by checking compose file, as new argument in compose
file x-podman is now available. Now it is convenient for users to pass
custom `in_pod` value (True or False) as a compose file argument when
command line value of `in_pod` is not provided.

Signed-off-by: Monika Kairaityte <monika@kibit.lt>
2024-06-20 09:42:22 +03:00
Monika Kairaityte
040b73adab pytests: Add tests for several multi-line environment files
Signed-off-by: Monika Kairaityte <monika@kibit.lt>
2024-05-29 00:09:15 +03:00
Otto Liljalaakso
cac836b0f5 Support additional_contexts
Signed-off-by: Otto Liljalaakso <otto.liljalaakso@novatron.fi>
2024-05-21 19:44:37 +03:00
Zhen Liu
0065082db9 refine the test_include for multi subcomposes
Signed-off-by: Zhen Liu <lzhen.dev@outlook.com>
2024-05-21 11:28:27 +03:00
Muayyad Alsadi
5d4de80ab7
Merge pull request #911 from charliemirabile/selinux
Add support for selinux in verbose bind mount specification
2024-05-19 11:13:45 +03:00
Zhen Liu
4f73f2b79e fix: add include test file, edit the assertion
Signed-off-by: Zhen Liu <lzhen.dev@outlook.com>
2024-05-18 21:23:43 +08:00
fccagou
c23a8b2cbd Do not pass --ipam-driver option when value set to default
fixes #852.

Signed-off-by: fccagou <me@fccagou.fr>
2024-05-06 17:00:17 +03:00
Alexandre Germain
b202a09501 Add support for env_file as objects
Fixes: https://github.com/containers/podman-compose/issues/897

Signed-off-by: Alexandre Germain <nihilivin@gmail.com>
2024-05-06 14:13:37 +03:00
Povilas Kanapickas
131010bc9d Use x- prefix for x-podman.mac_address
Docker compose documents x- prefix as standard vendor prefix.

https://github.com/compose-spec/compose-spec/pull/18

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-04-17 20:16:03 +03:00
Cam Spiers
cdcedeb6b2 Use "service.build.ulimits" when present instead of "service.ulimits"
Signed-off-by: Cam Spiers <camspiers@gmail.com>
2024-04-17 19:45:34 +03:00
charliemirabile
3e1f7d554b add tests for selinux with verbose bind mount
based on seccomp test. Without the selinux option, visiting localhost:8080
will give a 404 error because httpd cannot access the file, but with selinux: z
the context for the file will be appropriately updated so httpd can access it

Signed-off-by: charliemirabile <46761267+charliemirabile@users.noreply.github.com>
2024-04-10 15:29:03 -04:00
Bas Zoetekouw
45ca1f994f Support podman-specific per-network mac_address specifiation
Signed-off-by: Bas Zoetekouw <bas.zoetekouw@surf.nl>
2024-03-28 16:09:43 +02:00
Bas Zoetekouw
dd34a90068 Add testcase for failing network config
Signed-off-by: Bas Zoetekouw <bas.zoetekouw@surf.nl>
2024-03-28 16:09:43 +02:00
wiehe
1e9cf1dff0
Pass file secrets to "podman build" via parameter "--secret"
to make them available for "RUN --mount=type=secret" statements inside the
Dockerfile.

Keep using --volume to pass file secrets to "podman run".

Signed-off-by: wiehe <28457227+wiehe@users.noreply.github.com>
2024-03-12 17:23:40 +01:00
Evgeniy Timokhov
91d316ff1f Added handling pid option
Fixes #554

Signed-off-by: Evgeniy Timokhov <timocov@gmail.com>
2024-03-09 16:10:37 +00:00
Povilas Kanapickas
4e43606df3 Shorten too long lines
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 23:46:24 +02:00
Povilas Kanapickas
b0da6f82d3 Fix import formatting
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 23:46:19 +02:00
Povilas Kanapickas
1a24cde608 tests: Properly tear down containers in extends_w_file_subdir test
podman rmi does not guarantee that the container itself is shut down.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 15:52:40 +02:00
Povilas Kanapickas
27c8cebbdc tests: Add verbose debug option via env variable
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 15:34:00 +02:00
Povilas Kanapickas
0614687840 tests: Print decoded subprocess output in case of failure
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 15:11:25 +02:00
Povilas Kanapickas
6af7a2d691 tests: Optimize speed by using dumb-init to handle SIGTERM signal
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 14:45:53 +02:00
Povilas Kanapickas
f4dc5f3b93 tests: Print output in case subprocess returns unexpected code
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 13:14:02 +02:00
Povilas Kanapickas
b34f699adb Add SPDX license identifiers to each source file
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 12:19:51 +02:00
Povilas Kanapickas
23fe9e7e1d Migrate tests to unittest
unittest is much more straightforward without any magic. In a small
project like podman-compose being easy to understand is more important
than features.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-08 11:33:17 +02:00
Povilas Kanapickas
a967cab02b Format codebase with ruff
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2024-03-07 18:28:06 +02:00
Falmarri
c6a1c4c432 Add tests to make sure all async paths are covered
Not at 100% yet. But upped code coverage significantly and covered major
async calls.

Signed-off-by: Falmarri <463948+Falmarri@users.noreply.github.com>
2024-02-04 10:11:57 +03:00
Falmarri
3c9628b462 Fix a couple issues and update docs
Signed-off-by: Falmarri <463948+Falmarri@users.noreply.github.com>
2024-02-04 10:11:57 +03:00
Falmarri
38b13a34ea Use asyncio for subprocess calls
Removes the threads from compose_up and manages it using async. Also
uses async processing to format the log messages instead of piping
through sed. This should work on windows without having sed installed

Adds --parallel to support pull and build in parallel, same as docker
compose

Signed-off-by: Falmarri <463948+Falmarri@users.noreply.github.com>
2024-02-04 10:11:57 +03:00
Natanael Arndt
280f1770bf Add a test to extend using an empty service (placeholder)
Signed-off-by: Natanael Arndt <arndtn@gmail.com>
2023-07-26 17:32:14 +03:00
Mahmoud Abduljawad
bf07e91163 Implement include from compose-spec
Signed-off-by: Mahmoud Abduljawad <mahmoud@masaar.com>
2023-07-18 13:05:46 +03:00
BugFest
5d279c4948 Build-fail test example
Signed-off-by: BugFest <bugfest.dev@pm.me>
2023-04-12 22:25:33 +03:00
BugFest
5a3bdbf89b Exit code managed at PodmanCompose.run()
Signed-off-by: BugFest <bugfest.dev@pm.me>
2023-04-12 22:25:33 +03:00
BugFest
3f4618866b Update project-1.env 2023-04-10 14:14:14 +03:00
BugFest
59a59c1a3a Fixes #636: env-file shall be resolved relative to the CWD
Signed-off-by: BugFest <bugfest.dev@pm.me>
2023-04-10 14:14:14 +03:00
BugFest
6f902faed0 Fix linting issues
Signed-off-by: BugFest <bugfest.dev@pm.me>
2023-04-10 14:12:32 +03:00
Bhavin Gandhi
0b853f29f4 Ignore access mode when merging volumes short syntax
The target path inside the container is treated as a key. Ref:
https://github.com/compose-spec/compose-spec/blob/master/spec.md#merging-service-definitions

Signed-off-by: Bhavin Gandhi <bhavin7392@gmail.com>
2023-04-10 12:25:05 +03:00
waechtjn
847f01a6c6 Add a docker-compose test file for uidmaps/gidmaps
Add a simple docker-compose.yml test to use the x-podman extension with
uidmaps and gitmaps
2023-04-10 12:22:25 +03:00
Dixon Whitmire
13856d2e9c updating black formatting
Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>
2023-04-10 12:12:18 +03:00
Dixon Whitmire
8d8df0bc28 Adding basic support for --profile argument
Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>
2023-04-10 12:12:18 +03:00
BugFest
016c97fd1e Fixes #663 - Fixes linting/pylint errors
Signed-off-by: BugFest <bugfest.dev@pm.me>
2023-04-10 11:53:47 +03:00
Muayyad alsadi
9046f7eee0 #634: follow up 2023-04-09 12:00:45 +03:00
Dixon Whitmire
08ffcf6126 updating test_podman_compose_extends_w_file_subdir to use the correct image name
Signed-off-by: Dixon Whitmire <dixonwh@gmail.com>
2022-10-28 00:13:56 +02:00
Muayyad alsadi
7b99b38f0e nethost test 2022-03-19 00:17:22 +03:00
Muayyad alsadi
3b7bf81051 remove unused test 2022-03-08 10:47:16 +03:00
Piotr Husiatyński
762318093c Force black formatting
Black removes the burden of manual code formatting and is by now
considered the standard Python formatting tool.

https://black.readthedocs.io/en/stable/

Format all Python code with black.

GitHub linting action is updated to ensure all files are formatted with
Black.

Signed-off-by: Piotr Husiatyński <phusiatynski@gmail.com>
2022-03-01 17:16:04 +03:00
Muayyad alsadi
af10345483 FIXES #440: absolute secret 2022-02-28 01:19:39 +03:00
Muayyad alsadi
1e895c0873 calc proper hash 2022-02-25 18:56:36 +03:00
Muayyad alsadi
132a22b524 #130: handle nested extend and normalize build context 2022-02-25 18:32:19 +03:00
kjunker
0bde01de07 remove unused imports
Signed-off-by: kjunker <junker.kurt@googlemail.com>
2022-02-22 13:26:44 +02:00
kjunker
91a579b81e Adding Test that the changes can build Image from build context of extended compose-file
Signed-off-by: kjunker <junker.kurt@googlemail.com>
2022-02-22 13:26:44 +02:00
Muayyad alsadi
3e6e268034 test for logs 2022-02-12 13:54:30 +02:00
Muayyad alsadi
4557279930 #88: multiple aliases 2021-12-25 21:06:29 +02:00
Muayyad alsadi
2c60516f77 fix hostname in test 2021-12-23 00:34:01 +02:00
Mark Stosberg
6b5f62d693 Fixes #199: seccomp:unconfined 2021-12-11 01:50:40 +02:00
aanno
17f9ca61bd test fixes for SELinux (Fedora) 2021-11-24 18:06:18 +02:00
Muayyad alsadi
80a47a13d5 add network-alias 2021-11-21 12:35:13 +02:00
Muayyad alsadi
872404c3a7 initial work on CNI podman network create 2021-11-21 01:23:29 +02:00
Muayyad alsadi
d8e11d59ef FIXES #312: run starts dependencies 2021-11-14 01:37:22 +02:00
Muayyad alsadi
72c3572123 #289: exit code and test for that 2021-11-14 00:59:41 +02:00
Muayyad alsadi
d1a77defcd external name 2021-10-14 02:11:45 +03:00
Muayyad alsadi
ab135030c8 add support for long port publishing format 2021-10-10 00:43:01 +03:00
Sam
62aa337f17 feat(secrets): Add support for secrets
Adds support for -
- (1) Declared secrets with the file location.
- (2) Declared secrets with file location, mounted as a different named secret.
- (3) Declared secrets with file location, mounted at arbitrary location.
- (4) External secrets (type=mount), mounted as original secret name.
- (5) External secrets (type=mount), mounted as original secret name, with specified uid, gid and mode.
2021-07-24 02:29:32 +03:00
Stefan Weil
8ef7587aa1 Fix some typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-06-16 22:17:28 +03:00
Muayyad alsadi
a7f97b6120 implement -e in run 2021-05-06 01:17:01 +03:00
Diogo Galvão
0ea18b4419 Force adding an .env file for the tests 2021-05-06 00:50:41 +03:00
Diogo Galvão
2ad7daa81f Test variable interpolation in the YAML 2021-05-06 00:44:46 +03:00
Andrej Zieger
19733407b4 Add support for --build-arg option 2020-04-22 14:31:00 +03:00
Muayyad alsadi
6a42d6861d add ports test 2020-04-18 22:41:06 +03:00
Enrico204
796e6a4473 Avoid crash when no services are defined
If no services are defined, podman-compose
crashes as services variable is None,
while the expected behavior might be
an error or the same as docker-compose, which will continue the
execution of the compose file (eg. creating networks, etc).

This commit fixes the crash and allows the program to continue, mimicking
docker-compose behavior.
2020-04-05 10:42:31 +03:00
Muayyad alsadi
9e0dd2da9d extends with external file 2019-10-05 22:37:14 +03:00
Marius Hoch
3e2381f040 Support extends
https://docs.docker.com/compose/extends/

Doesn't yet support referring to another file.

Needs Python 3.5+ (for merging dicts using **)
2019-10-05 22:35:05 +03:00
Muayyad alsadi
87e7211ade #54: fix ulimits 2019-10-04 20:27:19 +03:00
Muayyad Alsadi
d9cd0d6186 Merge branch 'master' of github.com:containers/podman-compose into devel 2019-09-13 22:23:22 +03:00
Tyler Ramer
2202e7f39b Add support for setting container ulimit
- supports `ulimit: host` or other single value
- As well as `ulimit: [nofile=5000, nproc=5000]` array
- As well as `ulimit: {nofile: 5000, nproc: 5000}` dict

Authored-by: Tyler Ramer <tramer@pivotal.io>
2019-09-11 18:12:29 -04:00
Muayyad Alsadi
f505e499a2 a test showing yaml anchor magic 2019-09-09 00:48:25 +03:00
Muayyad Alsadi
2a8d430c92 FIXES #35: now support multiple composer files 2019-09-08 02:20:48 +03:00
Muayyad Alsadi
a512c0cb82 #35: test for multiple -f 2019-09-04 16:12:13 +03:00
Muayyad Alsadi
be2726da18 test compose files with build 2019-09-03 18:35:56 +03:00
Muayyad Alsadi
470f8a3851 update readme and no arguments print help 2019-09-03 00:19:07 +03:00