Skip to main content

Configuration

You can configure TalkOps Kubernetes Agent (k8s-autopilot) interactively through the Settings UI or declaratively via environment variables in ~/.k8s-autopilot/.env. Changes saved in the Settings UI take effect immediately without restarting containers.

Configuration precedence​

When resolving any setting, k8s-autopilot evaluates sources in the following order (highest priority first):

PrioritySourceBehavior
1 (Highest)Settings UI (Configuration database)Applied immediately at runtime with zero container restarts
2Environment variables (.env / shell)Loaded at container startup as initial defaults
3 (Lowest)Built-in framework defaultsProduction-tested fallback values

Settings UI walkthrough​

Open the Settings modal by clicking Setup on the agent card or the gear icon in the top navigation bar.

Auth & Keys​

Manage API keys and custom base URLs for 20+ supported model providers. Each row displays the provider name, mapped environment variable, and active status ([configured] or [not set]).

Auth & Keys — manage API keys for all AI providers

Click any provider row to open its credential dialog:

API key dialog — paste your key, view status, and access advanced settings

  • Save or rotate keys: Paste your API key and click Save Key. Keys are stored encrypted in the backend configuration store and masked in all API responses.
  • Custom base URLs: Expand Advanced Settings to point the provider at an internal LiteLLM proxy, enterprise gateway, or VPC endpoint.

Plugins​

Browse marketplaces, install community or private plugins, and manage enabled extensions:

Plugins & Extensions — discover and install plugins from the marketplace

  • Discover: Browse plugins across all registered marketplaces and install with one click.
  • Installed: Enable, disable, or uninstall installed plugins.
  • Marketplaces: Register GitHub repositories (owner/repo), HTTPS marketplace.json catalogs, or local filesystem directories.
  • Errors: Inspect diagnostic logs for any plugin that failed validation.

Traces​

Configure LangSmith tracing to inspect every LangGraph node transition, prompt, tool call, and token count:

Traces — configure LangSmith tracing for execution monitoring

SettingEnvironment variableDefault
Tracing enabledLANGSMITH_TRACINGfalse
API keyLANGSMITH_API_KEY—
Project nameLANGSMITH_PROJECTk8s-autopilot
Endpoint URLLANGSMITH_ENDPOINThttps://api.smith.langchain.com

Runtime Config​

Configure state persistence, Kubernetes cluster contexts, GitOps endpoints, and observability URLs.

Backend storage​

Choose where conversation threads, LangGraph checkpoints, and runtime settings are persisted:

Backend Storage — choose between SQLite and PostgreSQL

VariableDefaultDescription
CHECKPOINT_BACKENDautoStorage backend: sqlite, postgres, or auto (selects PostgreSQL when POSTGRES_URI is set)
SQLITE_FILEk8s_autopilot.dbLocal SQLite database file path (WAL mode enabled)
POSTGRES_URI—PostgreSQL connection URI (postgresql://user:pass@host:5432/dbname)

Kubernetes cluster connectivity​

Configure the kubeconfig, context, default namespace, and sandbox execution provider:

Cluster Connectivity — kubeconfig, context, namespace, and sandbox provider

VariableDefaultDescription
KUBECONFIG~/.kube/configPath to the kubeconfig file mounted into the agent
KUBE_CONTEXT(active context)Kubernetes context name to target
KUBE_NAMESPACEdefaultDefault namespace when none is specified in a prompt
SANDBOX_PROVIDERlocalExecution environment for sandboxed commands (local, docker, or kubernetes)

Application delivery endpoints​

VariableDefaultDescription
ARGOCD_SERVER_URL—ArgoCD API server URL
ARGOCD_AUTH_TOKEN—ArgoCD bearer authentication token
ARGOCD_INSECUREtrueSkip TLS certificate verification for self-signed ArgoCD servers
TRAEFIK_API_URL—Traefik dashboard/API endpoint

Observability stack endpoints​

VariableDefaultDescription
PROMETHEUS_BASE_URLhttp://prometheus-operated.monitoring.svc:9090Prometheus query API URL
ALERTMANAGER_BASE_URLhttp://alertmanager-operated.monitoring.svc:9093Alertmanager API URL
LOKI_URLhttp://localhost:3100Grafana Loki HTTP API endpoint
TEMPO_BASE_URLhttp://localhost:3200Grafana Tempo HTTP API endpoint
OTEL_EXPORTER_OTLP_ENDPOINT—OpenTelemetry Collector OTLP receiver endpoint

Model & runtime environment variables​

VariableDefaultDescription
MODELgemini-3.7-flashActive model identifier (e.g., claude-opus-4-7, gpt-4o, gemini-3.7-flash)
MODEL_PROVIDER(auto-detected)Explicit provider override (google_genai, anthropic, openai, ollama, etc.)
REASONING_EFFORTmediumExtended thinking budget (low, medium, high, max)
MODEL_CONTEXT_LIMIT(model default)Override the context window token limit
APPROVAL_MODEmanualDefault governance mode (manual, auto, yolo)
RECURSION_LIMIT50Maximum LangGraph step recursion limit per turn
COMPACTION_TOKEN_BUDGET100000Token threshold that triggers automatic conversation compaction
HELM_WORKSPACE./workspace/helm-chartsLocal staging directory for generated Helm charts
GITHUB_PERSONAL_ACCESS_TOKEN—GitHub PAT used for committing generated charts and opening pull requests
TAVILY_API_KEY—Tavily API key for live web documentation search
LOG_LEVELINFORuntime log verbosity (DEBUG, INFO, WARNING, ERROR)
LOG_MODEtextLog output format (text or json)

MCP transport and timeout variables​

By default, built-in MCP servers run as local stdio subprocesses. To route specific MCP servers over HTTP in distributed Docker or Kubernetes deployments, set MCP_SERVERS:

MCP_SERVERS='[
{"name": "helm_mcp_server", "url": "http://helm-svc:8080", "transport": "http"},
{"name": "prometheus-mcp-server", "url": "http://prom-svc:8080", "transport": "http"}
]'
VariableDefaultDescription
MCP_TIMEOUT30Per-tool execution timeout in seconds
MCP_TIMEOUT_TOTAL600Maximum total MCP operation timeout in seconds
MCP_TIMEOUT_CONNECT300MCP server initialization and connection timeout in seconds
MCP_DEFAULT_TRANSPORTsseDefault transport for newly registered remote MCP servers (sse, stdio, http)

Automatic variable aliasing​

To keep configuration DRY across multiple MCP servers, k8s-autopilot bidirectional-syncs common alias variables automatically:

  • PROMETHEUS_BASE_URL ↔ PROMETHEUS_URL
  • KUBECONFIG ↔ K8S_KUBECONFIG
  • GOOGLE_API_KEY ↔ GEMINI_API_KEY
  • LANGSMITH_API_KEY ↔ LANGCHAIN_API_KEY

Next steps​