- Add web Deployment/Service with nginx SPA on port 80 - Remove env generation from chart, use external ConfigMap (configMap.create=false) - Add SSH host key Secret injection for gitpod (/etc/ssh) - Fix ServiceMonitor to scrape /metrics uniformly for all services - Fix container names to be service-specific (gitdata/gitpod/gitsync/email/web) - Parameterize PVC claimName and data mountPath - Fix Ingress routing: / -> web, /api /socket.io -> gitdata - Add web to HPA/PDB support lists
417 lines
6.7 KiB
YAML
417 lines
6.7 KiB
YAML
global:
|
|
image:
|
|
registry: "harbor.gitdata.me/app"
|
|
pullPolicy: IfNotPresent
|
|
tag: "latest"
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
namespace: "gitdataai"
|
|
|
|
serviceAccount:
|
|
create: true
|
|
annotations: {}
|
|
name: ""
|
|
|
|
configMap:
|
|
create: false
|
|
name: gitdataai
|
|
|
|
persistence:
|
|
data:
|
|
claimName: app-data-pvc
|
|
mountPath: /data
|
|
|
|
gitdata:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
name: gitdata-gitdata
|
|
registry: ""
|
|
tag: ""
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8080
|
|
annotations: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 250m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
startupProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 30
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: http
|
|
periodSeconds: 15
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: http
|
|
periodSeconds: 10
|
|
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/path: "/metrics"
|
|
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
|
|
securityContext:
|
|
readOnlyRootFilesystem: false
|
|
allowPrivilegeEscalation: false
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
|
|
gitpod:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
name: gitdata-gitpod
|
|
registry: ""
|
|
tag: ""
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8080
|
|
annotations: {}
|
|
|
|
sshService:
|
|
type: LoadBalancer
|
|
port: 2222
|
|
annotations: {}
|
|
|
|
rpcService:
|
|
type: ClusterIP
|
|
port: 50051
|
|
annotations: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 2Gi
|
|
|
|
startupProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 30
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
periodSeconds: 20
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
periodSeconds: 15
|
|
|
|
podAnnotations: {}
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
|
|
securityContext:
|
|
readOnlyRootFilesystem: false
|
|
allowPrivilegeEscalation: false
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
# -- SSH host key secret mounted to /etc/ssh.
|
|
sshHostKeySecret: gitpod-ssh-host-keys
|
|
|
|
# -- Data volumes (repos storage)
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
|
|
gitsync:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
name: gitdata-gitsync
|
|
registry: ""
|
|
tag: ""
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8081
|
|
annotations: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
startupProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 30
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
periodSeconds: 30
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
periodSeconds: 15
|
|
|
|
podAnnotations: {}
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
|
|
securityContext:
|
|
readOnlyRootFilesystem: false
|
|
allowPrivilegeEscalation: false
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
|
|
email:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
name: gitdata-email
|
|
registry: ""
|
|
tag: ""
|
|
|
|
service:
|
|
enabled: false
|
|
type: ClusterIP
|
|
port: 8083
|
|
annotations: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
startupProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 30
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
periodSeconds: 30
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: health
|
|
periodSeconds: 15
|
|
|
|
podAnnotations: {}
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
|
|
securityContext:
|
|
readOnlyRootFilesystem: false
|
|
allowPrivilegeEscalation: false
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
web:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
name: gitdata-web
|
|
registry: ""
|
|
tag: ""
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 80
|
|
annotations: {}
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
startupProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
failureThreshold: 30
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
periodSeconds: 30
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
periodSeconds: 15
|
|
|
|
podAnnotations: {}
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 101
|
|
fsGroup: 101
|
|
|
|
securityContext:
|
|
readOnlyRootFilesystem: false
|
|
allowPrivilegeEscalation: false
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: "nginx"
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: "cloudflare-acme-cluster-issuer"
|
|
api:
|
|
hosts:
|
|
- host: dev.gitdata.ai
|
|
paths:
|
|
- path: /api
|
|
pathType: Prefix
|
|
- path: /socket.io
|
|
pathType: Prefix
|
|
tls:
|
|
- hosts:
|
|
- dev.gitdata.ai
|
|
secretName: dev-gitdata-ai-tls
|
|
git:
|
|
hosts:
|
|
- host: gitdev.gitdata.ai
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls:
|
|
- hosts:
|
|
- gitdev.gitdata.ai
|
|
secretName: gitdev-gitdata-ai-tls
|
|
|
|
serviceMonitor:
|
|
enabled: false
|
|
interval: 30s
|
|
labels: {}
|
|
annotations: {}
|
|
services:
|
|
gitdata: true
|
|
gitpod: true
|
|
gitsync: true
|
|
email: true
|
|
|
|
autoscaling:
|
|
gitdata:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 10
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: ""
|
|
gitpod:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 5
|
|
targetCPUUtilizationPercentage: 75
|
|
targetMemoryUtilizationPercentage: ""
|
|
gitsync:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 5
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: ""
|
|
email:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 3
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: ""
|
|
web:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 3
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: ""
|
|
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
gitdata:
|
|
minAvailable: 1
|
|
gitpod:
|
|
minAvailable: 1
|
|
gitsync:
|
|
minAvailable: ""
|
|
email:
|
|
minAvailable: ""
|
|
web:
|
|
minAvailable: ""
|