Skip to content

Configuration Reference

Every Zeroth setting is loaded from (in priority order): environment variables (ZEROTH_ prefix, nested via __), a local .env file, then zeroth.yaml. Both file paths are resolved once at process start from the launch working directory; set ZEROTH_ENV_FILE and ZEROTH_SETTINGS_FILE to absolute paths to pin them explicitly (recommended for deployments that execute repository-backed workloads). This reference is auto-generated from zeroth.platform.config.settings via scripts/dump_config.pydo not edit by hand.

CI runs python scripts/dump_config.py --check on every PR and fails if this file is stale.

Database

Database backend configuration.

Env Var Type Default Secret Description
ZEROTH_DATABASE__BACKEND Literal[sqlite, postgres] "sqlite"
ZEROTH_DATABASE__SQLITE_PATH str "zeroth.db"
ZEROTH_DATABASE__POSTGRES_DSN SecretStr \| None None
ZEROTH_DATABASE__POSTGRES_POOL_MIN int 2
ZEROTH_DATABASE__POSTGRES_POOL_MAX int 10
ZEROTH_DATABASE__ENCRYPTION_KEY SecretStr \| None None

Redis

Redis connection settings, absorbing the existing RedisConfig fields.

Env Var Type Default Secret Description
ZEROTH_REDIS__MODE Literal[local, disabled] "local"
ZEROTH_REDIS__HOST str "127.0.0.1"
ZEROTH_REDIS__PORT int 6379
ZEROTH_REDIS__PASSWORD SecretStr \| None None
ZEROTH_REDIS__KEY_PREFIX str "zeroth"
ZEROTH_REDIS__DB int 0
ZEROTH_REDIS__TLS bool False

Auth

Service authentication settings.

Env Var Type Default Secret Description
ZEROTH_SERVICE_API_KEYS_JSON SecretStr \| None None JSON list of credential objects: [{"credential_id", "secret", "subject", "roles", "tenant_id"?, "workspace_id"?}]
ZEROTH_SERVICE_BEARER_JSON SecretStr \| None None JSON bearer/JWT verification config (issuer, audience, jwks)
ZEROTH_SERVICE_REVOKED_CREDENTIAL_IDS_JSON list[str] \| None None JSON array of unique credential identifiers rejected after successful authentication (static credential_id; bearer jti or SHA-256 fingerprint)
ZEROTH_AUTH__BROWSER_SESSION_SECRET SecretStr \| None None Shared HMAC secret for short-lived browser sessions; required in production and must contain at least 32 UTF-8 bytes
ZEROTH_AUTH__BROWSER_SESSION_TTL_SECONDS int 900
ZEROTH_AUTH__ALLOW_EPHEMERAL_BROWSER_SESSION_SECRET_DEVELOPMENT bool False

Regulus

Regulus backend connection settings.

Env Var Type Default Secret Description
ZEROTH_REGULUS__ENABLED bool True
ZEROTH_REGULUS__BASE_URL str "http://localhost:8000/v1"
ZEROTH_REGULUS__API_KEY SecretStr \| None None
ZEROTH_REGULUS__BUDGET_CACHE_TTL int 30
ZEROTH_REGULUS__REQUEST_TIMEOUT float 5.0
ZEROTH_REGULUS__FAIL_CLOSED bool True
ZEROTH_REGULUS__PER_RUN_CAP_USD float \| None None

Memory

Memory backend configuration.

Env Var Type Default Secret Description
ZEROTH_MEMORY__DEFAULT_CONNECTOR str "ephemeral"
ZEROTH_MEMORY__REDIS_KV_PREFIX str "zeroth:mem:kv"
ZEROTH_MEMORY__REDIS_THREAD_PREFIX str "zeroth:mem:thread"

Pgvector

Pgvector-based vector memory configuration.

Env Var Type Default Secret Description
ZEROTH_PGVECTOR__ENABLED bool False
ZEROTH_PGVECTOR__TABLE_NAME str "zeroth_memory_vectors"
ZEROTH_PGVECTOR__EMBEDDING_MODEL str "text-embedding-3-small"
ZEROTH_PGVECTOR__EMBEDDING_DIMENSIONS int 1536

Chroma

ChromaDB vector memory configuration.

Env Var Type Default Secret Description
ZEROTH_CHROMA__ENABLED bool False
ZEROTH_CHROMA__HOST str "localhost"
ZEROTH_CHROMA__PORT int 8000
ZEROTH_CHROMA__COLLECTION_PREFIX str "zeroth_memory"

Elasticsearch

Elasticsearch memory backend configuration.

Env Var Type Default Secret Description
ZEROTH_ELASTICSEARCH__ENABLED bool False
ZEROTH_ELASTICSEARCH__HOSTS list[str] ['http://localhost:9200']
ZEROTH_ELASTICSEARCH__INDEX_PREFIX str "zeroth_memory"

Sandbox

Sandbox execution backend configuration.

Env Var Type Default Secret Description
ZEROTH_SANDBOX__BACKEND Literal[local, docker, auto, sidecar] "local"
ZEROTH_SANDBOX__SIDECAR_URL str "http://sandbox-sidecar:8001"
ZEROTH_SANDBOX__DOCKER_CONTAINER_NAME str "zeroth-sandbox"
ZEROTH_SANDBOX__DOCKER_BINARY str "docker"
ZEROTH_SANDBOX__ALLOW_UNTRUSTED_LOCAL_DEVELOPMENT bool False
ZEROTH_SANDBOX__ALLOW_UNISOLATED_MCP_DEVELOPMENT bool False
ZEROTH_SANDBOX__MCP_ISOLATION_IMAGE str \| None None
ZEROTH_SANDBOX__MCP_ISOLATION_NETWORK str "none"
ZEROTH_SANDBOX__MCP_ISOLATION_ALLOWED_ENVIRONMENT_KEYS tuple[str, Ellipsis] ()
ZEROTH_SANDBOX__MCP_ISOLATION_RUN_AS_USER str "65534:65534"
ZEROTH_SANDBOX__MCP_ISOLATION_CPUS str "1.0"
ZEROTH_SANDBOX__MCP_ISOLATION_MEMORY str "256m"
ZEROTH_SANDBOX__MCP_ISOLATION_PIDS_LIMIT int 64

Webhook

Webhook delivery system configuration.

Env Var Type Default Secret Description
ZEROTH_WEBHOOK__ENABLED bool True
ZEROTH_WEBHOOK__DELIVERY_POLL_INTERVAL float 2.0
ZEROTH_WEBHOOK__DELIVERY_TIMEOUT float 10.0
ZEROTH_WEBHOOK__MAX_DELIVERY_CONCURRENCY int 16
ZEROTH_WEBHOOK__DEFAULT_MAX_RETRIES int 5
ZEROTH_WEBHOOK__RETRY_BASE_DELAY float 1.0
ZEROTH_WEBHOOK__RETRY_MAX_DELAY float 300.0

Approval Sla

Approval SLA timeout and escalation configuration.

Env Var Type Default Secret Description
ZEROTH_APPROVAL_SLA__ENABLED bool True
ZEROTH_APPROVAL_SLA__CHECKER_POLL_INTERVAL float 10.0

Approval Notifications

Env Var Type Default Secret Description
ZEROTH_APPROVAL_NOTIFICATIONS__ENABLED bool False
ZEROTH_APPROVAL_NOTIFICATIONS__SLACK SlackNotificationSettings SlackNotificationSettings(webhook_url=None, timeout=10.0)
ZEROTH_APPROVAL_NOTIFICATIONS__EMAIL EmailNotificationSettings EmailNotificationSettings(smtp_host=None, smtp_port=587, from_address=None, to_addresses=[], username=None, password=None, use_tls=True, timeout=10.0)

Dispatch

Dispatch and horizontal scaling configuration.

Env Var Type Default Secret Description
ZEROTH_DISPATCH__ARQ_ENABLED bool False
ZEROTH_DISPATCH__SHUTDOWN_TIMEOUT float 30.0
ZEROTH_DISPATCH__POLL_INTERVAL float 0.5

Tls

TLS configuration for direct uvicorn SSL.

Env Var Type Default Secret Description
ZEROTH_TLS__CERTFILE str \| None None
ZEROTH_TLS__KEYFILE str \| None None

Artifact Store

Configuration for the artifact storage subsystem.

Env Var Type Default Secret Description
ZEROTH_ARTIFACT_STORE__BACKEND Literal[filesystem, redis] "filesystem"
ZEROTH_ARTIFACT_STORE__DEFAULT_TTL_SECONDS int 3600
ZEROTH_ARTIFACT_STORE__FILESYSTEM_BASE_DIR str ".zeroth/artifacts"
ZEROTH_ARTIFACT_STORE__REDIS_KEY_PREFIX str "zeroth:artifact"
ZEROTH_ARTIFACT_STORE__MAX_ARTIFACT_SIZE_BYTES int 104857600

Http Client

Global resilient-HTTP-client configuration.

Env Var Type Default Secret Description
ZEROTH_HTTP_CLIENT__MAX_RETRIES int 3
ZEROTH_HTTP_CLIENT__RETRY_BACKOFF_BASE float 0.5
ZEROTH_HTTP_CLIENT__RETRY_MAX_DELAY float 60.0
ZEROTH_HTTP_CLIENT__RETRYABLE_STATUS_CODES set[int] {408, 429, 500, 502, 503, 504}
ZEROTH_HTTP_CLIENT__CIRCUIT_BREAKER_THRESHOLD int 5
ZEROTH_HTTP_CLIENT__CIRCUIT_BREAKER_RESET_TIMEOUT float 30.0
ZEROTH_HTTP_CLIENT__POOL_MAX_CONNECTIONS int 100
ZEROTH_HTTP_CLIENT__POOL_MAX_KEEPALIVE int 20
ZEROTH_HTTP_CLIENT__POOL_KEEPALIVE_EXPIRY float 5.0
ZEROTH_HTTP_CLIENT__DEFAULT_TIMEOUT float 30.0
ZEROTH_HTTP_CLIENT__DEFAULT_RATE_LIMIT_RATE float 10.0
ZEROTH_HTTP_CLIENT__DEFAULT_RATE_LIMIT_BURST int 20

Tracing

OpenTelemetry tracing configuration (requires the otel extra).

Env Var Type Default Secret Description
ZEROTH_TRACING__ENABLED bool False
ZEROTH_TRACING__SERVICE_NAME str "zeroth-core"
ZEROTH_TRACING__OTLP_ENDPOINT str \| None None

Secrets

Secret-resolution backend configuration (WS-F).

Env Var Type Default Secret Description
ZEROTH_SECRETS__BACKEND Literal[env, vault] "env"
ZEROTH_SECRETS__ALLOW_ENV_FALLBACK bool True
ZEROTH_SECRETS__VAULT_ADDR str \| None None
ZEROTH_SECRETS__VAULT_MOUNT str "secret"
ZEROTH_SECRETS__VAULT_ROLE_ID SecretStr \| None None
ZEROTH_SECRETS__VAULT_SECRET_ID SecretStr \| None None
ZEROTH_SECRETS__VAULT_TOKEN SecretStr \| None None
ZEROTH_SECRETS__VAULT_CACHE_TTL float 300.0
ZEROTH_SECRETS__LLM_KEY_MAP dict[str, str] {}
ZEROTH_SECRETS__LLM_BASE_URL_MAP dict[str, str] {}

Provenance

Keyed provenance-signing configuration (WS-D).

Env Var Type Default Secret Description
ZEROTH_PROVENANCE__MODE Literal[env, kms, off] "env"
ZEROTH_PROVENANCE__ALGORITHM str "HS256"
ZEROTH_PROVENANCE__SIGNING_KEY_REF str \| None None
ZEROTH_PROVENANCE__SIGNING_KEY_ID str "dev-local"
ZEROTH_PROVENANCE__PUBLIC_KEYS_JSON SecretStr \| None None
ZEROTH_PROVENANCE__RETIRED_KEYS_JSON SecretStr \| None None

Certification

Server-owned identity of the artifact served by this process.

Env Var Type Default Secret Description
ZEROTH_CERTIFICATION__SERVING_APP_COMMIT str \| None None
ZEROTH_CERTIFICATION__SERVING_IMAGE_DIGEST str \| None None

Policy

Behavioral capability-enforcement configuration (WS-C).

Env Var Type Default Secret Description
ZEROTH_POLICY__ENFORCE_CAPABILITIES bool True
ZEROTH_POLICY__LOCAL_NETWORK_STRICT bool True
ZEROTH_POLICY__DEFINITIONS tuple[dict[str, Any], Ellipsis] ()

Retention

WS-E retention / right-to-erasure configuration.

Env Var Type Default Secret Description
ZEROTH_RETENTION__ENABLED bool False
ZEROTH_RETENTION__WORKER_POLL_INTERVAL float 3600.0
ZEROTH_RETENTION__DEFAULT_AUDIT_TTL_SECONDS int \| None None
ZEROTH_RETENTION__DEFAULT_RUN_TTL_SECONDS int \| None None

Langgraph Gateway

Configuration for the optional Agent Server-compatible gateway.

Env Var Type Default Secret Description
ZEROTH_LANGGRAPH_GATEWAY__ENABLED bool False
ZEROTH_LANGGRAPH_GATEWAY__UPSTREAM_URL str \| None None
ZEROTH_LANGGRAPH_GATEWAY__UPSTREAM_AUDIENCE str \| None None
ZEROTH_LANGGRAPH_GATEWAY__DEPLOYMENT_REF str \| None None
ZEROTH_LANGGRAPH_GATEWAY__UPSTREAM_CREDENTIAL_REF str \| None None
ZEROTH_LANGGRAPH_GATEWAY__UPSTREAM_CREDENTIAL_HEADER str "Authorization"
ZEROTH_LANGGRAPH_GATEWAY__UPSTREAM_CREDENTIAL_SCHEME str "Bearer"
ZEROTH_LANGGRAPH_GATEWAY__CONNECT_TIMEOUT_SECONDS float 5.0
ZEROTH_LANGGRAPH_GATEWAY__READ_TIMEOUT_SECONDS float 60.0
ZEROTH_LANGGRAPH_GATEWAY__WRITE_TIMEOUT_SECONDS float 60.0
ZEROTH_LANGGRAPH_GATEWAY__POOL_TIMEOUT_SECONDS float 5.0
ZEROTH_LANGGRAPH_GATEWAY__CONTEXT_TTL_SECONDS int 300
ZEROTH_LANGGRAPH_GATEWAY__MAX_GOVERNED_BODY_BYTES int 1048576
ZEROTH_LANGGRAPH_GATEWAY__UNKNOWN_ENDPOINT_MODE Literal[deny, pass_ungoverned] "deny"
ZEROTH_LANGGRAPH_GATEWAY__REQUIRE_FULL_TOOL_ENFORCEMENT bool False
ZEROTH_LANGGRAPH_GATEWAY__POLICY_BINDINGS tuple[str, Ellipsis] ()
ZEROTH_LANGGRAPH_GATEWAY__EXPECTED_TOOL_INVENTORY_FINGERPRINT str \| None None Server-owned canonical tool-inventory digest required for ENFORCED evidence; missing or mismatched values remain OBSERVED
ZEROTH_LANGGRAPH_GATEWAY__SUPPORTED_LANGGRAPH_VERSIONS tuple[str, Ellipsis] ('1.2.9',)
ZEROTH_LANGGRAPH_GATEWAY__SUPPORTED_AGENT_SERVER_VERSIONS tuple[str, Ellipsis] ('0.11.1',)
ZEROTH_LANGGRAPH_GATEWAY__HEARTBEAT_INTERVAL_SECONDS int 30
ZEROTH_LANGGRAPH_GATEWAY__STALE_THRESHOLD_SECONDS int 90

Github

GitHub App integration configuration (ZER-37).

Env Var Type Default Secret Description
ZEROTH_GITHUB__ENABLED bool False
ZEROTH_GITHUB__APP_ID str ""
ZEROTH_GITHUB__API_BASE_URL str "https://api.github.com"
ZEROTH_GITHUB__GIT_BASE_URL str "https://github.com"
ZEROTH_GITHUB__PRIVATE_KEY_SECRET_NAME str "github.app_private_key"
ZEROTH_GITHUB__WEBHOOK_SECRET_NAME str "github.webhook_secret"
ZEROTH_GITHUB__CACHE_DIR str ""
ZEROTH_GITHUB__MAX_FILE_BYTES int 52428800
ZEROTH_GITHUB__MAX_TOTAL_BYTES int 524288000
ZEROTH_GITHUB__MAX_FILE_COUNT int 50000
ZEROTH_GITHUB__CHECKOUT_TTL_SECONDS int 900
ZEROTH_GITHUB__STAGING_DIR str ""
ZEROTH_GITHUB__REPO_RUN_POLL_SECONDS float 1.0