mirror of
https://github.com/containers/podman-compose.git
synced 2024-11-21 23:43:24 +01:00
FIXES #370: bug-for-bug hanlding of .env
This commit is contained in:
parent
85244272ff
commit
8cd97682d0
@ -6,7 +6,13 @@ This project focus on:
|
||||
* rootless
|
||||
* daemon-less process model, we directly execute podman, no running daemon.
|
||||
|
||||
This project only depend on `podman` and Python3 and [PyYAML](https://pyyaml.org/).
|
||||
This project only depend on:
|
||||
|
||||
* `podman`
|
||||
* Python3
|
||||
* [PyYAML](https://pyyaml.org/)
|
||||
* [python-dotenv](https://pypi.org/project/python-dotenv/)
|
||||
|
||||
And it's formed as a single python file script that you can drop into your PATH and run.
|
||||
|
||||
## References:
|
||||
|
@ -32,8 +32,8 @@ except ImportError:
|
||||
# import fnmatch
|
||||
# fnmatch.fnmatchcase(env, "*_HOST")
|
||||
|
||||
import json
|
||||
import yaml
|
||||
from dotenv import dotenv_values
|
||||
|
||||
__version__ = '1.0.1'
|
||||
|
||||
@ -908,6 +908,10 @@ def resolve_extends(services, service_names, environ):
|
||||
new_service = rec_merge({}, from_service, service)
|
||||
services[name] = new_service
|
||||
|
||||
def dotenv_to_dict(dotenv_path):
|
||||
if not os.path.isfile(dotenv_path):
|
||||
return {}
|
||||
return dotenv_values(dotenv_path)
|
||||
|
||||
class PodmanCompose:
|
||||
def __init__(self):
|
||||
@ -1021,10 +1025,7 @@ class PodmanCompose:
|
||||
|
||||
dotenv_path = os.path.join(dirname, ".env")
|
||||
self.environ = dict(os.environ)
|
||||
if os.path.isfile(dotenv_path):
|
||||
with open(dotenv_path, 'r') as f:
|
||||
dotenv_ls = [l.strip() for l in f if l.strip() and not l.startswith('#')]
|
||||
self.environ.update(dict([l.split("=", 1) for l in dotenv_ls if "=" in l]))
|
||||
self.environ.update(dotenv_to_dict(dotenv_path))
|
||||
# TODO: should read and respect those env variables
|
||||
# see: https://docs.docker.com/compose/reference/envvars/
|
||||
# see: https://docs.docker.com/compose/env-file/
|
||||
|
@ -3,3 +3,5 @@
|
||||
# process, which may cause wedges in the gate later.
|
||||
|
||||
pyyaml
|
||||
python-dotenv
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user