# k8s/temporal/temporal-values.yaml
# Temporal — workflow engine  
# Uses external CNPG PostgreSQL for persistence (ddb-cluster)
# Visibility via same PostgreSQL database

# ── Disable embedded databases ────
postgresql:
  enabled: false

cassandra:
  enabled: true
  persistence:
    enabled: false
  image:
    repo: cassandra
    tag: 3.11.3
  config:
    cluster_size: 1
    ports:
      cql: 9042
  service:
    type: ClusterIP

elasticsearch:
  enabled: false

# ── Disable schema auto-setup ─────
jobs:
  autoSetup:
    enabled: false

# ── Temporal server config (PostgreSQL persistence) ──────────────────────────────
server:
  replicaCount: 1
  jobService:
    enabled: false
  affinity:
    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 100
          podAffinityTerm:
            labelSelector:
              matchLabels:
                app.kubernetes.io/instance: temporal
            topologyKey: kubernetes.io/hostname
  config:
    logLevel: "info"
    persistence:
      defaultStore: default
      visibilityStore: visibility
      numHistoryShards: 512
      datastores:
        default:
          # PostgreSQL for workflow history and events
          driver: sql
          sql:
            driver: postgres12
            host: ddb-cluster-rw.ddb.svc.cluster.local
            port: 5432
            database: temporal
            user: temporal
            password: ""
            maxConns: 20
            maxIdleConns: 10
            maxConnLifetime: "1h"
            connectAttributes:
              tx_isolation: "READ-COMMITTED"
        visibility:
          # PostgreSQL for visibility store (workflow queries)
          driver: sql
          sql:
            driver: postgres12
            host: ddb-cluster-rw.ddb.svc.cluster.local
            port: 5432
            database: temporal_visibility
            user: temporal
            password: ""
            maxConns: 20
            maxIdleConns: 10
            maxConnLifetime: "1h"
  service:
    type: ClusterIP

# ── Temporal Web UI ────────────────────────────────────────────────────────
web:
  replicaCount: 1
  service:
    type: ClusterIP

# ── Ingress ────────────────────────────────────────────────────────
ingress:
  enabled: false

# ── Monitoring ────────────────────────────────────────────────────────
prometheus:
  enabled: false
