Skip to content
LogoLogo

Configuration

Most Centaur settings come from Helm values and are rendered into service environment variables by contrib/chart/templates/workloads.yaml.

Use these as the main extension points:

SourceUse
secretManager.existingSecretNameRequired runtime secrets such as database, Slack, sandbox signing, and 1Password credentials.
api.extraEnvAPI feature flags, worker tuning, retention, observability, and deployment-specific overrides.
slackbot.extraEnvSlackbot HTTP, Slack, feedback, and cross-org behavior.
sandbox.extraEnvExtra variables copied into every sandbox pod through KUBERNETES_SANDBOX_EXTRA_ENV.
overlay.*Overlay mount path and overlay image passed to the API and sandboxes.

Tool credentials are not listed here. Tool plugins declare their own secrets in tools/**/pyproject.toml; Centaur resolves them through secret(...) and iron-proxy instead of treating them as global platform configuration.

Required

These must exist for the normal Helm deployment. For local development, just bootstrap-secrets creates centaur-infra-env from your shell.

Env varSet fromControls
DATABASE_URLsecretManager.existingSecretName; local bootstrap generates it.API and Slackbot Postgres connection.
SLACK_SIGNING_SECRETsecretManager.existingSecretName; local bootstrap reads shell env.Slack request signature verification.
SLACKBOT_API_KEYsecretManager.existingSecretName; local bootstrap reads shell env.Static API key bootstrapped for Slackbot.
SLACK_BOT_TOKENsecretManager.existingSecretName; local bootstrap reads shell env.Slack Web API access for Slackbot.
SANDBOX_SIGNING_KEYsecretManager.existingSecretName; local bootstrap generates it.Signing key for short-lived sandbox API tokens.
IRON_MANAGEMENT_API_KEYsecretManager.existingSecretName; local bootstrap generates it.Management key for API-created iron-proxy pods.
IRON_BROKER_TOKENsecretManager.existingSecretName; required when tokenBroker.enabled=true.Bearer token iron-proxy presents to iron-token-broker and the broker enforces on its HTTP API.
OP_SERVICE_ACCOUNT_TOKENLocal shell, then centaur-infra-env; production Secret.1Password service-account auth when using onepassword secret source.
OP_VAULTLocal shell, then centaur-infra-env; defaults to ai-agents in code.1Password vault used for op://... secret refs.

Optional required-by-mode variables:

Env varSet fromControls
OP_CONNECT_CREDENTIALS_FILELocal shell before just deploy.Enables the 1Password Connect subchart and creates its credentials Secret.
OP_CONNECT_TOKENSecret or local bootstrap shell env.Token used by iron-proxy when ironProxy.secretSource=onepassword-connect.
LOCAL_DEV_API_KEYAPI env.Static local admin/dev key bootstrapped into Postgres.

API

Env varSet fromControls
CENTAUR_DEFAULT_HARNESSapi.defaultHarness.Default harness for new executions.
CENTAUR_ENVIRONMENTapi.extraEnv or deployment env.Environment label in traces and telemetry.
CENTAUR_LOG_LEVEL, LOG_LEVELHelm sets CENTAUR_LOG_LEVEL=info; override in api.extraEnv.API log level.
CENTAUR_SERVICE_NAMEapi.extraEnv.Default API log service field.
SHUTDOWN_DRAIN_TIMEOUT_Sapi.extraEnv.Graceful shutdown wait for in-flight HTTP requests.
EXECUTION_WORKER_ENABLEDapi.executionWorkerEnabled.Starts the durable agent execution worker.
WORKFLOW_WORKER_ENABLEDapi.workflowWorkerEnabled.Starts the durable workflow worker.
WARM_POOL_ENABLEDapi.warmPoolEnabled.Starts warm sandbox replenishment.
PLUGIN_WATCHER_ENABLEDapi.pluginWatcherEnabled.Enables tool and workflow hot-reload watchers.
TOOL_DIRS, PLUGINS_DIRChart-rendered from base tools and overlay; fallback to PLUGINS_DIR.Tool discovery paths.
WORKFLOW_DIRSChart-rendered from base workflows and overlay.Workflow discovery paths.
CENTAUR_OVERLAY_DIRoverlay.mountPath.Mounted overlay root for tools, workflows, prompts, migrations, and skills.
CENTAUR_OVERLAY_IMAGE, CENTAUR_OVERLAY_IMAGE_PULL_POLICY, CENTAUR_OVERLAY_IMAGE_SOURCE_PATHoverlay.image.*.Overlay image copied into sandbox pods.
SLACKBOT_URLChart-rendered Slackbot service URL.API callback target for Slack delivery.
FINAL_DELIVERY_MAX_ATTEMPTS, FINAL_DELIVERY_READY_GRACE_Sapi.extraEnv.Final-delivery retry and claim timing.
CENTAUR_ENABLE_GCLOUD_BOOTSTRAP, GCP_GCLOUD_CREDENTIAL, GCLOUD_PROJECTapi.extraEnv or Secret.Optional gcloud ADC bootstrap in the API container.
CLAUDE_MODEL, CODEX_MODELapi.extraEnv or request model override.Harness model selection defaults.

Execution tuning:

Env varSet fromControls
EXECUTION_WORKER_CONCURRENCYapi.extraEnv.Max concurrent execution claims.
EXECUTION_RESERVED_USER_SLOTSapi.extraEnv.Worker slots reserved for user-facing requests.
EXECUTION_WORKER_LEASE_Sapi.extraEnv.Execution claim lease duration.
EXECUTION_SILENCE_TIMEOUT_S, EXECUTION_TOOL_SILENCE_TIMEOUT_S, EXECUTION_HARD_TIMEOUT_Sapi.extraEnv.Execution watchdog and absolute timeouts.
EXECUTION_WATCHDOG_POLL_S, EXECUTION_RECONCILE_INTERVAL_S, EXECUTION_STALE_RECOVERY_INTERVAL_Sapi.extraEnv.Execution watchdog and reconciliation cadence.
EXECUTION_RECONCILE_STARTUP_LIMITapi.extraEnv.Max interrupted executions recovered at startup.
EXECUTION_STREAM_EOF_RETRY_DELAY_Sapi.extraEnv.Delay before retrying interrupted sandbox streams.
THREAD_FAILURE_LOOP_WINDOW_S, THREAD_FAILURE_LOOP_THRESHOLDapi.extraEnv.Repeated thread failure detection.
IDLE_TTL_S, SUSPENDED_RETENTION_S, MAX_ACTIVE_SANDBOX_SESSIONSapi.extraEnv.Sandbox cleanup limits.
STREAM_EOF_REATTACH_MAX, STREAM_EOF_REATTACH_BACKOFF_Sapi.extraEnv.Stream reattach retry behavior.

Slackbot

Env varSet fromControls
NODE_ENVRuntime env.Development route listing and telemetry environment fallback.
PORTRuntime env.Slackbot HTTP port.
SLACK_API_URLslackbot.extraEnv.Optional Slack Web API base URL override.
CENTAUR_API_URLChart-rendered API service URL.API base URL used by Slackbot.
CENTAUR_API_KEYSecret/env fallback.Used only when SLACKBOT_API_KEY is unset.
CENTAUR_SLACK_EVENTS_PATHslackbot.extraEnv.Slack Events API route; defaults to /api/webhooks/slack.
RUNTIME_ERROR_ALERT_CHANNELslackbot.runtimeErrorAlertChannel.Slack channel for runtime error alerts.
SLACK_EVENT_DEDUP_TTL_MSslackbot.extraEnv.Slack event dedupe window.
SLACK_SIGNATURE_MAX_AGE_SECONDSslackbot.extraEnv.Maximum accepted Slack signature age.
LINEAR_API_KEYSecret or slackbot.extraEnv.Enables Slack feedback commands to create Linear issues.
SLACK_FEEDBACK_COMMANDS, SLACK_FEEDBACK_ALLOWED_CHANNELSslackbot.extraEnv.Feedback slash commands and optional channel allowlist.
SLACK_FEEDBACK_LINEAR_TEAM_ID, SLACK_FEEDBACK_LINEAR_PROJECT_IDslackbot.extraEnv.Linear destination for feedback issues.
SLACKBOT_EXTERNAL_ORG_ALLOWLISTslackbot.extraEnv.Slack team ids allowed for external org handoff.
COMMIT_SHABuild/deploy env.Commit shown in Slackbot metadata.

Sandbox

API-set variables:

Env varSet fromControls
AGENT_IMAGEsandbox.image.*.Sandbox image used by the Kubernetes backend.
AGENT_API_URLChart-rendered API service URL.Source for sandbox CENTAUR_API_URL; required by Kubernetes backend.
CENTAUR_API_URL, CENTAUR_API_KEY, CENTAUR_THREAD_KEY, CENTAUR_TRACE_IDAPI sandbox creation.API callback, short-lived sandbox token, thread key, and trace id.
AMP_MODE, AMP_THREAD_VISIBILITY, AMP_CONTINUE_THREAD_IDAPI env or resume path.Amp mode and resume behavior.
FIREWALL_HOST, HTTPS_PROXY, HTTP_PROXY, NO_PROXY and lowercase variantsAPI sandbox creation.Routes sandbox egress through per-sandbox iron-proxy.
NODE_EXTRA_CA_CERTS, REQUESTS_CA_BUNDLE, SSL_CERT_FILE, GIT_SSL_CAINFOAPI sandbox creation.Trust bundle for proxied TLS.
PG_PROXY_PASSWORD_<SECRET_NAME>, <PG_DSN_SECRET_NAME>API per-sandbox proxy creation.Proxied Postgres credentials for tools that declare pg_dsn secrets.

Kubernetes backend:

Env varSet fromControls
KUBERNETES_NAMESPACE, POD_NAMESPACE, KUBERNETES_KUBECONFIGChart namespace, downward API, or api.extraEnv.Kubernetes client namespace/config.
KUBERNETES_AGENT_IMAGE_PULL_POLICY, KUBERNETES_SANDBOX_IMAGE_PULL_SECRETSsandbox.image.pullPolicy, global.imagePullSecrets.Sandbox image pull behavior.
KUBERNETES_SANDBOX_RUNTIME_CLASS_NAME, KUBERNETES_SANDBOX_SERVICE_ACCOUNT_NAMEsandbox.runtimeClassName, api.extraEnv.Pod runtime class and service account.
KUBERNETES_SANDBOX_CPU_LIMIT, KUBERNETES_SANDBOX_MEMORY_LIMIT, KUBERNETES_SANDBOX_CPU_REQUEST, KUBERNETES_SANDBOX_MEMORY_REQUESTsandbox.resources.*.Sandbox pod resources.
KUBERNETES_SANDBOX_READY_TIMEOUT_S, KUBERNETES_ATTACH_LOG_TAIL_LINESapi.extraEnv.Sandbox readiness and attach diagnostics.
KUBERNETES_SANDBOX_EXTRA_ENVsandbox.extraEnv.JSON list copied into each sandbox.
KUBERNETES_FIREWALL_CA_SECRET_NAME, KUBERNETES_FIREWALL_CA_KEY_SECRET_NAMEfirewall.existingCa* or generated CA Secrets.CA material for sandbox/proxy TLS interception.
KUBERNETES_SECRET_ENV_NAME, KUBERNETES_SECRET_ENV_PREFIX, KUBERNETES_BOOTSTRAP_SECRET_NAMEsecretManager.*, secrets.bootstrapSecretName.Secrets read by API-created proxy/sandbox pods.
KUBERNETES_IRON_PROXY_IMAGE, KUBERNETES_IRON_PROXY_IMAGE_PULL_POLICY, KUBERNETES_IRON_PROXY_PORT, KUBERNETES_IRON_PROXY_MANAGEMENT_PORT, KUBERNETES_IRON_PROXY_HEALTH_PORTironProxy.*.Per-sandbox iron-proxy image and ports.
FIREWALL_MANAGER_SECRET_SOURCE, FIREWALL_MANAGER_SECRET_TTL, KUBERNETES_FIREWALL_MANAGER_SECRET_SOURCEironProxy.secretSource, ironProxy.secretTtl.Secret source and cache TTL for rendered proxy config.
FIREWALL_MANAGER_TOKEN_BROKER_TTLtokenBroker.ttl.Proxy-side cache TTL for access tokens minted by iron-token-broker. Applied to every brokered_token secret.
KUBERNETES_TOKEN_BROKER_NAME, KUBERNETES_TOKEN_BROKER_URLtokenBroker.*.iron-token-broker Deployment name and ClusterIP URL. The chart owns the broker Deployment, Service, and NetworkPolicies; the API reconciles its ConfigMap and triggers a rolling restart when the rendered content changes.
KUBERNETES_OP_CONNECT_HOST, KUBERNETES_OP_CONNECT_APP_NAME, KUBERNETES_OP_CONNECT_PORTChart helper or api.extraEnv.1Password Connect endpoint details.
KUBERNETES_API_POD_LABEL_SELECTORChart-rendered labels or api.extraEnv.API pod selector for API-managed proxy policies.
KUBERNETES_EGRESS_DISCOVERY_ENABLED, KUBERNETES_EGRESS_SERVICE_NAMESPACE, KUBERNETES_CLUSTER_DOMAIN, KUBERNETES_EGRESS_TAILNET_FQDN_ANNOTATIONapi.egressDiscovery.*.Egress service discovery for sandbox NetworkPolicies.
REPOS_PATHsandbox.reposPath.Repo cache path mounted into sandboxes.

Sandbox entrypoint and wrappers:

Env varSet fromControls
CENTAUR_HARNESS_CONFIG_DIR, CENTAUR_HARNESS_ADAPTERSandbox image or sandbox.extraEnv.Harness config directory and optional adapter executable.
AGENT_REPO, AGENT_PERSONARuntime assignment metadata.Workspace repo clone and persona prompt.
GOOGLE_APPLICATION_CREDENTIALSSandbox entrypoint or sandbox.extraEnv.Google ADC path; entrypoint creates a local stub when unset.
CODEX_API_KEY, CODEX_HOME, CODEX_CONTINUE_THREAD_IDsandbox.extraEnv or runtime resume.Codex auth/config/resume behavior.
CODEX_AUTH_MODEsandbox.extraEnv.Codex auth flow: api_key (default, hits api.openai.com) or access_token (hits chatgpt.com via the brokered ChatGPT login). See Codex Auth Modes.
CLAUDE_MODEL, CLAUDE_CONTINUE_SESSION_IDsandbox.extraEnv or runtime resume.Claude model and resume behavior.
CLAUDE_CODE_AUTH_MODEsandbox.extraEnv.Claude Code auth flow: api_key (default, uses ANTHROPIC_API_KEY) or access_token (Claude.ai Pro or Max via the brokered OAuth login). See Claude Auth Modes.
DEPLOY_ENV, ENVIRONMENT, TRACEPARENTDeployment env or wrapper-generated.Runtime environment and trace context.
CALL_TIMEOUT_SECONDSSandbox env before running call.Curl watchdog for API tool calls.
SLACK_CHANNEL, SLACK_THREAD_TSSandbox env.File-upload helper target.

Workflows

Env varSet fromControls
WORKFLOW_WORKER_CONCURRENCY, WORKFLOW_WORKER_LEASE_Sapi.extraEnv.Workflow worker pool size and lease duration.
WORKFLOW_RECONCILE_INTERVAL_S, WORKFLOW_RESUSPEND_BACKOFF_Sapi.extraEnv.Workflow claim/reclaim cadence.
WORKFLOW_SCHEDULE_TICK_INTERVAL_S, WORKFLOW_SCHEDULE_CATCHUP_LIMIT, WORKFLOW_SCHEDULE_MISFIRE_GRACE_Sapi.extraEnv.Scheduled workflow timing and catch-up behavior.
MY_THREAD_KEY, <WORKFLOW_NAME>_THREAD_KEY, <WORKFLOW_NAME>_SLACK_CHANNELWorkflow-specific env.Fallback thread/channel targets for workflow agent steps.
<WEBHOOK_SECRET_REF>API env or Secret named by a workflow WebhookSpec.HMAC secret for public workflow webhooks, for example GITHUB_WEBHOOK_SECRET.

Slack ETL workflows:

Env varSet fromControls
SLACK_ETL_ENABLEDapi.slackEtlEnabled.Master switch for Slack sync/backfill/context schedules.
SLACK_SYNC_INTERVAL_SECONDS, SLACK_BACKFILL_INTERVAL_SECONDS, COMPANY_CONTEXT_DOCUMENTS_INTERVAL_SECONDSapi.*IntervalSeconds.Slack ETL schedule intervals.
SLACK_SYNC_BACKFILL_LOOKBACK_DAYS, SLACK_SYNC_THREAD_LOOKBACK_DAYSapi.slackSync*LookbackDays.Slack history/thread lookback windows.
SLACK_ETL_EXCLUDED_CHANNEL_PATTERNSapi.slackEtlExcludedChannelPatterns.Comma-separated channel-name globs to skip.
SLACK_BACKFILL_ENABLED, SLACK_BACKFILL_CHANNEL_BATCH_LIMIT, SLACK_BACKFILL_CHANNEL_PAGES_PER_JOBapi.extraEnv or chart batch limit.Backfill enablement and batch sizing.
COMPANY_CONTEXT_DOCUMENTS_ENABLEDapi.extraEnv.Enables company-context projection when Slack ETL is on.

Observability and Retention

Env varSet fromControls
VICTORIAMETRICS_URL, VICTORIAMETRICS_PUSH_ENABLEDapi.extraEnv, api.victoriaMetricsPushEnabled.Push-based API metrics.
CENTAUR_RETENTION_ATTACHMENTS_TTL_DAYS, CENTAUR_RETENTION_TRANSCRIPTS_TTL_DAYSapi.extraEnv.Attachment/transcript retention TTLs.
CENTAUR_RETENTION_SWEEP_INTERVAL_SECONDS, CENTAUR_RETENTION_BATCH_SIZE, CENTAUR_RETENTION_DRY_RUNapi.extraEnv.Retention sweep cadence, batch size, and dry-run mode.
TOOL_CALL_TIMEOUT_S, TOOL_BINARY_INLINE_MAX_BYTES, TOOL_BINARY_PREVIEW_BYTESapi.extraEnv.Tool execution timeout and binary result handling.

Local Scripts

Env varSet fromControls
CENTAUR_NAMESPACE, CENTAUR_RELEASELocal shell or .env.Namespace/release used by just, dbmate, and debug scripts.
JUST_BUILD_SEQUENTIALLocal shell.Builds service images sequentially.
CENTAUR_MIGRATIONS_DEPLOYMENT, CENTAUR_MIGRATIONS_HOST_DIR, CENTAUR_MIGRATIONS_CONTAINER_DIRLocal shell.Core migration wrapper targets.
CENTAUR_OVERLAY_HOST_DIR, CENTAUR_OVERLAY_DIRLocal shell.Overlay migration wrapper targets.
CENTAUR_API_URL, CENTAUR_API_KEYLocal shell.API target/key for contrib scripts.
MUESLI_CLI, MUESLI_HOST, MUESLI_PUSH_LOG, MUESLI_SLACK_CHANNELLocal shell.Muesli meeting ingest helper behavior.