Reference

Environment variables

The runtime settings each Telark service reads, with the values the chart sets.

The chart sets each service's environment from services.<svc>.env and, for the templated ones, from app.* values. Override one with:

--set services.<svc>.env.<VARIABLE>=<value>

The Chart column is what a standard install runs. minimal and performance override a few; they are noted in the Notes column. When the chart sets nothing, the service falls back to its built-in default.

Settings that change at runtime (excluded namespaces, snapshot retention, the Insights switch and model, Google sign-in) live on the TelarkConfig resource and are edited in Settings, not here. See TelarkConfig.

Every service

VariableChartNotes
TELARK_SERVICE_TOKENfrom telark-service-token-secretShared service token. A service refuses to start without it.
REDIS_HOST, REDIS_PORT<release>-redis-master, 6379Set by the chart.
NATS_HOST<release>-natsdiscovery and notifier only.
CORS_ALLOWED_ORIGINS""Origins that get CORS headers, for local development. The dashboard proxies every API on its own origin, so production needs none.

discovery-service

VariableChartNotes
PROTECTION_PLAN_TICK_INTERVAL_SEC31Plan controller interval: window edges, health and drift repair.
PROTECTION_PLAN_REPORT_CHECKPOINT_SEC900How often running plans checkpoint violations into their report ledger. Clamped to 60–1800. minimal: 1800.
PROTECTION_PLAN_REPORT_MAX_VIOLATIONS5000Violations one report keeps; beyond that it is marked truncated. minimal: 2000.
DISCOVERY_K8S_CLIENT_QPS, DISCOVERY_K8S_CLIENT_BURST100, 200Kubernetes client rate limits. minimal: 50, 100. performance: 300, 600.
DISCOVERY_ROLLBACK_K8S_CLIENT_QPS, DISCOVERY_ROLLBACK_K8S_CLIENT_BURST100, 200The rollback controller's own client budget, also used by report checkpoints.
DISCOVERY_ROLLBACK_WORKERSnot set (built-in 4)Rollback workers on the leader.
DISCOVERY_INFORMER_RESYNC_SEC600Informer resync interval.
DISCOVERY_ROLLBACK_INFORMER_RESYNC_SEC600Resync interval of the rollback controller's informer.
DISCOVERY_INFORMER_RESYNC_JITTER_FRACTION0.2Per-replica jitter on resyncs.
DISCOVERY_INFORMER_COALESCING_WINDOW_SEC5How long events are buffered per application before one change is recorded.
DISCOVERY_INFORMER_COALESCING_MAX_WAIT_SEC10Longest wait before a forced flush.
COORDINATION_ELECTION_TTL_SEC, COORDINATION_ELECTION_RENEW_SEC15, 5Leader lease and renewal.
COORDINATION_LOCK_TTL_SEC, COORDINATION_LOCK_HEARTBEAT_SEC120, 30Per-application lock and heartbeat.
FORCE_SYNC_WORKERS6Force-sync workers on the leader. minimal: 2. performance: 12.
DISCOVERY_AUTO_CLEANUP_ENABLED"true"Removes an application whose workloads are all gone.
DISCOVERY_AUTO_CLEANUP_EMPTY_CYCLES_REQUIRED2Consecutive empty cycles before removal.
DISCOVERY_AUTO_CLEANUP_CYCLE_INTERVAL_SEC60Cleanup cycle. performance: 120.
INSIGHTS_INDEX_REFRESH_SEC15How often each replica picks up insight changes for the Insights page.
INSIGHTS_INDEX_RESYNC_SEC300Full resync of the Insights page index.
INSIGHTS_STALE_AFTER_SEC86400An active card not seen for this long shows as Stale.

exporter-service

VariableChartNotes
SNAPSHOTS_PATH/snapshotsMount path of the snapshot volume.
REPORTS_PATH/reportsMount path of the report volume.
SNAPSHOT_GC_INTERVAL_SEC3600Sweeps snapshot files no application references (older than an hour) and orphaned report directories. 0 turns it off. minimal: 7200. performance: 900.
EXPORTER_K8S_CLIENT_QPS, EXPORTER_K8S_CLIENT_BURST50, 100Kubernetes client rate limits. minimal: 20, 40. performance: 200, 400.
BOOTSTRAP_ADMINSapp.auth.bootstrap.adminsA session may not create or claim a user with one of these emails.
OIDC_TRUST_SECRET_NAMEtelark-oidc-trust-secretSecret the exporter writes the pinned Google keys to; follows app.auth.oidc.existingSecret.

auth-service

VariableChartNotes
BOOTSTRAP_ADMINSapp.auth.bootstrap.adminsEmails that get the Admin role from a verified identity.
SELF_REGISTRATION_ENABLEDapp.auth.passkey.selfRegistration ("false")Open passkey registration, ReadOnly role. Auth refuses to start when this is off and BOOTSTRAP_ADMINS is empty.
RP_IDapp.auth.passkey.id ("")WebAuthn relying-party ID. Empty follows the request host.
RP_ORIGINapp.auth.passkey.origin ("")Allowed origins, comma-separated. Empty follows the request Origin.
RP_NAMEapp.auth.passkey.name (Dashboard App)Name in the passkey prompt.
CHALLENGE_TIMEOUT60Passkey challenge lifetime, seconds.
SESSION_EXPIRY24Session lifetime, hours.
OIDC_TRUST_FILE/etc/telark/oidc/googleJwkJsonPinned Google key set, mounted from the trust Secret and re-read on change.
REDIS_DB1Redis database auth uses.
CLEANUP_WORKERS_PER_TYPE2Deletion-cleanup workers per record type. minimal: 1. performance: 4.

Behind an Ingress or Gateway, set RP_ID and RP_ORIGIN through app.auth.passkey.id and app.auth.passkey.origin to the dashboard's public domain.

notifier-service

VariableChartNotes
NOTIFIER_APPLY_WORKERS8Apply workers; one application always maps to the same worker, so its updates stay ordered. minimal: 2. performance: 32.

analyzer-service

VariableChartNotes
OLLAMA_HOSThttp://<release>-ollama:11434, or app.ollama.runtimeUrlModel runtime endpoint.
OLLAMA_AUTO_PULLapp.ollama.autoPull (true)Pull a missing model. false for air-gapped installs.
ANALYZER_MODEfastfast: rules, then one narration. deep: the model investigates with tools. Any other value stops the pod at start.
ANALYZER_NUM_THREAD2CPU threads per model call. Equal to the runtime's CPU limit, never above the node's vCPUs.
ANALYZER_NARRATE_TIMEOUT_SEC45Longest wait for the narration; on timeout cards keep the rule text.
ANALYZER_CONTEXT_TOKENS4096Model context window. Deep mode wants 8192.
ANALYZER_MAX_STEPS, ANALYZER_MAX_TOOL_CALLS8, 8Deep mode: loop steps and tool calls per run.
ANALYZER_WALL_SEC480Deep mode: time budget of one run.
ANALYZER_QUEUE_MAX100Queued jobs above which manual Analyze answers 429.
ANALYZER_AUTO_COOLDOWN_SEC, ANALYZER_MANUAL_COOLDOWN_SEC600, 60Per-application cooldown of automatic and manual runs.
ANALYZER_CONFIG_POLL_SEC30How often TelarkConfig and the runtime are re-checked.
ANALYZER_REVIEW_INTERVAL_SEC7200Re-review an unchanged application after this long. 0 turns the sweep off; Analyze still reviews.
ANALYZER_REVIEW_TICK_SEC120Sweep tick.
ANALYZER_REVIEW_APPS_PER_MIN20Sweep pace. minimal: 10. performance: 60.
ANALYZER_REVIEW_WORKLOADS_MAX10Workloads read per review, those with an incident first.
ANALYZER_USAGE_MIN_SAMPLES, ANALYZER_USAGE_MIN_SPAN_SEC12, 43200Usage samples, and the time they must span, before usage rules fire.
ANALYZER_CHANGE_VELOCITY_PER_DAY20Changes per day (seven-day average) that flag change_risk.high_velocity.
ANALYZER_CHANGE_RISK_MIN_SPAN_SEC259200History an application needs before change-risk rules apply.
ANALYZER_PRODUCTION_PATTERN(^|[-_.])(prod|production|prd)($|[-_.])Case-insensitive. Matches namespaces and plan environments that count as production. An invalid pattern stops the pod at start.