# Default values for openclaw-mission-control.
# This is a YAML-formatted file.

# Image configuration
image:
  registry: ""
  repository: mission-control
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: ""

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

replicaCount: 1

# Service account
serviceAccount:
  create: true
  annotations: {}
  name: ""

# Pod annotations
podAnnotations: {}

# Pod security context
podSecurityContext:
  runAsNonRoot: true
  runAsUser: 1000
  runAsGroup: 1000
  fsGroup: 1000

# Container security context
securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
      - ALL
  readOnlyRootFilesystem: false

# Environment variables
env:
  NODE_ENV: production
  DATABASE_PATH: /app/data/mission-control.db
  WORKSPACE_BASE_PATH: /app/workspace
  PROJECTS_PATH: /app/workspace/projects
  # Set this to connect to an OpenClaw gateway:
  # OPENCLAW_GATEWAY_URL: ws://openclaw:18789

# Extra environment variables from secrets or configmaps
extraEnv: []
  # - name: SECRET_KEY
  #   valueFrom:
  #     secretKeyRef:
  #       name: my-secret
  #       key: secret-key

# Extra environment variables from .env file style secret
envSecret:
  # Create a secret from key-value pairs
  create: false
  # Use an existing secret
  existingSecret: ""
  # Secret data (only used if create is true)
  data: {}
    # MY_VAR: "my-value"

# Persistence for data volume (/app/data - SQLite database)
persistence:
  data:
    enabled: true
    storageClass: ""
    accessMode: ReadWriteOnce
    size: 1Gi
    annotations: {}
    selector: {}

  # Persistence for workspace volume (/app/workspace - projects)
  workspace:
    enabled: true
    storageClass: ""
    accessMode: ReadWriteOnce
    size: 5Gi
    annotations: {}
    selector: {}

# Service configuration
service:
  type: ClusterIP
  port: 4000
  annotations: {}

# Ingress configuration
ingress:
  enabled: false
  className: nginx

  # Simplified domain configuration
  domain: ""  # e.g., "mission-control.yourdomain.com"

  # TLS configuration
  tls:
    enabled: false
    secretName: ""
    certManager:
      enabled: false
      issuer: "letsencrypt-prod"

  annotations: {}

  # Advanced: Manual host configuration (overrides domain if set)
  hosts: []

# Resource limits/requests
resources:
  limits:
    memory: 512Mi
    cpu: 500m
  requests:
    memory: 128Mi
    cpu: 100m

# Node selector
nodeSelector: {}

# Tolerations
tolerations: []

# Affinity rules
affinity: {}

# Probes
livenessProbe:
  enabled: true
  httpGet:
    path: /
    port: http
  initialDelaySeconds: 15
  periodSeconds: 20
  timeoutSeconds: 5
  failureThreshold: 3

readinessProbe:
  enabled: true
  httpGet:
    path: /
    port: http
  initialDelaySeconds: 5
  periodSeconds: 5
  timeoutSeconds: 3
  failureThreshold: 3

startupProbe:
  enabled: true
  httpGet:
    path: /
    port: http
  initialDelaySeconds: 5
  periodSeconds: 5
  timeoutSeconds: 3
  failureThreshold: 12  # 60 seconds max startup time
