DNS was pointing to Gateway (10.1.71.90) instead of NGINX Ingress (10.1.71.80) after we removed the HTTPRoute manifests. This caused traffic to hit the Gateway's wildcard cert and get 'no healthy upstream' errors. Added external-dns annotations to Ingress to direct DNS to correct IP: - external-dns.alpha.kubernetes.io/hostname: the-seas.local.mk-labs.cloud - external-dns.alpha.kubernetes.io/target: 10.1.71.80 This will update Technitium DNS to point to NGINX Ingress Controller.
265 lines
5.6 KiB
YAML
265 lines
5.6 KiB
YAML
# ------------------------------------------------------------------------------
|
|
# Harbor Helm Chart Values
|
|
# Service: the-seas (The Seas with Nemo & Friends)
|
|
# Architecture: Embedded PostgreSQL, embedded Redis, single instance
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# External URL for Harbor - primary DNS name
|
|
externalURL: https://the-seas.local.mk-labs.cloud
|
|
|
|
# Expose Harbor via Ingress (nginx-ingress controller)
|
|
expose:
|
|
type: ingress
|
|
tls:
|
|
enabled: true
|
|
certSource: secret
|
|
secret:
|
|
secretName: harbor-tls
|
|
notarySecretName: harbor-tls
|
|
ingress:
|
|
hosts:
|
|
core: the-seas.local.mk-labs.cloud
|
|
notary: notary-the-seas.local.mk-labs.cloud
|
|
className: nginx
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
|
external-dns.alpha.kubernetes.io/hostname: the-seas.local.mk-labs.cloud
|
|
external-dns.alpha.kubernetes.io/target: "10.1.71.80"
|
|
|
|
# Admin credentials from ExternalSecret
|
|
harborAdminPassword: ""
|
|
existingSecretAdminPassword: "harbor-credentials"
|
|
existingSecretAdminPasswordKey: "HARBOR_ADMIN_PASSWORD"
|
|
|
|
# Disable internal TLS (Gateway terminates TLS)
|
|
internalTLS:
|
|
enabled: false
|
|
|
|
# Embedded PostgreSQL configuration
|
|
database:
|
|
type: internal
|
|
internal:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-db
|
|
tag: "v2.15.1"
|
|
# Password auto-generated by Harbor Helm chart
|
|
resources:
|
|
requests:
|
|
memory: 1Gi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 2Gi
|
|
cpu: 2000m
|
|
shmSizeLimit: 512Mi
|
|
maxIdleConns: 100
|
|
maxOpenConns: 900
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Embedded Redis configuration
|
|
redis:
|
|
type: internal
|
|
internal:
|
|
image:
|
|
repository: docker.io/goharbor/redis-photon
|
|
tag: "v2.15.1"
|
|
# Password auto-generated by Harbor Helm chart
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 250m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Storage configuration - use nfs-emporium StorageClass
|
|
persistence:
|
|
enabled: true
|
|
resourcePolicy: "keep"
|
|
persistentVolumeClaim:
|
|
registry:
|
|
storageClass: nfs-emporium
|
|
accessMode: ReadWriteOnce
|
|
size: 100Gi
|
|
jobservice:
|
|
jobLog:
|
|
storageClass: nfs-emporium
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
database:
|
|
storageClass: nfs-emporium
|
|
accessMode: ReadWriteOnce
|
|
size: 10Gi
|
|
redis:
|
|
storageClass: nfs-emporium
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
trivy:
|
|
storageClass: nfs-emporium
|
|
accessMode: ReadWriteOnce
|
|
size: 10Gi
|
|
|
|
# Image chart storage - use local filesystem (on PVC)
|
|
imageChartStorage:
|
|
disableredirect: false
|
|
type: filesystem
|
|
filesystem:
|
|
rootdirectory: /storage
|
|
|
|
# Portal (UI) configuration - single replica
|
|
portal:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-portal
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 250m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Core service configuration - single replica
|
|
core:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-core
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
# Core secret auto-generated by Harbor Helm chart
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 1Gi
|
|
cpu: 1000m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Job service configuration - single replica
|
|
jobservice:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-jobservice
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
# Job service secret auto-generated by Harbor Helm chart
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 1Gi
|
|
cpu: 1000m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Registry configuration - single replica
|
|
registry:
|
|
image:
|
|
repository: docker.io/goharbor/registry-photon
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
# Registry credentials auto-generated by Harbor Helm chart
|
|
resources:
|
|
requests:
|
|
memory: 1Gi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 2Gi
|
|
cpu: 1000m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Registry controller
|
|
registryctl:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-registryctl
|
|
tag: "v2.15.1"
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 250m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
|
|
# Trivy vulnerability scanner
|
|
trivy:
|
|
enabled: true
|
|
image:
|
|
repository: docker.io/goharbor/trivy-adapter-photon
|
|
tag: "v2.15.1"
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
limits:
|
|
memory: 1Gi
|
|
cpu: 1000m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Exporter for metrics
|
|
exporter:
|
|
image:
|
|
repository: docker.io/goharbor/harbor-exporter
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 250m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Metrics configuration
|
|
metrics:
|
|
enabled: true
|
|
core:
|
|
path: /metrics
|
|
port: 8001
|
|
registry:
|
|
path: /metrics
|
|
port: 8001
|
|
jobservice:
|
|
path: /metrics
|
|
port: 8001
|
|
exporter:
|
|
path: /metrics
|
|
port: 8001
|
|
|
|
# Cache configuration (for performance)
|
|
cache:
|
|
enabled: true
|
|
expireHours: 24
|
|
|
|
# Update strategy
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
# NGINX (proxy in front of Harbor)
|
|
nginx:
|
|
image:
|
|
repository: docker.io/goharbor/nginx-photon
|
|
tag: "v2.15.1"
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 250m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|
|
podAnnotations: {}
|
|
podLabels: {}
|