Configuration
An install is configured through bootstrap’s variables (deploy/terraform/bootstrap), which you set in your own Terraform, as the example client does. Bootstrap turns them into the chart’s values and the cluster’s Secrets; you don’t set chart values directly. The install guide says where each comes from.
| Variable | Required | What it’s for |
|---|---|---|
install_contract |
Yes | Output of the per-cloud install module |
chart_version |
The awzy chart versions Argo CD follows. The release registry shows an install only the version its release channel (or pinned version) names, as registered in the corp portal, so the default range follows that channel | |
registry_credentials |
Yes | Pull credentials for registry_prefix: the install ID and its pull token |
cosign_public_key |
Yes | PEM public key that release images are signed with (deploy/release/cosign.pub) |
support_public_key |
PEM public key the corp portal signs support session tokens with (deploy/release/support.pub, ). awzy staff sign in with one only while a session your admin approved lasts. Null: support sessions can’t sign in | |
client_portal |
The client’s IdP for the client portal (not needed with demo_idp): its issuer and keys; the audiences of the portal’s own tokens and of those agents get for its MCP endpoint; and the claim holding a person’s SCIM userName, when sub doesn’t (empty: sub) |
|
team_groups |
Which of the IdP’s groups are teams, so policies and awzy-reasoner know each person’s team: group names, each may use * (e.g. [“sales-*”, “security”]). Empty: none are. Can change after install | |
awzy_bot |
Awzy Bot in the client portal, with the model llm_model or llm_routing names | |
investigations |
awzy-reasoner’s investigations of the people it flags, with the model llm_model or llm_routing names | |
investigation_budget |
Investigations’ limits: the most tokens a calendar month spends, and the groups whose members are only ever proposed for containment | |
llm_model |
The model for Awzy Bot and investigations on your cloud’s own model service, in its API’s terms: on Bedrock, { api = “converse”, model_id = “us.anthropic.claude-opus-5-5”, cache_points = true }; on Vertex AI, { api = “gemini”, model = “gemini-2.5-pro” } or { api = “anthropic_messages”, model = “claude-opus-5-5” }. Ignored with llm_routing. Null: both features stay off | |
llm_connections |
Model services beyond your cloud’s own, by name: e.g. { vllm = { kind = “openai”, url = “http://vllm.models.svc:8000/v1” } }. The cloud’s own is cloud. An API key’s environment variable comes from llm_api_key_secrets |
|
llm_api_key_secrets |
The Secrets (in each service’s namespace) holding the API keys connections name in api_key_env: { AWZY_LLM_KEY_VLLM = { secret = “vllm-key”, key = “api-key” } } | |
llm_api_keys |
API keys for the connections in llm_connections, by the environment variable their api_key_env names: { AWZY_LLM_KEY_VERTEX = “…” }. Kept in a Secret bootstrap makes, in place of llm_api_key_secrets | |
llm_routing |
The model catalog and each feature’s route to start with, in place of llm_model: { models = [{ name, connection, spec }], routes = { awzy_bot = { targets = [{ model, weight }], fallback = [] }, investigations = … } }. Changed later in the client portal | |
slack |
Notifications in your Slack: the bot token of the Slack app you installed (scopes users:read.email and chat:write) and the security team’s channel ID. Null leaves them off | |
mcp_gateway |
awzy-gateway, the MCP proxy agents call: its public hostname (null keeps it in-cluster; it needs a DNS record to the load balancer), and the MCP servers it fronts as the chart’s mcpGateway.upstreams. Each tool’s tier, and which tiers fail open while the PDP is unreachable, are set in the client portal. Null leaves it off | |
intake |
awzy-intake, for app and audit-log events: its public hostname for sources outside the cluster (null keeps it in-cluster). Null leaves it off | |
demo_idp |
DEMO INSTALLS ONLY: sign the client portal in against the dev IdP at https://<hostname>/idp | |
clickhouse_retention_days |
How many days ClickHouse keeps decisions and events before they expire; 0 keeps them all. Can change after install | |
tracing |
OpenTelemetry traces from every service: your collector’s OTLP gRPC endpoint (on AWS, aws/monitoring’s otlp_endpoint output), and the share of traces sent to it (1: all, so the collector can keep the slow ones); null for none | |
demo_data |
DEMO INSTALLS ONLY: provision the synthetic company into awzy-context | |
demo_activity |
DEMO INSTALLS ONLY: the synthetic company’s everyday tool calls through awzy-gateway each weekday, so the demo has decisions. Needs demo_data, demo_idp, and mcp_gateway | |
reporter |
From registering the install in the corp portal; null turns the reporter off | |
break_glass_public_keys |
PEM public keys of the admins enrolled for break-glass policy rollback, concatenated; null turns break-glass off | |
ingress |
Yes | Public hostname of the client portal, and the contact Let’s Encrypt registers. redirect_hostnames are older names for it, each with its own certificate, that redirect to it, path and all: for a hostname that changed |
metrics_server |
Install metrics-server, which the chart’s autoscalers read CPU from. Set false when the cluster already runs one (such as a managed cluster’s metrics add-on) | |
versions |
Pinned chart versions of the components bootstrap installs |