Skip to content

Commit b1d01ac

Browse files
committed
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 "<user-name>:token|password|secret>", so the CI will do `docker login <url> -u <user-name> -p <token|password|secret>`. Signed-off-by: Mike Sul <mike.sul@foundries.io>
1 parent 02f818e commit b1d01ac

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

apps/docker_registry_client.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,5 +209,14 @@ def login(self):
209209
subprocess.run(cmd, check=True)
210210
except subprocess.CalledProcessError as e:
211211
sys.exit(e.returncode)
212+
elif reg["type"] == "generic":
213+
secrets_file = Path("/secrets") / reg["generic_secret_name"]
214+
creds = secrets_file.read_text().strip()
215+
user, token = creds.split(":")
216+
try:
217+
cmd = [self._client, "login", "--password-stdin", "-u", user, reg["url"]]
218+
subprocess.run(cmd, check=True, input=token.encode())
219+
except subprocess.CalledProcessError as e:
220+
sys.exit(e.returncode)
212221
else:
213222
sys.exit("Unsupported registry type")

0 commit comments

Comments
 (0)