fix(harbor): correct naming convention and use staging certs
- Rename application/namespace: the-seas -> harbor - Move directory: cluster/platform/the-seas -> cluster/platform/harbor - Update all resource references (ExternalSecret, HTTPRoutes, Certificates) - Switch to letsencrypt-staging issuer (avoid ACME rate limits during testing) - Thematic name 'the-seas' remains in DNS hostnames and comments
This commit is contained in:
@@ -1,12 +1,13 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Platform: the-seas (Harbor Container Registry)
|
# Platform: harbor (Container Registry)
|
||||||
|
# Theme: the-seas (EPCOT: The Seas with Nemo & Friends)
|
||||||
# Wave 7 — depends on Gateway API (wave 4), cert-manager (wave 3), ESO (wave 1)
|
# Wave 7 — depends on Gateway API (wave 4), cert-manager (wave 3), ESO (wave 1)
|
||||||
# Multi-source: Helm chart from upstream + values + manifests from repo
|
# Multi-source: Helm chart from upstream + values + manifests from repo
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: the-seas
|
name: harbor
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
annotations:
|
annotations:
|
||||||
argocd.argoproj.io/sync-wave: "7"
|
argocd.argoproj.io/sync-wave: "7"
|
||||||
@@ -19,17 +20,17 @@ spec:
|
|||||||
targetRevision: 1.19.1
|
targetRevision: 1.19.1
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/cluster/platform/the-seas/values.yaml
|
- $values/cluster/platform/harbor/values.yaml
|
||||||
# Source 2: Repo — values ref + ExternalSecret + HTTPRoutes + Certificates
|
# Source 2: Repo — values ref + ExternalSecret + HTTPRoutes + Certificates
|
||||||
- repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git
|
- repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git
|
||||||
targetRevision: main
|
targetRevision: main
|
||||||
path: cluster/platform/the-seas
|
path: cluster/platform/harbor
|
||||||
ref: values
|
ref: values
|
||||||
directory:
|
directory:
|
||||||
exclude: "application.yaml"
|
exclude: "application.yaml"
|
||||||
destination:
|
destination:
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
prune: true
|
prune: true
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Certificate — Harbor Alternate TLS Certificate
|
# Certificate — Harbor Alternate TLS Certificate (staging until stable)
|
||||||
# Alternate DNS: harbor.local.mk-labs.cloud
|
# Alternate DNS: harbor.local.mk-labs.cloud
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: harbor-tls
|
name: harbor-alt-tls
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
spec:
|
spec:
|
||||||
secretName: harbor-tls
|
secretName: harbor-alt-tls
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt-prod
|
name: letsencrypt-staging
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- harbor.local.mk-labs.cloud
|
- harbor.local.mk-labs.cloud
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Certificate — The Seas TLS Certificate
|
# Certificate — Harbor TLS Certificate (staging until stable)
|
||||||
# Primary DNS: the-seas.local.mk-labs.cloud
|
# Primary DNS: the-seas.local.mk-labs.cloud
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
apiVersion: cert-manager.io/v1
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: the-seas-tls
|
name: harbor-tls
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
spec:
|
spec:
|
||||||
secretName: the-seas-tls
|
secretName: harbor-tls
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: letsencrypt-prod
|
name: letsencrypt-staging
|
||||||
kind: ClusterIssuer
|
kind: ClusterIssuer
|
||||||
dnsNames:
|
dnsNames:
|
||||||
- the-seas.local.mk-labs.cloud
|
- the-seas.local.mk-labs.cloud
|
||||||
@@ -10,15 +10,15 @@
|
|||||||
apiVersion: external-secrets.io/v1beta1
|
apiVersion: external-secrets.io/v1beta1
|
||||||
kind: ExternalSecret
|
kind: ExternalSecret
|
||||||
metadata:
|
metadata:
|
||||||
name: the-seas-credentials
|
name: harbor-credentials
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
spec:
|
spec:
|
||||||
secretStoreRef:
|
secretStoreRef:
|
||||||
kind: ClusterSecretStore
|
kind: ClusterSecretStore
|
||||||
name: onepassword-connect
|
name: onepassword-connect
|
||||||
refreshInterval: "1h"
|
refreshInterval: "1h"
|
||||||
target:
|
target:
|
||||||
name: the-seas-credentials
|
name: harbor-credentials
|
||||||
creationPolicy: Owner
|
creationPolicy: Owner
|
||||||
data:
|
data:
|
||||||
- secretKey: HARBOR_ADMIN_PASSWORD
|
- secretKey: HARBOR_ADMIN_PASSWORD
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
# HTTPRoute — Harbor (Alternate) via Cilium Gateway
|
# HTTPRoute — Harbor (Alternate) via Cilium Gateway
|
||||||
# Alternate DNS: harbor.local.mk-labs.cloud
|
# Alternate DNS: harbor.local.mk-labs.cloud (functional name)
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: HTTPRoute
|
kind: HTTPRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: harbor-alt
|
name: harbor-alt
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
annotations:
|
annotations:
|
||||||
external-dns.alpha.kubernetes.io/hostname: harbor.local.mk-labs.cloud
|
external-dns.alpha.kubernetes.io/hostname: harbor.local.mk-labs.cloud
|
||||||
external-dns.alpha.kubernetes.io/target: "10.1.71.90"
|
external-dns.alpha.kubernetes.io/target: "10.1.71.90"
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# HTTPRoute — The Seas (Primary) via Cilium Gateway
|
# HTTPRoute — Harbor (Primary) via Cilium Gateway
|
||||||
# Primary DNS: the-seas.local.mk-labs.cloud
|
# Primary DNS: the-seas.local.mk-labs.cloud (EPCOT theme)
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: HTTPRoute
|
kind: HTTPRoute
|
||||||
metadata:
|
metadata:
|
||||||
name: the-seas
|
name: harbor-the-seas
|
||||||
namespace: the-seas
|
namespace: harbor
|
||||||
annotations:
|
annotations:
|
||||||
external-dns.alpha.kubernetes.io/hostname: the-seas.local.mk-labs.cloud
|
external-dns.alpha.kubernetes.io/hostname: the-seas.local.mk-labs.cloud
|
||||||
external-dns.alpha.kubernetes.io/target: "10.1.71.90"
|
external-dns.alpha.kubernetes.io/target: "10.1.71.90"
|
||||||
@@ -27,6 +27,6 @@ spec:
|
|||||||
backendRefs:
|
backendRefs:
|
||||||
- group: ""
|
- group: ""
|
||||||
kind: Service
|
kind: Service
|
||||||
name: the-seas
|
name: harbor
|
||||||
port: 80
|
port: 80
|
||||||
weight: 1
|
weight: 1
|
||||||
@@ -22,7 +22,7 @@ expose:
|
|||||||
|
|
||||||
# Admin credentials from ExternalSecret
|
# Admin credentials from ExternalSecret
|
||||||
harborAdminPassword: ""
|
harborAdminPassword: ""
|
||||||
existingSecretAdminPassword: "the-seas-credentials"
|
existingSecretAdminPassword: "harbor-credentials"
|
||||||
existingSecretAdminPasswordKey: "HARBOR_ADMIN_PASSWORD"
|
existingSecretAdminPasswordKey: "HARBOR_ADMIN_PASSWORD"
|
||||||
|
|
||||||
# Disable internal TLS (Gateway terminates TLS)
|
# Disable internal TLS (Gateway terminates TLS)
|
||||||
@@ -38,7 +38,7 @@ database:
|
|||||||
tag: "v2.15.1"
|
tag: "v2.15.1"
|
||||||
# Password from ExternalSecret
|
# Password from ExternalSecret
|
||||||
password: ""
|
password: ""
|
||||||
existingSecret: "the-seas-credentials"
|
existingSecret: "harbor-credentials"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
@@ -61,7 +61,7 @@ redis:
|
|||||||
tag: "v2.15.1"
|
tag: "v2.15.1"
|
||||||
# Password from ExternalSecret
|
# Password from ExternalSecret
|
||||||
jobservicePassword: ""
|
jobservicePassword: ""
|
||||||
existingSecret: "the-seas-credentials"
|
existingSecret: "harbor-credentials"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 256Mi
|
memory: 256Mi
|
||||||
@@ -130,7 +130,7 @@ core:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
# Core secret from ExternalSecret
|
# Core secret from ExternalSecret
|
||||||
secret: ""
|
secret: ""
|
||||||
existingSecret: "the-seas-credentials"
|
existingSecret: "harbor-credentials"
|
||||||
secretName: "CORE_SECRET"
|
secretName: "CORE_SECRET"
|
||||||
# Enable HTTP/2 for better performance
|
# Enable HTTP/2 for better performance
|
||||||
configureUserSettings: |-
|
configureUserSettings: |-
|
||||||
@@ -153,7 +153,7 @@ jobservice:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
# Job service secret from ExternalSecret
|
# Job service secret from ExternalSecret
|
||||||
secret: ""
|
secret: ""
|
||||||
existingSecret: "the-seas-credentials"
|
existingSecret: "harbor-credentials"
|
||||||
existingSecretKey: "JOBSERVICE_SECRET"
|
existingSecretKey: "JOBSERVICE_SECRET"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
@@ -175,7 +175,7 @@ registry:
|
|||||||
credentials:
|
credentials:
|
||||||
username: "harbor_registry_user"
|
username: "harbor_registry_user"
|
||||||
password: ""
|
password: ""
|
||||||
existingSecret: "the-seas-credentials"
|
existingSecret: "harbor-credentials"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
Reference in New Issue
Block a user