Commit Graph

327 Commits

Author SHA1 Message Date
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