# 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