Bug: ArgoCD Image Updater cannot authenticate to Harbor
Problem
ArgoCD Image Updater failed every 2-minute cycle with auth errors. Never successfully updated an image since initial deployment (2026-02-22).
Root Cause
Three issues compounding:
- Auth key mismatch — docker config secret keyed to
harbor.tail5b443a.ts.netbut Image Updater looked up credentials byapi_urlhost - Wrong service name — PR #4 used
harbor-nginxwhich doesn't exist (actual service isharbor) - HTTPS token redirect — Harbor's Docker Registry v2 token service redirects to HTTPS (from
externalURLconfig). Internal HTTPapi_urlcan't follow the redirect because the internal service doesn't serve HTTPS
Fix
Use the external HTTPS URL for everything:
api_url = https://harbor.${var.tailscale_domain}(Tailscale handles TLS)- docker config auth key =
harbor.${var.tailscale_domain}(matches api_url)
Applied via
tofu apply -target=kubernetes_secret_v1.harbor_pull_creds -target=helm_release.argocd_image_updater on 2026-03-14. Image Updater now pre-loads 86 image tags from Harbor. Only 2 errors remain (repos that don't exist in Harbor: gmail-mcp-remote, linkedin-scheduler-remote).Verification
- No auth errors in Image Updater logs
pre-loaded 86 meta data entries from 2 registrieserrors=2(only non-existent repos)
Related
arch-secrets-pipeline— secrets flow through TF, not kubectl patchplan-pal-e-platform/phase-pal-e-platform-ci-hardening- pal-e-services PR #4 — partial fix (wrong approach, superseded)