Files
computer-playbook/compose/registry-cache/proxy.conf
kevinveenbirkenbachandClaude Opus 4.7 43a0592ed5 fix(registry-cache): bypass gcr.io / storage.googleapis.com / googleusercontent.com
The bundled rpardini/docker-registry-proxy 0.6.5 nginx config does not
recognise the GCP Artifact Registry redirect URL shape
(``/artifacts-downloads/namespaces/<ns>/repositories/<repo>/downloads/<token>``)
and replies HTTP 500 to every blob fetch. Local matrix-deploy runs that
include images like ``gcr.io/cadvisor/cadvisor`` therefore fail at
``compose pull`` for the prometheus stack.

Add the three Google-owned blob hosts to ``NO_PROXY`` so the systemd
docker daemon goes direct to upstream for those redirects. The bypass
disables caching for those hosts only; every other registry still flows
through the local cache.

Long-term fix tracked in TODO.md: fork rpardini/docker-registry-proxy
and patch nginx's ``proxy_redirect`` / ``sub_filter`` rules to recognise
the new redirect shape, then drop this bypass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:21:21 +02:00

17 lines
906 B
Plaintext

[Service]
# Route every outbound docker registry pull through the registry-cache
# MITM proxy (see compose.yml `registry-cache` service). The proxy
# performs SSL bumping; the CA cert must be installed first by
# registry-cache-ca.sh (ExecStartPre below).
#
# Catch-all by design: rpardini/docker-registry-proxy intercepts traffic
# to any registry the inner dockerd pulls from (docker.io, ghcr.io,
# quay.io, …) and caches blobs/manifests so re-deploys, parallel CI
# shards, and local fresh-purges do not trigger live registry round-trips.
#
# Pulls only — pushes are not intercepted by rpardini's proxy.
Environment="HTTP_PROXY=http://infinito-registry-cache:3128"
Environment="HTTPS_PROXY=http://infinito-registry-cache:3128"
Environment="NO_PROXY=localhost,127.0.0.1,::1,infinito-registry-cache,gcr.io,storage.googleapis.com,googleusercontent.com"
ExecStartPre=/usr/local/bin/registry-cache-ca.sh