fix(temporal): deploy Cassandra + Elasticsearch, pin chart to v0.74.0 (older version with sub-chart support)

This commit is contained in:
Story Crater Bot
2026-07-21 12:18:53 -07:00
parent 26f7da3610
commit cc5325d905
2 changed files with 39 additions and 31 deletions
+38 -30
View File
@@ -1,39 +1,20 @@
# k8s/temporal/temporal-values.yaml # k8s/temporal/temporal-values.yaml
# Temporal — workflow engine for story-crater backend async task orchestration. # Temporal — workflow engine for story-crater backend async task orchestration.
# Chart: temporal/temporal from https://go.temporal.io/helm-charts # Chart: temporal/temporal v1.6.0 from https://go.temporal.io/helm-charts
# #
# Uses Cassandra for default store (workflow history/events) # Uses Cassandra for default store (workflow history/events)
# Uses Elasticsearch for visibility store (namespace/workflow queries) # Uses Elasticsearch for visibility store (namespace/workflow queries)
# This is the chart's native, well-tested configuration. # This is the chart's native, well-tested configuration.
# ── Datastores configuration ──── # ── Sub-charts ────
# Disable auto-deployed PostgreSQL (we use external ddb for other services) # Cassandra and Elasticsearch deployed as dependencies
postgresql:
enabled: false
# Enable Elasticsearch for visibility store (deployed to worker node, 2Gi/4Gi memory)
elasticsearch:
enabled: true
scheme: http
host: temporal-elasticsearch
port: 9200
version: v7
logLevel: error
auth:
enabled: false
indices:
visibility: temporal_visibility_v1
# Cassandra enabled for template validation; server.config overrides with actual hosts
# Schema job template requires cassandra config to exist at top level
cassandra: cassandra:
enabled: true enabled: true
replicas: 3 replicas: 3
cluster: cluster:
seedSize: 1 seedSize: 1
port: 9042 port: 9042
# Was landing 2 of 3 replicas on talos-cp-1 -- spread across nodes so a # Spread replicas across nodes to avoid single-node bottleneck
# single overloaded node can't stall gossip/join for the whole ring.
affinity: affinity:
podAntiAffinity: podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution: preferredDuringSchedulingIgnoredDuringExecution:
@@ -45,6 +26,25 @@ cassandra:
release: temporal release: temporal
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
elasticsearch:
enabled: true
replicas: 1
auth:
enabled: false
env:
cluster.name: temporal
discovery.type: single-node
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
postgresql:
enabled: false
# ── Disable schema auto-setup (will initialize manually) ───────── # ── Disable schema auto-setup (will initialize manually) ─────────
jobs: jobs:
autoSetup: autoSetup:
@@ -76,19 +76,27 @@ server:
numHistoryShards: 512 numHistoryShards: 512
datastores: datastores:
default: default:
# Cassandra for workflow history and events # Cassandra for workflow history/events
driver: cassandra
cassandra: cassandra:
hosts: "temporal-cassandra" hosts: "temporal-cassandra-0.temporal-cassandra.temporal.svc.cluster.local,temporal-cassandra-1.temporal-cassandra.temporal.svc.cluster.local,temporal-cassandra-2.temporal-cassandra.temporal.svc.cluster.local"
port: 9042 port: 9042
keyspace: temporal keyspace: temporal
user: user user: cassandra
password: "" # Cassandra auth disabled in deployment password: ""
replicationFactor: 3 replicationFactor: 3
consistency: consistency:
default: default:
consistency: local_quorum consistency: LOCAL_QUORUM
serialConsistency: local_serial serialConsistency: LOCAL_SERIAL
maxConnsPerHost: 32
visibility:
# Elasticsearch for visibility store (workflow queries)
elasticsearch:
url: "http://elasticsearch.temporal.svc.cluster.local:9200"
scheme: http
logLevel: info
bulkProcessor:
bulkActions: 1000
service: service:
type: ClusterIP type: ClusterIP
+1 -1
View File
@@ -14,7 +14,7 @@ spec:
sources: sources:
- repoURL: https://go.temporal.io/helm-charts - repoURL: https://go.temporal.io/helm-charts
chart: temporal chart: temporal
targetRevision: "*" targetRevision: "0.74.0"
helm: helm:
valueFiles: valueFiles:
- $values/k8s/applications/temporal/temporal-values.yaml - $values/k8s/applications/temporal/temporal-values.yaml