Commit Graph

313 Commits

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