Helm values reference

Every Helm chart value, what it does, and the recommended setting.

The chart is at deploy/helm/simian/. Reference for every value lives in the chart’s values.yaml — that file has long inline comments explaining each setting and is the canonical source. This page summarizes by category.

For installs that want a known-good starting point rather than the chart defaults, layer the recommended overlay on top.

Image

ValueDefaultNotes
image.repositoryghcr.io/go-steer/simian-agentPublished by the release workflow on every v* tag.
image.tag"" (falls back to Chart.AppVersion)Pin explicitly for production so chart upgrades don’t silently change the running binary.
image.pullPolicyIfNotPresent

Eligibility

ValueDefaultNotes
eligibleNamespaces[]Static allowlist. When empty, the controller falls back to annotation-based lookup (simian.chaos/eligible="true"), which is the preferred mode for installations using simian arena create.

Provisioner subsystem (M2 Part A)

ValueDefaultNotes
provisioner.enabledtrueShips the simian-provisioner SA + ClusterRole + ValidatingAdmissionPolicy backstop. Disable for installs where arenas are managed by an operator using their kubeconfig (no in-cluster provisioner).

LLM provider

ValueDefaultNotes
llm.providergeminigemini or stub.
llm.model"" (default gemini-2.5-pro)
llm.vertex.enabledtrueVertex via Workload Identity (production-recommended).
llm.vertex.projectgke-demos-345619Replace for your install.
llm.vertex.locationus-central1
llm.apiKey.enabledfalseAlternative to Vertex; mounts a Kubernetes Secret.
llm.apiKey.secretRef / secretKeysimian-llm / geminiApiKey

Executor safety policy

ValueDefaultNotes
executor.durationCeiling15mHard cap per fault. Recommended overlay: 5m.
executor.permittedTiers[namespace, node]Blast-radius tiers permitted. Recommended overlay: [namespace] (opt-in to node tier per install).
executor.maxConcurrentFaults0 (no cap)Total leased faults across namespaces. Recommended overlay: 1.
executor.minCooldown0sPer-namespace cooldown. Recommended overlay: 60s.
executor.recentFaultsCapacity100Bounded ring backing the get_recent_faults MCP tool.

Topology + SUT

ValueDefaultNotes
topology.resync30sInformer resync interval. Recommended overlay: 60s for prod (lower API server load).
sutInController.enabledfalseRequired for simian sut deploy --use-controller (the in-controller SUT path). Recommended overlay: true.
sutInjection.envoyFaultsfalseWhether to inject the Envoy fault sidecar into SUT Deployments. Off by default because the iptables interception breaks gRPC kubelet probes — see Known limitations. Only enable for SUTs whose probes are HTTP-only or TCP-only.

Autonomous mode

ValueDefaultNotes
autonomous.enabledfalseWhen true, the controller runs the autonomous planning loop.
autonomous.namespaces[]Required when enabled: true. Arena namespaces the loop targets.
autonomous.cycleInterval5mRecommended overlay: 10m (slower; more time to observe).
autonomous.maxFaultsPerCycle3Recommended overlay: 1 (one fault per cycle to start).
autonomous.maxSeverityPerCyclenamespaceHighest blast tier the loop will apply.
autonomous.hypothesisHint""Optional soft preference passed to the LLM. Use this to bias toward newer engines (network-policy, envoy-fault).

MCP server

ValueDefaultNotes
mcp.port8081
mcp.serviceTypeClusterIP

Resources + security

ValueDefaultNotes
resources.requests.cpu / .memory100m / 128MiRecommended overlay: 200m / 256Mi.
resources.limits.cpu / .memory500m / 512MiRecommended overlay: 1000m / 1Gi (prevents OOM during LLM bursts).
podSecurityContextrestricted-PSS-compatiblerunAsNonRoot: true, runAsUser: 65532, seccompProfile.type: RuntimeDefault.