From 6f2b6e029017d2a69b553df482120ddd1ccda147 Mon Sep 17 00:00:00 2001 From: Hermes Agent service account Date: Thu, 4 Jun 2026 22:43:57 -0500 Subject: [PATCH] Remove redundant Harbor manifest files Harbor Helm chart creates Ingress and cert-manager auto-creates certificates via Ingress annotations. Removed non-functional and redundant manifests: - certificate.yaml: cert-manager creates from Ingress annotation - httproute.yaml: non-functional (pointed to non-existent service) - httproute-alt.yaml: non-functional (pointed to non-existent service) Standardized on single hostname: the-seas.local.mk-labs.cloud Updated README to reflect actual NGINX Ingress architecture (not Gateway API) Net: -97 lines, simplified deployment, no functional change --- cluster/platform/harbor/README.md | 27 ++++++++---------- cluster/platform/harbor/certificate.yaml | 17 ----------- cluster/platform/harbor/httproute-alt.yaml | 33 ---------------------- cluster/platform/harbor/httproute.yaml | 32 --------------------- 4 files changed, 12 insertions(+), 97 deletions(-) delete mode 100644 cluster/platform/harbor/certificate.yaml delete mode 100644 cluster/platform/harbor/httproute-alt.yaml delete mode 100644 cluster/platform/harbor/httproute.yaml diff --git a/cluster/platform/harbor/README.md b/cluster/platform/harbor/README.md index 8bee2ec..82bf129 100644 --- a/cluster/platform/harbor/README.md +++ b/cluster/platform/harbor/README.md @@ -10,9 +10,8 @@ Harbor is an open-source container registry that provides trust, compliance, per ## Service Details -- **Primary URL:** https://the-seas.local.mk-labs.cloud -- **Alternate URL:** https://harbor.local.mk-labs.cloud (for intuitive `docker login harbor...`) -- **Namespace:** the-seas +- **URL:** https://the-seas.local.mk-labs.cloud +- **Namespace:** harbor - **Sync Wave:** 7 (deploys after Gateway API, cert-manager, ExternalSecrets) ## Architecture @@ -88,23 +87,21 @@ All credentials are stored in 1Password and synchronized to Kubernetes via Exter ## Network & TLS -### DNS Names -- **Primary:** the-seas.local.mk-labs.cloud -- **Alternate:** harbor.local.mk-labs.cloud +### DNS Name +- **Hostname:** the-seas.local.mk-labs.cloud -Both DNS names resolve to the Cilium Gateway IP (10.1.71.90) via external-dns. +DNS resolves to the NGINX Ingress Controller IP (10.1.71.80). -### TLS Certificates -- Issued by Let's Encrypt (letsencrypt-prod ClusterIssuer) -- Managed by cert-manager -- Separate certificates for each hostname -- Stored as Kubernetes secrets: `the-seas-tls`, `harbor-tls` +### TLS Certificate +- Issued by Let's Encrypt (letsencrypt-staging ClusterIssuer) +- Managed by cert-manager (automatic via Ingress annotation) +- Certificate stored as Kubernetes secret: `harbor-tls` ### Routing -- **Gateway:** fastpass-gateway (namespace: gateway) +- **Ingress Controller:** NGINX (nginx-ingress) - **Protocol:** HTTPS (port 443) -- **Backend:** ClusterIP service `the-seas` on port 80 -- TLS termination at Gateway level +- **Backend:** Harbor NGINX service on port 80 +- TLS termination at Ingress level ## Access & Authentication diff --git a/cluster/platform/harbor/certificate.yaml b/cluster/platform/harbor/certificate.yaml deleted file mode 100644 index 66798ee..0000000 --- a/cluster/platform/harbor/certificate.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# ------------------------------------------------------------------------------ -# Certificate — Harbor TLS Certificate (staging until stable) -# DNS Names: the-seas.local.mk-labs.cloud, harbor.local.mk-labs.cloud -# ------------------------------------------------------------------------------ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: harbor-tls - namespace: harbor -spec: - secretName: harbor-tls - issuerRef: - name: letsencrypt-staging - kind: ClusterIssuer - dnsNames: - - the-seas.local.mk-labs.cloud - - harbor.local.mk-labs.cloud diff --git a/cluster/platform/harbor/httproute-alt.yaml b/cluster/platform/harbor/httproute-alt.yaml deleted file mode 100644 index 514efb3..0000000 --- a/cluster/platform/harbor/httproute-alt.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# ------------------------------------------------------------------------------ -# ------------------------------------------------------------------------------ -# HTTPRoute — Harbor (Alternate) via Cilium Gateway -# Alternate DNS: harbor.local.mk-labs.cloud (functional name) -# ------------------------------------------------------------------------------ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: harbor-alt - namespace: harbor - annotations: - external-dns.alpha.kubernetes.io/hostname: harbor.local.mk-labs.cloud - external-dns.alpha.kubernetes.io/target: "10.1.71.90" -spec: - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: fastpass-gateway - namespace: gateway - sectionName: https - hostnames: - - harbor.local.mk-labs.cloud - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - group: "" - kind: Service - name: the-seas - port: 80 - weight: 1 diff --git a/cluster/platform/harbor/httproute.yaml b/cluster/platform/harbor/httproute.yaml deleted file mode 100644 index 5c1d21a..0000000 --- a/cluster/platform/harbor/httproute.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# ------------------------------------------------------------------------------ -# HTTPRoute — Harbor (Primary) via Cilium Gateway -# Primary DNS: the-seas.local.mk-labs.cloud (EPCOT theme) -# ------------------------------------------------------------------------------ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: harbor-the-seas - namespace: harbor - annotations: - external-dns.alpha.kubernetes.io/hostname: the-seas.local.mk-labs.cloud - external-dns.alpha.kubernetes.io/target: "10.1.71.90" -spec: - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: fastpass-gateway - namespace: gateway - sectionName: https - hostnames: - - the-seas.local.mk-labs.cloud - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - group: "" - kind: Service - name: the-seas - port: 80 - weight: 1