This repository has been archived on 2026-06-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
agent-builder/agent_builder/config.py
robert 091f8eaf06
All checks were successful
build / build (push) Successful in 28s
Use secret-backed agent builder runtime
2026-05-23 13:33:12 -04:00

48 lines
1.6 KiB
Python

"""Runtime config — env-driven, matches the rest of the cluster."""
from __future__ import annotations
import os
from dataclasses import dataclass
@dataclass(frozen=True)
class Settings:
sandbox_url: str
sandbox_timeout_s: int
sandbox_token: str | None
deploy_wait_timeout_s: int
litellm_url: str
litellm_key: str
litellm_model: str
cp_url: str
minio_endpoint: str
minio_access_key: str
minio_secret_key: str
image: str
def load_settings() -> Settings:
return Settings(
sandbox_url=os.environ.get(
"SANDBOX_URL", "http://sandbox.sandbox.svc.cluster.local:8000"
),
sandbox_timeout_s=int(os.environ.get("SANDBOX_TIMEOUT_S", "1200")),
sandbox_token=os.environ.get("A2A_SANDBOX_TOKEN") or os.environ.get("SANDBOX_TOKEN"),
deploy_wait_timeout_s=int(os.environ.get("DEPLOY_WAIT_TIMEOUT_S", "900")),
litellm_url=os.environ.get(
"A2A_LITELLM_URL", "http://litellm.llm.svc.cluster.local:4000"
),
litellm_key=os.environ.get("A2A_LITELLM_KEY", ""),
litellm_model=os.environ.get("A2A_LITELLM_MODEL", "gpt-5.5"),
cp_url=os.environ.get(
"A2A_CP_URL", "http://control-plane.control-plane.svc.cluster.local"
),
minio_endpoint=os.environ.get(
"A2A_MINIO_ENDPOINT",
"http://microcash-infra-minio.microcash-infra.svc.cluster.local:9000",
),
minio_access_key=os.environ.get("A2A_MINIO_ACCESS_KEY", ""),
minio_secret_key=os.environ.get("A2A_MINIO_SECRET_KEY", ""),
image=os.environ.get("AGENT_BUILDER_IMAGE", "python:3.11-slim"),
)