feat(ci): support private Docker registry via env vars
CI / lint (push) Failing after 8s
CI / matrix (push) Failing after 9s
CI / test (push) Has been skipped

Add DOCKER_REGISTRY and DOCKER_REGISTRY_PREFIX environment variables
to ci/build_matrix.py for pulling base images from a private registry
(Artifactory, Harbor, etc.) instead of Docker Hub.

Document CI usage and registry configuration in README.
This commit is contained in:
2026-04-14 00:28:40 +02:00
parent 54287ad9a0
commit bd125b0b57
2 changed files with 55 additions and 1 deletions
+11 -1
View File
@@ -2,6 +2,7 @@
"""Parse meta/main.yml platforms and output a Docker test matrix as JSON."""
import json
import os
import sys
from pathlib import Path
@@ -18,6 +19,14 @@ PLATFORM_IMAGE_MAP = {
"Ubuntu": "ubuntu",
}
def _resolve_image(image: str) -> str:
"""Prefix image with registry and namespace if configured via env vars."""
registry = os.environ.get("DOCKER_REGISTRY", "").strip().rstrip("/")
prefix = os.environ.get("DOCKER_REGISTRY_PREFIX", "").strip()
if registry:
return f"{registry}/{prefix}{image}"
return image
def build_matrix(meta_path: str = "roles/remote_users_fact/meta/main.yml") -> list[dict]:
meta_file = Path(meta_path)
if not meta_file.exists():
@@ -43,9 +52,10 @@ def build_matrix(meta_path: str = "roles/remote_users_fact/meta/main.yml") -> li
for version in platform.get("versions", []):
version_str = str(version)
slug = f"{name.lower()}{version_str}" if name == "EL" else f"{name.lower()}-{version_str}"
base_image = f"{image_prefix}:{version_str}"
matrix.append({
"slug": slug,
"image": f"{image_prefix}:{version_str}",
"image": _resolve_image(base_image),
"platform": name,
"version": version_str,
})