Skip to main content

Usage

The overlay layers on top of the canonical values.yaml. Anything not listed in values-large.yaml inherits from the canonical file.

Tier layout

Datastore expectations

  • postgres.mode: external — pin to managed RDS / Aurora / Supabase.
  • redis.mode: external + redis.cluster: true — single-node Redis is the wrong shape at this scale.
  • opensearch.enabled: true — ts-vector tsearch is fine for small fleets but caps out under sustained search load.
  • eventbus.backend: kafka (or kinesis / pulsar).
  • interactionStore.backend: dynamodb — partition-by-customerId scales horizontally without table-bloat pain.

Large-overlay-only keys

The base chart at helm/values.yaml does not define the keys below — they exist only inside the overlay and are consumed by the chart templates as high-level aliases over the per-backend blocks (kafka.*, dynamodb.*, etc.) that the base chart already documents in Helm Chart Reference.

postgresExternalReplicas

Defined in helm/values-large.yaml:163. A single integer that records how many PostgreSQL read replicas the operator has provisioned alongside the primary. Advisory only — the chart does not provision RDS replicas; chart consumers (the read-only analytics path) read this number when deciding whether to fan out reads.

eventbus.*

Defined in helm/values-large.yaml:173-175. High-level alias that selects one of the per-backend event-bus blocks. The base chart drives the same choice from config.EVENT_PUBLISHER (redis | kafka | msk | eventbridge | kinesis); the overlay surfaces it as a single key for callers who prefer to read the topology in one place.

interactionStore.*

Defined in helm/values-large.yaml:177-178. Alias for config.INTERACTION_STORE. Selects which backend receives the partitioned interaction-history writes that back the /api/v1/respond write path and the engagement-health recompute cron. The chart does not create the target store. Mismatches between interactionStore.backend and the per-backend block are left to the operator — the connector boots only when its block is enabled.

Honest limits

  • These numbers are design targets, not benchmarked. The perf/baselines/ directory holds real numbers as they’re measured. Run k6 against the installed cluster before committing to the topology in production.
  • mlWorker resource numbers assume CPU-only inference. GPU support is roadmap and would change the resource profile dramatically.
  • The streaming + mcp tiers are gated off by default in this overlay because both require operator-driven setup beyond the chart (broker provisioning, MCP-tool authorization).
  • postgresExternalReplicas is advisory — the chart does not create replicas, fail closed if the count is wrong, or rebalance reads when a replica is removed. Operator owns provisioning and connection-string publication.
  • eventbus.backend and interactionStore.backend only select the wire path; the actual broker / table / keyspace must already exist when the chart is applied. The chart does not create AWS or self-managed infrastructure on the operator’s behalf.