# Default values for veylant-proxy.
# Override in staging/production via --set or a values-<env>.yaml file.
# For blue/green deployments use values-blue.yaml / values-green.yaml.

replicaCount: 2

# Deployment slot for blue/green strategy. Used as an Istio DestinationRule subset
# label. Must be "blue" or "green". Override via values-blue.yaml / values-green.yaml.
slot: blue

image:
  repository: ghcr.io/veylant/ia-gateway
  pullPolicy: IfNotPresent
  tag: ""  # Defaults to Chart.appVersion if empty

serviceAccount:
  create: true
  name: ""

service:
  type: ClusterIP
  port: 8090

resources:
  limits:
    cpu: 500m
    memory: 256Mi
  requests:
    cpu: 100m
    memory: 128Mi

autoscaling:
  enabled: false
  minReplicas: 2
  maxReplicas: 10
  targetCPUUtilizationPercentage: 70
  targetMemoryUtilizationPercentage: 80

# Application configuration (mounted as config.yaml via ConfigMap).
# Sensitive values (API keys, DB passwords) must be provided via Kubernetes
# Secrets and referenced via env vars (e.g. VEYLANT_PROVIDERS_OPENAI_API_KEY).
config:
  server:
    port: 8090
    shutdown_timeout_seconds: 30
    env: staging
  log:
    level: info
    format: json
  metrics:
    enabled: true
    path: /metrics

# References to Kubernetes Secret keys for sensitive environment variables.
# These secrets must be created separately (e.g. via Vault Agent Injector).
secrets:
  openaiApiKeySecretName: veylant-proxy-secrets
  openaiApiKeySecretKey: openai-api-key
  databaseUrlSecretName: veylant-proxy-secrets
  databaseUrlSecretKey: database-url

# Prometheus ServiceMonitor (requires prometheus-operator CRDs).
metrics:
  serviceMonitor:
    enabled: false
    interval: 15s
    path: /metrics
