From 24d8b789f54e97b203e6a452cbfad01523887486 Mon Sep 17 00:00:00 2001 From: Mike Sul Date: Mon, 29 Dec 2025 13:14:14 +0100 Subject: [PATCH] docker_registry_client.py: Add generic registry support Add support of a generic container registry, so a user can provide access to an arbitrary registry for the container CI job. The secret value must be defined as ":token|password|secret>", so the CI will do `docker login -u -p `. Signed-off-by: Mike Sul --- apps/docker_registry_client.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/docker_registry_client.py b/apps/docker_registry_client.py index d7417b32..518abb97 100644 --- a/apps/docker_registry_client.py +++ b/apps/docker_registry_client.py @@ -209,5 +209,14 @@ def login(self): subprocess.run(cmd, check=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) + elif reg["type"] == "generic": + secrets_file = Path("/secrets") / reg["generic_secret_name"] + creds = secrets_file.read_text().strip() + user, token = creds.split(":") + try: + cmd = [self._client, "login", "--password-stdin", "-u", user, reg["url"]] + subprocess.run(cmd, check=True, input=token.encode()) + except subprocess.CalledProcessError as e: + sys.exit(e.returncode) else: sys.exit("Unsupported registry type")