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
This commit is contained in:
@@ -10,9 +10,8 @@ Harbor is an open-source container registry that provides trust, compliance, per
|
|||||||
|
|
||||||
## Service Details
|
## Service Details
|
||||||
|
|
||||||
- **Primary URL:** https://the-seas.local.mk-labs.cloud
|
- **URL:** https://the-seas.local.mk-labs.cloud
|
||||||
- **Alternate URL:** https://harbor.local.mk-labs.cloud (for intuitive `docker login harbor...`)
|
- **Namespace:** harbor
|
||||||
- **Namespace:** the-seas
|
|
||||||
- **Sync Wave:** 7 (deploys after Gateway API, cert-manager, ExternalSecrets)
|
- **Sync Wave:** 7 (deploys after Gateway API, cert-manager, ExternalSecrets)
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
@@ -88,23 +87,21 @@ All credentials are stored in 1Password and synchronized to Kubernetes via Exter
|
|||||||
|
|
||||||
## Network & TLS
|
## Network & TLS
|
||||||
|
|
||||||
### DNS Names
|
### DNS Name
|
||||||
- **Primary:** the-seas.local.mk-labs.cloud
|
- **Hostname:** the-seas.local.mk-labs.cloud
|
||||||
- **Alternate:** harbor.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
|
### TLS Certificate
|
||||||
- Issued by Let's Encrypt (letsencrypt-prod ClusterIssuer)
|
- Issued by Let's Encrypt (letsencrypt-staging ClusterIssuer)
|
||||||
- Managed by cert-manager
|
- Managed by cert-manager (automatic via Ingress annotation)
|
||||||
- Separate certificates for each hostname
|
- Certificate stored as Kubernetes secret: `harbor-tls`
|
||||||
- Stored as Kubernetes secrets: `the-seas-tls`, `harbor-tls`
|
|
||||||
|
|
||||||
### Routing
|
### Routing
|
||||||
- **Gateway:** fastpass-gateway (namespace: gateway)
|
- **Ingress Controller:** NGINX (nginx-ingress)
|
||||||
- **Protocol:** HTTPS (port 443)
|
- **Protocol:** HTTPS (port 443)
|
||||||
- **Backend:** ClusterIP service `the-seas` on port 80
|
- **Backend:** Harbor NGINX service on port 80
|
||||||
- TLS termination at Gateway level
|
- TLS termination at Ingress level
|
||||||
|
|
||||||
## Access & Authentication
|
## Access & Authentication
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
Reference in New Issue
Block a user