Commit Graph

463 Commits

Author SHA1 Message Date
Simon Cornish 9d5b255927 Use top-level name property as project name if user doesn't set one explicitly
Signed-off-by: Simon Cornish <7t9jna402@sneakemail.com>
2022-08-18 10:00:28 +03:00
Muayyad alsadi 2d05c5c339 FIXES #534: add systemd unit label 2022-07-29 21:13:44 +03:00
Muayyad alsadi 3c460160e0 FIXES #534: add systemd unit label 2022-07-29 21:13:07 +03:00
Wilke Schwiedop 5b9cfe5d17 implement services.*.build.tags
https://github.com/compose-spec/compose-spec/blob/master/build.md#tags
2022-07-28 02:25:49 +03:00
inganault 859f03cbe6 Add healthcheck.disable support
Signed-off-by: inganault <p.po.oo.on.n@gmail.com>
2022-07-14 23:33:16 +03:00
Muayyad alsadi ae6be272b5 reformat 2022-07-14 00:59:10 +03:00
Mohammed Tayeh ccdb98c0e4 implement podman kill command
Signed-off-by: Mohammed Tayeh <info@tayeh.me>
2022-07-14 00:55:33 +03:00
Muayyad alsadi 909d05e718 reformat 2022-07-13 20:45:16 +03:00
Mohammed Tayeh 0cf98c7893 reimplement the of pause and unpause commands
Signed-off-by: Mohammed Tayeh <info@tayeh.me>
2022-07-13 20:31:46 +03:00
Mohammed Tayeh 843b876885 fix typo
Signed-off-by: Mohammed Tayeh <info@tayeh.me>
2022-07-13 20:31:46 +03:00
Mohammed Tayeh 1188463734 fix Typo podman-composer in version command
Signed-off-by: Mohammed Tayeh <info@tayeh.me>
2022-07-13 20:31:46 +03:00
Mohammed Tayeh 10580db329 Add pause,unpause commands support
Signed-off-by: Mohammed Tayeh <info@tayeh.me>
2022-07-13 20:31:46 +03:00
Muayyad alsadi f7d335dc6a #516: allow empty network 2022-07-04 18:21:31 +03:00
Muayyad alsadi 4a73ae86bc FIXES #511: ipv6 2022-06-29 12:03:54 +03:00
Muayyad alsadi f674ab8cfb #512: only use --net when bridge 2022-06-29 11:55:39 +03:00
Muayyad alsadi 265e0ca32a #512: only use --net when bridge 2022-06-29 10:46:47 +03:00
Muayyad alsadi 92662f3409 FIXES #511: ipv6 2022-06-28 15:58:19 +03:00
Muayyad alsadi 42c0078e6b mac_address with dash 2022-06-22 14:24:34 +03:00
Muayyad alsadi da5ee723c3 reformat 2022-06-21 21:54:44 +03:00
Muayyad alsadi 06fc0715fe reformat 2022-06-21 21:51:09 +03:00
Muayyad alsadi 9eda56caf9 FIXES #507: respecte mac_address 2022-06-21 21:48:45 +03:00
Stefan Marinov 13c8981c6d Fix help message for systemd subcommand
- Fix wording in docstring about initial setup of systemd service.
- Trim extra indentation at start of multiline docstrings.

Signed-off-by: Stefan Marinov <smarnv@dnl.sk>
2022-05-15 17:50:27 +03:00
Muayyad alsadi c175fd1b10 reformat 2022-05-10 01:30:03 +03:00
Muayyad alsadi c55cd67bd2 #307: default to /etc/ 2022-05-10 01:13:34 +03:00
Daniel Roythorne eed38ce76c Fixed accidental deletion of project functionality. 2022-05-10 01:11:32 +03:00
Daniel Roythorne 86ffad86c7 Added port subcommand. 2022-05-10 01:11:32 +03:00
Gagootron 118d39b5bb Fix linter errors 2022-05-10 01:10:29 +03:00
Gagootron 814bd2a31a Support driver_opts for networks 2022-05-10 01:10:29 +03:00
ohxodi 606b9d94c8 Simplify var assignment 2022-04-29 17:11:58 +03:00
ohxodi 0057a4bb31 Fix default external name in dict case 2022-04-29 17:11:58 +03:00
ohxodi 8ecb74916d Update external volume name management 2022-04-29 17:11:58 +03:00
ohxodi d983056982 Update external volume name management 2022-04-29 17:11:58 +03:00
ohxodi ed302ca518 Fix external volume name when no name provided 2022-04-29 17:11:58 +03:00
ohxodi 0b5c844431 Add runtime error if no external volume exists 2022-04-29 17:11:58 +03:00
Muayyad alsadi 9c29c8914f FIXES #486: replace realpath with abspath 2022-04-27 13:01:24 +03:00
Muz f42b568fc2 Correct the help text for --pod-args
Signed-off-by: Muz <git@mustaqila.li>
2022-04-10 22:21:35 +03:00
Muz Ali a1d3ba4ea2 Lint fixes for --services flag handling in config
Signed-off-by: Muz Ali <muz.ali@shopify.com>
2022-04-07 08:25:03 +03:00
Shane Smith 6be661f6da Support platform property
As per https://github.com/compose-spec/compose-spec/blob/master/spec.md#platform

Example:

```
services:
  mysql:
    image: mysql:5.7
    platform: linux/x86_64
```

Signed-off-by: Shane Smith <shane.smith@shopify.com>
2022-04-07 08:24:46 +03:00
Muz fc3598faf2 Allow --services in config
Signed-off-by: Muz <git@mustaqila.li>
2022-04-04 11:20:41 +03:00
Muayyad alsadi fbff315e18 FIXES #464: accept -v in run 2022-03-29 21:17:02 +03:00
Muayyad alsadi fc34703dd4 format 2022-03-28 14:07:36 +03:00
Muayyad alsadi 5e286f6356 format 2022-03-28 13:52:21 +03:00
Muayyad alsadi 3dd8b05d74 format 2022-03-28 13:47:28 +03:00
Muayyad alsadi 3ecb4b5dd5 FIXES #462: fix extends merge 2022-03-28 13:40:02 +03:00
Muayyad alsadi d05cad4c65 FIXES #462: fix extends merge 2022-03-28 13:32:22 +03:00
Muayyad alsadi ebb3dfe634 #452: better missing network message 2022-03-20 17:16:59 +03:00
Muayyad alsadi 1be41b46a5 do not merge command array 2022-03-18 18:29:27 +03:00
Muayyad alsadi 105c27c8dc example nodejs project 2022-03-18 18:05:57 +03:00
Muayyad alsadi f820594257 use exec for wait 2022-03-18 15:50:24 +03:00
Muayyad alsadi 8a72321720 FIXES #409: detect changes and recreate 2022-03-16 15:27:30 +03:00
Muayyad alsadi 529391963d FIXES #409: detect changes and recreate 2022-03-16 15:25:57 +03:00
Muayyad alsadi 48a19f13fc print more help with systemd 2022-03-15 23:01:22 +03:00
Muayyad alsadi a9faabb1b0 print more help with systemd 2022-03-15 22:50:03 +03:00
Muayyad alsadi 3fb2b98ecc print more help with systemd 2022-03-15 22:47:54 +03:00
Muayyad alsadi b35b7e448a add systemd -a list 2022-03-14 14:17:49 +03:00
Muayyad alsadi 1a72e1e087 add systemd -a list 2022-03-14 14:05:20 +03:00
Muayyad alsadi b620311aaf FIXES #449: accept int port 2022-03-13 23:36:25 +03:00
Muayyad alsadi bf8004b04d systemd unit file 2022-03-13 11:20:59 +03:00
Muayyad alsadi cadf046306 fix pylint 2022-03-13 10:18:03 +03:00
Muayyad alsadi 8d8149cfe5 fix pylint 2022-03-13 10:12:36 +03:00
Muayyad alsadi 3dd981727b fix pylint 2022-03-13 10:08:48 +03:00
Muayyad alsadi 0b469e0590 format 2022-03-12 23:17:26 +03:00
Muayyad alsadi 9e3020a9df FIXES #307: systemd command 2022-03-12 23:08:24 +03:00
Muayyad alsadi fc9ed19b2b wait command 2022-03-12 21:16:16 +03:00
Muayyad alsadi 2d6bb52e36 FIXES #442: allow --no-pod or custom --pod-args 2022-03-08 21:22:43 +03:00
Muayyad alsadi 7942a091c3 FIXES #442: allow --no-pod or custom --pod-args 2022-03-08 21:13:14 +03:00
Muayyad alsadi 701311aa7a FIXES #447: support --env-file 2022-03-08 12:01:02 +03:00
Muayyad alsadi d7049150d0 FIXES #447: support --env-file 2022-03-08 10:57:44 +03:00
Tom Bu a735aa5b96 Fix inverted condition in merging arguments
Signed-off-by: Tom Bu <tombu@tombu.info>
2022-03-02 06:12:26 +03:00
Piotr Husiatyński b78509527b Fix linter issues
Make _cmd_desc a public attribute, so that it can be used outside of the
class methods.

Signed-off-by: Piotr Husiatyński <phusiatynski@gmail.com>
2022-03-01 17:16:04 +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 44508352e8 pylint 2022-02-26 02:49:34 +03:00
Muayyad alsadi 5c33e4efbb pylint 2022-02-26 01:41:07 +03:00
Muayyad alsadi cbd6f6b1b6 pylint cleanups 2022-02-26 00:48:42 +03:00
Muayyad alsadi de1e59d1d5 fix some pylint 2022-02-25 23:59:15 +03:00
Piotr Husiatyński c2d7b26f2e #434: handle unknown service 2022-02-25 21:13:10 +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 56b88639ad Fixing subdirectory from extends where extended service will build a Service from Dockerfile in an own subdirectory
Signed-off-by: kjunker <junker.kurt@googlemail.com>
2022-02-22 13:26:44 +02:00
Muayyad alsadi 5c3ec5f49a FIXES #431: support dns 2022-02-20 22:11:15 +02:00
Muayyad alsadi 779198b003 #379: no infra container 2022-02-17 17:19:25 +02:00
Muayyad alsadi 40cb6a760e log version 2022-02-17 13:36:44 +02:00
Muayyad alsadi 4fd9d86e17 #379: nothing shared in the pod to allow hostname 2022-02-17 13:28:31 +02:00
Devansh Sharma 2a2c3a09c1 Fix timeout value data type
Signed-off-by: Devansh Sharma <devansh.sharma@gmail.com>
2022-02-17 10:16:39 +02:00
Muayyad alsadi 80e852717d #379: create a pod 2022-02-15 01:55:28 +02:00
Muayyad alsadi d6e21dc752 FIXES #425: pass --requires 2022-02-15 01:33:00 +02:00
Muayyad alsadi b9b2f83d04 FIXES #415: allow network_mode=slirp4netns 2022-02-12 17:39:42 +02:00
Muayyad alsadi 9af65ea112 adjust comment 2022-02-12 17:35:04 +02:00
Cody Hutchins af6a3069ce fix syntax error without a new line
Signed-off-by: Cody Hutchins <codyhutchins@seed-innovations.com>
2022-02-12 13:47:45 +02:00
Cody Hutchins 68f745fe62 referenced unmerged pr #192 to bring colors into container logging
Signed-off-by: Cody Hutchins <codyhutchins@seed-innovations.com>
2022-02-12 13:47:45 +02:00
Geoffroy Doucet ed8635a9a3 FIXES #422: Remove debug print
Signed-off-by: Geoffroy Doucet <geoffroy.doucet@kloodz.com>
2022-02-12 13:35:58 +02:00
Adrian Torres 1d972ef174 Propagate all bind-type mount options
Before this commit, adding multiple options to a bind-type mount
(e.g. /foo/bar:/baz:Z,U) would result in a podman command in which
only the last option would be used (e.g. U).

This is because when parsing the mount string, a loop would go over
each mount option and assign it to mount_opt_dict, this meant that
this dict was overridden for each option, thus only the last option
in the mount string would be kept and passed onto podman.

This commit solves this by appending to a temporary list and then
converting it to a comma-separated string and assigning it to the
mount_opt_dict.

Fixes #412

Signed-off-by: Adrian Torres <atorresj@redhat.com>
2022-02-12 13:27:49 +02:00
Bernd Schoolmann 536925ca78 FIXES #413: parse network_mode: container:container_name correctly
Signed-off-by: Bernd Schoolmann <mail@quexten.com>
2022-01-30 14:55:21 +02:00
Muayyad alsadi 09c6cbe503 FIXES #408: preserve exit code 2022-01-22 00:24:17 +02:00
Muayyad alsadi 154a51245f FIXES #386: make sure volumes are present in top level 2022-01-22 00:15:05 +02:00
Muayyad alsadi 523d215b48 #407: allow network_mode=service:mysrv 2022-01-18 20:40:29 +02:00
tengattack 19662c02a1 Fix healthcheck test type on replicas 2022-01-15 20:22:05 +02:00
Muayyad alsadi 4943e52344 #395: make podman respect PODMAN_* in .env 2022-01-12 22:06:47 +02:00
Muayyad alsadi 4aa08cd016 FIXES #399: pass specific ip 2022-01-12 21:48:42 +02:00
Muayyad alsadi 15e0ab9261 FIXES #397: support host network mode 2022-01-12 15:44:47 +02:00
Muayyad alsadi f66861f89a #249: read COMPOSE_PROJECT_NAME env 2022-01-12 15:37:07 +02:00
Luiz Carvalho af53b65068 Simplify volume identification
The filtering provided by "volume ls" did not work as expected
in previous versions of podman:
https://github.com/containers/podman/pull/8345

Verified that this now works properly on podman 3.4.4

Signed-off-by: Luiz Carvalho <lucarval@redhat.com>
2022-01-06 17:39:52 +02:00
Mohamed Akram 0bd493f1ba Allow empty default/error value in substitution 2021-12-31 18:40:26 +02:00
Muayyad alsadi 481c6d0a41 #394: config: multiple yaml 2021-12-31 01:54:32 +02:00
Hao Luo 31df70b8d2 updated per maintainer review 2021-12-31 01:39:03 +02:00
Hao Luo 21a716cfd3 added log back in 2021-12-31 01:39:03 +02:00
Hao Luo f00ac92640 added config command 2021-12-31 01:39:03 +02:00
Hao Luo 0433410702 added args for version 2021-12-31 01:39:03 +02:00
Muayyad alsadi 0f9fe2bf9f FiXES #393: missing arg when build as part of run 2021-12-31 01:17:26 +02:00
Muayyad alsadi a1be5ce6b3 add fallback to get 2021-12-31 00:06:48 +02:00
Mohamed Akram 56a4988481 Add support for volume driver and options 2021-12-31 00:04:58 +02:00
Mohamed Akram 377b5525c9 Fix substitution for empty variables 2021-12-31 00:00:10 +02:00
Muayyad alsadi c50599c0e7 FIXES #388: do not force build in run 2021-12-28 21:03:21 +02:00
Muayyad alsadi 4557279930 #88: multiple aliases 2021-12-25 21:06:29 +02:00
Muayyad alsadi 7ad377557d FIXES #380: output to stderr 2021-12-24 18:55:30 +02:00
Muayyad alsadi 9e8e25c159 #378: down -v 2021-12-23 01:17:34 +02:00
Muayyad alsadi 24ec539932 release 1.0.3 2021-12-21 23:15:52 +02:00
Muayyad alsadi 2803046ac3 add awx 17 example 2021-12-21 22:57:45 +02:00
Muayyad alsadi d1768c1d9d FIXES #377: down -v 2021-12-21 22:57:45 +02:00
Muayyad alsadi 820ea012c5 FIXES #: U mount propagation option 2021-12-21 22:57:45 +02:00
Muayyad alsadi 5ba96a1082 #365: 'Namespace' object has no attribute 'volumes' 2021-12-21 22:57:45 +02:00
Avi Duda 6c1ccfcefa Add missing arguments to the log (latest, names, since, until) 2021-12-14 11:35:30 +02:00
Avi Duda 724d2fd18c Support viewing all logs 2021-12-14 11:35:30 +02:00
Avi Duda 3e940579d9 Support for starting/stopping/restarting all services
Reverse services when stopping or restarting
2021-12-14 11:35:30 +02:00
Muayyad alsadi af1697e9bf FIXES #288: extenal as dict 2021-12-13 03:25:17 +02:00
Muayyad alsadi e62f1a54af FIXES #288: extenal as dict 2021-12-13 01:21:34 +02:00
Muayyad alsadi 179f9ab0e3 FIXES #288: do not create external network 2021-12-13 00:24:23 +02:00
Muayyad alsadi dd6b1ee88c FIXES #288: do not create external network 2021-12-13 00:21:53 +02:00
Muayyad alsadi 9a8dc4ca17 release 1.0.2 2021-12-11 02:06:10 +02:00
Mark Stosberg 6b5f62d693 Fixes #199: seccomp:unconfined 2021-12-11 01:50:40 +02:00
Muayyad alsadi 3782b4ab84 FIXES #371: respect COMPOSE_FILE env 2021-12-10 23:26:13 +02:00
Muayyad alsadi 95e07e27f0 FIXES #185: creates dirs 2021-12-10 22:46:22 +02:00
Muayyad alsadi a3123ce480 #222: normalize basedir using os.path.realpath 2021-12-10 22:27:00 +02:00
Muayyad alsadi 02f78dc3d7 FIXES #333: when volumes are merged, remove duplicates 2021-12-10 02:06:43 +02:00
Muayyad alsadi 8cd97682d0 FIXES #370: bug-for-bug hanlding of .env 2021-12-10 01:01:45 +02:00
Muayyad alsadi 85244272ff FIXES #368: parse depends_on of type dict 2021-12-09 16:18:52 +02:00
Muayyad alsadi 30cfe2317c set version 2021-12-09 16:12:59 +02:00
Tim Elliott 7fda1cc835 fix AttributeError when running a one-off command
Without this, I get errors when running "podman-compose -p podname run".
2021-12-09 16:11:04 +02:00
Luiz Carvalho 5f40f4df31 Remove named volumes during "down -v"
Fixes containers#105

Signed-off-by: Luiz Carvalho <lucarval@redhat.com>
2021-12-09 16:09:59 +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 1f989ed133 FIXES #356: respect pull_policy 2021-11-16 11:12:08 +02:00
Muayyad alsadi 66ce2a34f5 release 0.1.8 2021-11-15 00:27:03 +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 c187e88eaf up and down specific containers 2021-11-14 00:28:43 +02:00
Muayyad alsadi 31b8bb477d simpler passing of env 2021-11-14 00:00:08 +02:00
Anatoli Babenia f177712585 Fix `up` arguments parsing
These is already parsed here
502d7cc206/podman_compose.py (L1644)
2021-11-13 23:53:57 +02:00
Muayyad alsadi ae3deb19dc #355: fix dry run 2021-11-13 13:08:32 +02:00
Muayyad alsadi 117b7fbb9e command list of strings 2021-11-11 17:52:02 +02:00
Muayyad alsadi 5acb9978eb command list of strings 2021-11-11 17:47:26 +02:00
Muayyad alsadi dcb038ef3a remove tabs 2021-11-11 14:27:30 +02:00
Muayyad alsadi a2fef56b07 FIXES #353: down in reverse order 2021-11-11 11:32:24 +02:00
Muayyad alsadi c753b8e2cf FIXES #167: support ContainerFile 2021-11-11 11:27:33 +02:00
Muayyad alsadi c9486c9f3b #115: handle string entrypoint 2021-10-25 00:14:19 +03:00
Muayyad alsadi f2aeaba0d6 #348: conditional --infra-name 2021-10-24 17:35:36 +03:00
Muayyad alsadi 2d80e435dd remove print 2021-10-14 02:12:28 +03:00
Muayyad alsadi d1a77defcd external name 2021-10-14 02:11:45 +03:00
Muayyad alsadi c49f0700c8 volumes with names 2021-10-14 01:30:44 +03:00
Igor Kuznetsov 6d69b7c74c Add support external volumes
# docker-compose.yml
version: '3'
services:
  test:
     volumes:
        - data:/data
volumes:
  data:
     name: some
     external: true
2021-10-14 00:12:06 +03:00
Muayyad alsadi ab135030c8 add support for long port publishing format 2021-10-10 00:43:01 +03:00
Muayyad alsadi 069018c5b1 #342: set infra container name 2021-10-04 14:40:54 +03:00
Muayyad alsadi b6a9f8efd4 #335: report version with -v 2021-09-09 00:33:07 +03:00
Sam dc0ac0d03c docs: added the transform_policy default and description 2021-09-06 10:02:13 +03:00
Muayyad alsadi 502d7cc206 #327: accept ports as string 2021-08-26 12:37:14 +03:00
kozlowskim6 e85d79d4f4 added cpu_shares flag for v2 2021-08-18 11:56:12 +03:00
kozlowskim6 bfb57b9ba2 added cpu_shares flag for v2 2021-08-18 11:56:12 +03:00
Gerhard Bräunlich 2d0aad6692 Also pull images with a build section 2021-08-05 15:07:05 +03:00
Gerhard Bräunlich ff5b9f1663 Support for logging 2021-07-27 14:54:36 +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
Paul Wilde 3836094c64 Update podman_compose.py
it would be nice to use "podman-compose.yml" as a compose file name. compose.yml is useful, but I prefer the clarity of having the "podman" prefix.
2021-07-17 16:18:40 +03:00
Muayyad alsadi d97a20d563 #308: fix environment 2021-06-23 18:04:13 +03:00
Muayyad alsadi f417c9ab8c #120: extend not add 2021-06-22 23:52:24 +03:00
Muayyad alsadi 5ed5528294 FIXES #120: parse mem and cpu limits 2021-06-22 23:48:05 +03:00
Muayyad alsadi 3d6ca3c204 FIXES #120: parse mem and cpu limits 2021-06-22 23:30:22 +03:00
Stefan Weil 6e3383de72 Convert numeric command arguments to string (fixes #77)
The input argument cmd_args is a list which may contain numeric elements.

Convert all elements to strings before passing them to functions which
expect str data type.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-06-16 22:19:42 +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
Mattias Giese 039fe30a70 Make sure port entries are converted to strings
Otherwise concatenating all parameters might fail with a TypeError
2021-05-28 21:10:55 +03:00
Robert Hensing 62d2024fee Add stop_signal service attribute 2021-05-18 22:14:21 +03:00
Muayyad alsadi 9317f987fc #278: args 2021-05-17 15:03:47 +03:00
Sander Hoentjen 045cef299b #289: report exit code when --exit-code-from 2021-05-06 02:08:48 +03:00
Muayyad alsadi a7f97b6120 implement -e in run 2021-05-06 01:17:01 +03:00
Muayyad alsadi 00840d0613 resolve conflict 2021-05-06 00:49:42 +03:00
Daniel Helgenberger 080b8a369e Prefer 'compose.yaml' as per compose spec
https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file
2021-05-05 17:32:25 +03:00
Joakim Repomaa 226ac4fb3a fix missing --label flag in volume creation 2021-05-05 02:13:42 +03:00
SsjackX 901213e5b3 Update podman_compose.py
repair mode written as size
2021-04-29 19:20:26 +03:00
Christian Taedcke b3370603d9 Add support for sysctls in compose file 2021-04-29 19:19:42 +03:00
Marcello Sylvester Bauer 5fabfee497 Support annotations
Support annotations analog to "security opt" in commit 29e2bf4c.

Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
2021-04-29 19:18:29 +03:00
Sebastian Ramirez Magri 75a63df954 fix: check `.env` in current dir with `isfile` instead of `exists`
This prevents cases in which an `.env` directory exists, for example
in Python projects with a local virtual environment, and then
dotenv gets passed the directory path as input.
2021-04-29 19:18:06 +03:00
Joakim Repomaa 08dd36f4c1 Add docker-compose labels for interoperability 2021-04-29 19:17:20 +03:00
Martin Häcker 669953b3d3 Rework argument generation to adhere directly to what podman accepts. 2021-04-29 19:10:55 +03:00
Martin Häcker d3df688aee Remove test code 2021-04-29 19:10:55 +03:00
Martin Häcker bda7b5e812 Add exec support 2021-04-29 19:10:55 +03:00
Muayyad alsadi 6289d25a42 fixes #236: compatible with docker-compose 2020-12-02 15:31:51 +02:00
Andreas Kohn abc08135ba Only pull each image once 2020-11-27 18:09:58 +02:00
Daniel Helgenberger 9cd837f01d Fixes #236: Ensure project name works with podman
In case we use dir_basename as podman project name, ensure it matches
podman project name requirement regex: [a-zA-Z0-9][a-zA-Z0-9_.-]*
2020-11-19 17:52:49 +02:00
Davide Madrisan a4b8b5e709 Fix 'podman-compose version' with no compose file in the working directory
Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
2020-11-19 14:51:06 +02:00
Muayyad alsadi 5971f57130 FIXES #249: update dotenv with some envs 2020-11-05 00:14:57 +02:00
Muayyad alsadi ab96f12dba FIXES #249: update dotenv with some envs 2020-11-05 00:08:19 +02:00
Jonas Eriksson f6a3cb0aff Allow environment variables to be unset
Leaving keys with empty values in YAML will result in the value
ending up being None after parsing the configuration file. This
should result in the variable being imported from the external
environment according to the Compose file version 3 reference.
The resulting action for podman should be an added "-e VAR"
(without =), which is working correctly.

However, when overwriting an external variable by setting it to
e.g. "", the result in docker-compose is that the variable is
unset. For podman, this means adding "-e VAR=". This is not the
case, and this patch does a more strict check to make this case
behave correctly.
2020-10-12 12:45:14 +03:00
Jonas Eriksson 497355fcfb Re-order environment/env_files to match compose
docker-compose reads the 'env_files' and adds the content as
environment values before adding the 'environment' data. This
means that that 'environment' data overrides 'env_files' data.
Emulate this behaviour by re-ordering -e statements to end up
after --env-file statements.

Relevant function in docker-compose can be viewed here:
https://github.com/docker/compose/blob/1.27.4/compose/config/config.py#L694-L697
2020-10-08 23:25:52 +03:00
Florian Bezannier 20a86ea563 add --no-cache arg to build 2020-09-27 14:14:55 +03:00
Florian BEZANNIER 4e2e960106 build specific service 2020-09-27 14:14:55 +03:00
pinfort efba3a1380 support str style configuration for env_file 2020-09-10 00:59:51 +03:00
Johannes Laurin Hörmann 90639769f0 BUG: 'podman stop -t 360.0' called for float, expects int on cli 2020-09-06 12:22:01 +03:00
Johannes Laurin Hörmann 3712b545a9 ENH: add timeout option to podman-compose down, as in https://docs.docker.com/compose/reference/down/ 2020-09-06 12:22:01 +03:00
Chris Hozian 294f8ee37b Hashlib to generate SHA256 instead of MD5 for FIPS
Changed hashlib to generate a SHA256 instead of MD5 in order for
podman-compose to function on systems with FIPS mode enabled.
2020-06-15 22:44:00 +03:00
Michael Scherer 105b129b08 Fix infinite loop
Since we never remove thread from the list of thread, podman-compose
up never return as long as 1 thread is alive.
2020-06-02 23:14:59 +03:00
Muayyad alsadi d3f37112a7 FIXES #181: accept init and init-path 2020-05-22 23:52:48 +03:00
Johannes Laurin Hoermann 7eacf14693 MAINT: resolve https://github.com/containers/podman-compose/pull/180#issuecomment-632722974 2020-05-22 18:09:25 +03:00
Your Name 8cd98ab708 MAINT: extend instead of append 2020-05-22 18:09:25 +03:00
Your Name 047820dbf1 ENH: Added restart policy forwarding to podmann run, compose build args added to up args 2020-05-22 18:09:25 +03:00
Andrej Zieger e7b1382b1b Add --build-arg to 'up' (Fixes #161) 2020-05-22 17:06:38 +03:00
Mohamed Akram 64ed554543 Allow empty default/error value in substitution 2020-05-13 17:54:20 +03:00
Sam Tygier 5915ba345f Catch error when compose file is empty
Also catch cases such as the top element being a list or a string
2020-05-09 20:04:52 +03:00
Muayyad alsadi 1ca6a88ebd target once 2020-04-22 14:44:36 +03:00
Renee Margaret McConahy 7b40079c06 Pass "target" parameter when building an image. 2020-04-22 14:42:32 +03:00
Matt Novenstern f9915c47b4 Check for target property when building images
For multi-stage builds, this allows picking a stage to build up to
2020-04-22 14:36:35 +03:00
Andrej Zieger 19733407b4 Add support for --build-arg option 2020-04-22 14:31:00 +03:00
Bao Trinh e8147e350b Add support for cap_add/cap_drop
Currently, `cap_add` and `cap_drop` are being ignored by podman-compose.
Add the arguments (`--cap-add` and `--cap-drop`, respectively) to
`podman create` when appropriate.
2020-04-22 14:27:33 +03:00
Michael Mraka 7f210ffc43 fixing "Error: unknown flag: --shm_size" 2020-04-21 17:12:11 +03:00
Muayyad alsadi cbed801c0d start detached 2020-04-19 03:53:55 +03:00
Muayyad alsadi 07a2430c41 Fixes #152: validate that podman is useable 2020-04-18 22:18:36 +03:00
Muayyad alsadi 5215782cba Fixes #152: validate that podman is useable 2020-04-18 22:15:55 +03:00
Muayyad alsadi 80e7ba188d resolve 2020-04-18 18:46:23 +03:00
Muayyad alsadi 03cbd2929b pass volumes using -v 2020-04-18 18:39:59 +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
Adam Jones efcbc75f63 Pass ulimit parameters when building container
When running podman-compose build, pass ulimit arguments from
docker-compose.yml through to podman build.
2020-02-27 17:39:33 +02:00
Christian W 8c3b7e6c54 Added mount option delegated and cached 2019-11-24 10:18:15 +02:00
Thomas Coldrick 27d3cafb7b Add support for privileged option
Adds support for the `privileged` option in docker-compose.yml. This has
been supported in docker-compose since 0.4.0, so it seems reasonable to
add support here.

See https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir
2019-11-17 13:13:03 +02:00
Anass Ahmed e7a9bd3b70 Show stopped containers in ps 2019-11-10 17:16:02 +02:00
Anass Ahmed ddd582c861 Add support for logs subcommand 2019-11-10 17:15:36 +02:00
Vincent Rischmann 169eaee9b2 Fix override of the run command
If there's no command defined in the arguments, `podman-compose run`
should use the command defined in docker-compose.yml
2019-11-10 17:03:17 +02:00
wampagingwabbits c5f8973bd5 Mixed-case directory names break 'podman create'
The default project_name uses the directory name, but 'podman create' fails if the directory is mixed case.
2019-11-10 17:02:43 +02:00
Muayyad alsadi 12036aa54e FIXES #76: a service extends a service with same name 2019-11-07 19:09:32 +02:00
Muayyad alsadi 0fc864ffbe Merge branch 'devel' of github.com:containers/podman-compose into devel 2019-11-07 18:56:00 +02:00
Muayyad alsadi 7222fdb6e7 exit if not files 2019-11-07 18:55:49 +02:00
Anass Ahmed bb7120f3ff Fix stop command runs start instead 2019-10-26 20:45:19 +02:00
Marius Hoch 7ebbe2efc6 Fix KeyErrors encountered with extended services
Docker compose file used:
https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/view/lib/wikibase-tainted-ref/docker-compose.yml
2019-10-25 16:09:38 +02:00
Simon Li a9216c3980 podman volume inspect mountPoint/Mountpoint
podman version 1.6.1 volume inspect outputs Mountpoint instead of mountPoint
2019-10-05 23:44:38 +03:00
Muayyad alsadi e538852dbe #57: better ps via label 2019-10-05 22:47:04 +03:00
Aric Renzo b1c2b0222b podman_compose.py 2019-10-05 22:38:50 +03:00
Muayyad alsadi 9e0dd2da9d extends with external file 2019-10-05 22:37:14 +03:00
Marius Hoch 72c1992737 Remove never-shared options. 2019-10-05 22:35:05 +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 dee813a4b6 #47: version command 2019-10-04 20:57:07 +03:00
Muayyad alsadi 9684429157 #52: fix how we split commands 2019-10-04 20:36:30 +03:00
Mario 72697016f9 Fixed get of ulimit tag, according to docker-compose specification 2019-10-04 20:24:36 +03:00
Marius Hoch b369073574 Fix podman-compose run command parsing
This got confused with the main command (up, down, …),
thus leading to:

    cmd = self.commands[cmd_name]
TypeError: unhashable type: 'list'
2019-10-01 13:26:38 +03:00