Fix image pull/build failures on restricted egress clusters.

Use seeded abrban/ images instead of flaky proxy-gcr pulls, fix Kaniko dockerfile path for v1.27, correct docker auth host keys, route /v2/abrban/ through harbor-core, and prefer abrban/ for base images.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
keyhan
2026-07-09 20:08:16 +03:30
parent 2679c9d66e
commit 214b617be0
7 changed files with 182 additions and 32 deletions
+124
View File
@@ -0,0 +1,124 @@
# registry.abrban.com — Traefik path split
#
# Proxy-cache projects (proxy-dockerhub, proxy-gcr, …) MUST hit harbor-core so
# Harbor can pull upstream on demand. harbor-registry only stores blobs; it does
# not run proxy-cache logic → 404 for uncached proxy paths.
#
# Direct pushes (abrban/, rook/) stay on harbor-registry where Kaniko/skopeo
# wrote the blobs.
#
# Apply: kubectl apply -f gitops/harbor/registry-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: registry
namespace: cloudhost
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: cloudhost-long-timeout@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- registry.abrban.com
secretName: abrban-wildcard-tls
rules:
- host: registry.abrban.com
http:
paths:
# ── Proxy-cache (harbor-core serves v2 + on-demand upstream pull) ──
- path: /v2/proxy-dockerhub/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /v2/proxy-gcr/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /v2/proxy-quay/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /v2/proxy-k8s/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /v2/proxy-gitea/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
# ── abrban/rook project images (served by harbor-core; required for k3s mirror pulls) ──
- path: /v2/abrban/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /v2/rook/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
# ── Legacy registry (platform images pre-Harbor) ──
- path: /v2/
pathType: Prefix
backend:
service:
name: registry
port:
number: 5000
# ── Harbor UI / API ──
- path: /api/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /service/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /c/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /chartrepo/
pathType: Prefix
backend:
service:
name: harbor-core
port:
number: 80
- path: /
pathType: Prefix
backend:
service:
name: harbor-portal
port:
number: 80