Files
plex-playlist/scripts/gitea-actions/check_runner_images.xsh
2026-06-10 13:22:48 -04:00

31 lines
1.3 KiB
Plaintext

hosts = [
"kankali.darkhelm.lan",
"zhokq.darkhelm.lan",
"urtzul.darkhelm.lan",
"pi-desktop.darkhelm.lan",
]
# Check both upstream and mirrored tags on each runner host.
remote_script = """
r = !(docker image inspect ubuntu:22.04 > /dev/null 2> /dev/null)
print("UBUNTU22:present" if r.returncode == 0 else "UBUNTU22:missing")
r = !(docker image inspect ghcr.io/catthehacker/ubuntu:act-latest > /dev/null 2> /dev/null)
print("GHCR:present" if r.returncode == 0 else "GHCR:missing")
r = !(docker image inspect kankali.darkhelm.lan:3001/darkhelm.org/act-ubuntu:act-latest > /dev/null 2> /dev/null)
print("MIRROR_LOCAL:present" if r.returncode == 0 else "MIRROR_LOCAL:missing")
r = !(docker info 2> /dev/null | grep -qi "kankali.darkhelm.lan:3001")
print("REGISTRY_CONFIG:ok" if r.returncode == 0 else "REGISTRY_CONFIG:missing")
pull = !(docker pull kankali.darkhelm.lan:3001/darkhelm.org/act-ubuntu:act-latest > /tmp/mirror-pull.log 2>&1)
if pull.returncode == 0:
print("MIRROR_REMOTE:pull-ok")
else:
mismatch = !(grep -qi "http response to https client" /tmp/mirror-pull.log)
print("MIRROR_REMOTE:https-mismatch" if mismatch.returncode == 0 else "MIRROR_REMOTE:pull-failed")
"""
for host in hosts:
print(f"\n=== {host} ===")
ssh @(host) @(remote_script)