Docker Hub Harbor images use v-prefix format (v2.15.1) not semantic version format (2.15.1). Updated all component image tags to v2.15.1.
274 lines
5.6 KiB
YAML
274 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 ClusterIP (Gateway API handles ingress)
|
|
expose:
|
|
type: clusterIP
|
|
tls:
|
|
enabled: true
|
|
# TLS termination handled by Gateway, not ingress
|
|
certSource: none
|
|
clusterIP:
|
|
name: the-seas
|
|
ports:
|
|
httpPort: 80
|
|
httpsPort: 443
|
|
|
|
# Admin credentials from ExternalSecret
|
|
harborAdminPassword: ""
|
|
existingSecretAdminPassword: "the-seas-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 from ExternalSecret
|
|
password: ""
|
|
existingSecret: "the-seas-credentials"
|
|
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 from ExternalSecret
|
|
jobservicePassword: ""
|
|
existingSecret: "the-seas-credentials"
|
|
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 from ExternalSecret
|
|
secret: ""
|
|
existingSecret: "the-seas-credentials"
|
|
secretName: "CORE_SECRET"
|
|
# Enable HTTP/2 for better performance
|
|
configureUserSettings: |-
|
|
http2_push_preload on;
|
|
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 from ExternalSecret
|
|
secret: ""
|
|
existingSecret: "the-seas-credentials"
|
|
existingSecretKey: "JOBSERVICE_SECRET"
|
|
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 from ExternalSecret
|
|
credentials:
|
|
username: "harbor_registry_user"
|
|
password: ""
|
|
existingSecret: "the-seas-credentials"
|
|
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: {}
|