This commit is contained in:
Ben Krieger 2025-03-25 20:07:20 -06:00 committed by GitHub
commit 062623d3a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -29,14 +29,8 @@ import tempfile
from asyncio import Task
from enum import Enum
try:
from shlex import quote as cmd_quote
except ImportError:
from pipes import quote as cmd_quote # pylint: disable=deprecated-module
# import fnmatch
# fnmatch.fnmatchcase(env, "*_HOST")
import yaml
from dotenv import dotenv_values
@ -1203,7 +1197,7 @@ async def container_to_args(compose, cnt, detached=True, no_deps=False):
# podman does not add shell to handle command with whitespace
podman_args.extend([
"--healthcheck-command",
"/bin/sh -c " + cmd_quote(healthcheck_test),
json.dumps(["CMD-SHELL", healthcheck_test]),
])
elif is_list(healthcheck_test):
healthcheck_test = healthcheck_test.copy()
@ -1212,13 +1206,11 @@ async def container_to_args(compose, cnt, detached=True, no_deps=False):
if healthcheck_type == "NONE":
podman_args.append("--no-healthcheck")
elif healthcheck_type == "CMD":
cmd_q = "' '".join([cmd_quote(i) for i in healthcheck_test])
podman_args.extend(["--healthcheck-command", "/bin/sh -c " + cmd_q])
podman_args.extend(["--healthcheck-command", json.dumps(healthcheck_test)])
elif healthcheck_type == "CMD-SHELL":
if len(healthcheck_test) != 1:
raise ValueError("'CMD_SHELL' takes a single string after it")
cmd_q = cmd_quote(healthcheck_test[0])
podman_args.extend(["--healthcheck-command", "/bin/sh -c " + cmd_q])
podman_args.extend(["--healthcheck-command", json.dumps(healthcheck_test)])
else:
raise ValueError(
f"unknown healthcheck test type [{healthcheck_type}],\