263 lines
5.4 KiB
YAML
263 lines
5.4 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"
|
|
|
|
# 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: {}
|