Files
incidentops/helm/incidentops/values.yaml
minhtrannhat 0d99ba0b31 feat: project skeleton
- infra (k8s, kind, helm, docker) backbone is implemented
- security: implementation + unit tests are done
2026-01-21 03:14:09 -05:00

170 lines
3.0 KiB
YAML

# Default values for incidentops
# Global settings
global:
imageRegistry: ""
imagePullSecrets: []
# API Service
api:
replicaCount: 2
image:
repository: incidentops/api
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 8000
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
autoscaling:
enabled: false
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80
podAnnotations: {}
nodeSelector: {}
tolerations: []
affinity: {}
# Worker Service (Celery)
worker:
replicaCount: 2
image:
repository: incidentops/worker
tag: latest
pullPolicy: IfNotPresent
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
autoscaling:
enabled: false
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80
queues: "critical,default,low"
concurrency: 4
podAnnotations: {}
nodeSelector: {}
tolerations: []
affinity: {}
# Web Frontend (Next.js)
web:
replicaCount: 2
image:
repository: incidentops/web
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 3000
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
autoscaling:
enabled: false
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80
podAnnotations: {}
nodeSelector: {}
tolerations: []
affinity: {}
# Ingress configuration
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "10m"
host: incidentops.local
tls: []
# - secretName: incidentops-tls
# hosts:
# - incidentops.local
# Database migration job
migration:
enabled: true
image:
repository: incidentops/api
tag: latest
pullPolicy: IfNotPresent
backoffLimit: 3
# Application configuration
config:
jwtAlgorithm: HS256
accessTokenExpireMinutes: 30
refreshTokenExpireDays: 30
# Secrets (use external secrets in production)
secrets:
jwtSecretKey: "change-me-in-production"
# PostgreSQL configuration (using official postgres image)
postgresql:
enabled: true
image:
repository: postgres
tag: "16-alpine"
pullPolicy: IfNotPresent
auth:
username: incidentops
password: incidentops
database: incidentops
persistence:
size: 8Gi
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
# Redis configuration (using official redis image)
redis:
enabled: true
image:
repository: redis
tag: "7-alpine"
pullPolicy: IfNotPresent
persistence:
size: 2Gi
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
# Service Account
serviceAccount:
create: true
annotations: {}
name: ""
# Pod Security Context
podSecurityContext:
fsGroup: 1000
securityContext:
runAsNonRoot: true
runAsUser: 1000