Skip to content

Agent Configuration

Each agent defines its own configuration class that inherits from AgentConfig. Values are loaded from environment variables or the centralized .env file at the project root.

Agent-Specific Settings

Agent Variable Default Description
kafka-health KAFKA_BOOTSTRAP_SERVERS localhost:9092 Kafka broker address(es)
kafka-health KAFKA_SECURITY_PROTOCOL PLAINTEXT SSL, SASL_PLAINTEXT or SASL_SSL for secured clusters; the TLS/SASL settings are listed in the kafka-health README and validated at startup
k8s-health KUBECONFIG_PATH — Path to kubeconfig file (else ~/.kube/config, else in-cluster service account)
k8s-health, kafka-health (Strimzi), elasticsearch (ECK) ORRERY_K8S_CONNECT_TIMEOUT_SECONDS 5 Seconds to connect to the Kubernetes API server
same ORRERY_K8S_READ_TIMEOUT_SECONDS 30 Seconds to wait for the next bytes of an API response. Bounds every call that does not set its own timeout; a hung call is retried at most once (reads only, never mutations), so it holds a worker thread for about two read timeouts at most. Non-positive or non-finite values fall back to the default
observability PROMETHEUS_URL http://localhost:9090 Prometheus server URL
observability LOKI_URL unset Loki server URL. Unset: the Loki tools are not offered to the model
observability ALERTMANAGER_URL http://localhost:9093 Alertmanager server URL
elasticsearch ELASTICSEARCH_URL http://localhost:9200 Elasticsearch REST endpoint
elasticsearch ELASTICSEARCH_USERNAME — Basic auth username
elasticsearch ELASTICSEARCH_PASSWORD — Basic auth password
elasticsearch ELASTICSEARCH_API_KEY — API key authentication
slack-bot SLACK_BOT_TOKEN — Slack bot token (xoxb-...)
slack-bot SLACK_APP_TOKEN — App-level token for Socket Mode (xapp-...)
slack-bot SLACK_SIGNING_SECRET — Request signing secret
slack-bot SLACK_ADMIN_USERS — Comma-separated Slack user IDs with admin role
slack-bot SLACK_OPERATOR_USERS — Comma-separated Slack user IDs with operator role
slack-bot SLACK_RATE_LIMIT 60/minute Per-IP limit on /slack/events
slack-bot SLACK_PROGRESS_UPDATES true Edit an in-thread status message while slow turns run (details)
slack-bot SLACK_TRUSTED_PROXY_HOPS 0 Proxy hops to trust in X-Forwarded-For for the rate limit. Leave 0 unless behind a proxy, or clients can spoof their IP
google-chat GOOGLE_CHAT_AUDIENCE — Token audience (must match bot URL)
google-chat GOOGLE_CHAT_ADMIN_EMAILS — Comma-separated emails with admin role
google-chat GOOGLE_CHAT_OPERATOR_EMAILS — Comma-separated emails with operator role
google-chat GOOGLE_CHAT_ASYNC_RESPONSE true Enable async replies via Chat REST API
google-chat GOOGLE_CHAT_SERVICE_ACCOUNT_FILE — Optional override for REST API identity
google-chat GOOGLE_CHAT_VERIFY_TOKEN true Verify Google-signed tokens on the webhook. false for local dev only
google-chat GOOGLE_CHAT_IDENTITIES chat@system.gserviceaccount.com Comma-separated identities accepted as the Chat system caller
google-chat GOOGLE_CHAT_INTERACTIVE_BUTTONS false Clickable Approve/Deny buttons. HTTP-endpoint deployments only; otherwise users reply approve/deny in the card's thread
google-chat GOOGLE_CHAT_TURN_TIMEOUT_SECONDS 600 Wall-clock budget for one agent turn (0 disables)
google-chat GOOGLE_CHAT_SHUTDOWN_GRACE_SECONDS 20 How long in-flight turns may finish on shutdown
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_SUBSCRIPTION — Subscription ID or full path, read by the Pub/Sub worker (details)
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_PROJECT GOOGLE_CLOUD_PROJECT Project qualifying a short subscription ID
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_MAX_MESSAGES 4 Messages held at once by the subscriber
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_HANDLER_TIMEOUT_SECONDS 600 Cap on one message's dispatch
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_IDEMPOTENCY_BACKEND memory Duplicate-delivery guard; postgres (via DATABASE_URL) is required for more than one replica
google-chat (Pub/Sub) GOOGLE_CHAT_PUBSUB_IDEMPOTENCY_TTL_SECONDS 3600 How long a claimed event id is remembered; match the subscription's retention

Centralized Environment

The platform uses a single .env file at the root of the workspace. To configure the agents:

  1. Create a .env file at the project root: cp .env.example .env.
  2. Fill in the required global and agent-specific values.

The load_agent_env() and load_config() helpers in the core library are configured to search for this centralized file automatically.