mirror of
https://github.com/containers/podman-compose.git
synced 2025-03-29 09:06:29 +01:00
Fix interpolation for COMPOSE_PROJECT_NAME
Fixes #1073 Signed-off-by: Ruben Jenster <r.jenster@drachenfels.de>
This commit is contained in:
parent
170411de8b
commit
98b9bb9f8e
1
newsfragments/1165-PROJECT_NAME-interpolation.bugfix
Normal file
1
newsfragments/1165-PROJECT_NAME-interpolation.bugfix
Normal file
@ -0,0 +1 @@
|
||||
- Fixed interpolation of the environment variable **COMPOSE_PROJECT_NAME** when it is set from the top-level **name** value within the Compose file.
|
@ -1980,6 +1980,20 @@ class PodmanCompose:
|
||||
sys.exit(1)
|
||||
content = normalize(content)
|
||||
# log(filename, json.dumps(content, indent = 2))
|
||||
|
||||
if not project_name:
|
||||
project_name = content.get("name")
|
||||
if project_name is None:
|
||||
# More strict then actually needed for simplicity:
|
||||
# podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
|
||||
project_name = self.environ.get("COMPOSE_PROJECT_NAME", dir_basename.lower())
|
||||
project_name = norm_re.sub("", project_name)
|
||||
if not project_name:
|
||||
raise RuntimeError(f"Project name [{dir_basename}] normalized to empty")
|
||||
|
||||
self.project_name = project_name
|
||||
self.environ.update({"COMPOSE_PROJECT_NAME": self.project_name})
|
||||
|
||||
content = rec_subs(content, self.environ)
|
||||
if isinstance(services := content.get('services'), dict):
|
||||
for service in services.values():
|
||||
@ -2012,19 +2026,6 @@ class PodmanCompose:
|
||||
log.debug(" ** merged:\n%s", json.dumps(compose, indent=2))
|
||||
# ver = compose.get('version')
|
||||
|
||||
if not project_name:
|
||||
project_name = compose.get("name")
|
||||
if project_name is None:
|
||||
# More strict then actually needed for simplicity:
|
||||
# podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
|
||||
project_name = self.environ.get("COMPOSE_PROJECT_NAME", dir_basename.lower())
|
||||
project_name = norm_re.sub("", project_name)
|
||||
if not project_name:
|
||||
raise RuntimeError(f"Project name [{dir_basename}] normalized to empty")
|
||||
|
||||
self.project_name = project_name
|
||||
self.environ.update({"COMPOSE_PROJECT_NAME": self.project_name})
|
||||
|
||||
services = compose.get("services")
|
||||
if services is None:
|
||||
services = {}
|
||||
|
Loading…
Reference in New Issue
Block a user