This commit allows compose file to directly use environment variable
values in "environment:" section when variables were set in `.env` file.
This functionality was missing, as docker-compose supports both: short
and variable interpolation syntax forms:
environment:
- FOO
and
environment:
- FOO=${FOO}
Relevant docker-compose documentation:
https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/
podman-compose is more compatible with docker-compose after this change.
Signed-off-by: Monika Kairaityte <monika@kibit.lt>
After changes in 92f0a8583a, the
dockerfile parameter is igored if the (local) work directory's name ends
in `.git`.
This commit fixes the regression and adds more tests.
Signed-off-by: Monika Kairaityte <monika@kibit.lt>
e03d675b9b broke relative host path
resolution by deleting os.chdir(). After this commit current working
directory is not relevant anymore.
Fixes e03d675b9b.
Signed-off-by: Monika Kairaityte <monika@kibit.lt>
Allow setting an argument list as x-podman.pod_args to override the
default value `--infra=false --share=`. `--pod-args` passed on the command
line takes precedence over the value set in docker-compose.yml; the values
are not merged.
Fixes#1057.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This patch add 'x-podman.dns' option to the 'network' configuration,
allowing users to set the DNS resolvers for a defined network.
Signed-off-by: Rafael Guterres Jeffman <rjeffman@redhat.com>
Podman allows to create a network disabling the DNS plugin with
'--disable-dns', but this option is not available in the compose spec.
This patch add 'x-podman.disable-dns' to the podman-compose options,
allowing the creation of a network with the DNS plugin disabled.
Signed-off-by: Rafael Guterres Jeffman <rjeffman@redhat.com>
Also modifies an existing integration test to expect an empty string as `docker-compose` warns that
`ZZVAR3` is not set and defaults it to an empty string per the acutal output here.
```yaml
$ docker-compose -f container-compose.load-.env-in-project.yaml config
WARN[0000] The "ZZVAR3" variable is not set. Defaulting to a blank string.
name: project
services:
app:
command:
- /bin/busybox
- sh
- -c
- env | grep ZZ
environment:
ZZVAR1: This value is loaded but should be overwritten
ZZVAR2: This value is loaded from .env in project/ directory
ZZVAR3: ""
...
```
Signed-off-by: indra <indra.talip@gmail.com>
"device_cgroup_rules: []" is defined in the Compose file specification,
and corresponds to "podman run --device-cgroup-rule="
Signed-off-by: Jeremy Visser <jeremy@visser.name>
This is the behavior exhibited by docker compose. The network names are
user-visible through external networks, so previously anyone who
migrated from docker-compose needed to change their configuration. Now
it is possible to select compatibility via a flag in x-podman global
dictionary.
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>