Networking
Give users and clients an HTTPS endpoint, then configure the routes and public URLs to match it.
Public URLs and Ingress
- Configure DNS and TLS for your Archestra host.
- Set
ARCHESTRA_FRONTEND_URLto the public UI URL andARCHESTRA_API_BASE_URLto every public backend or gateway URL. API base URLs accept a comma-separated list. Usehttps://even when TLS terminates at a load balancer. - Route
/v1and/v2to backend port 9000, and/to frontend port 3000. Keep/api/authon the frontend. - Connect a client through the public endpoint and test a streaming model request and an MCP tool call.
The chart applies this split for archestra.ingress.hosts. A complete archestra.ingress.spec or external routing layer must apply it explicitly.
Gateway OAuth discovery uses the configured public URLs. An unconfigured host falls back to the request scheme, which can advertise HTTP behind a TLS-terminating proxy. ARCHESTRA_TRUST_PROXY does not change that rule.
If a reverse proxy requires sign-in, let /connect.md, /llms.txt, and setup endpoints under /api/client-connections and /api/connection-setups/script load without a browser session. Also allow /v1/connection-instructions through; it checks the installation credential and current access itself.
Streaming Timeouts
Set the ingress response timeout long enough for model responses. If your load balancer's backend idle-connection timeout exceeds Archestra's keep-alive timeout, raise ARCHESTRA_HTTP_KEEP_ALIVE_TIMEOUT_MS above it.
MCP Apps Sandbox
Production apps that need persistent browser storage require a sandbox domain. Without one, apps use an opaque iframe origin.
- Choose a domain such as
mcp.example.com. - Create wildcard DNS and TLS for
*.mcp.example.com. - Route that wildcard host to backend port 9000.
- Set
ARCHESTRA_MCP_SANDBOX_DOMAIN=mcp.example.com. - Open an app and confirm it renders through its sandbox host.
Allowed embedding origins follow ARCHESTRA_FRONTEND_URL and ARCHESTRA_AUTH_ADDITIONAL_TRUSTED_ORIGINS. Local instances use localhost and 127.0.0.1 without a sandbox domain.
Enforce Workload Egress
Environment policies require a network dataplane that enforces them. Creating policy objects alone does not isolate workloads.
Domain rules need an FQDN policy provider; plain Kubernetes NetworkPolicy supports IP/CIDR rules only.
| Cluster | IP/CIDR enforcement | Domain enforcement |
|---|---|---|
| EKS Auto Mode | Kubernetes NetworkPolicy, when enabled | AWS ApplicationNetworkPolicy with the Auto Mode Network Policy Controller. DNS rules apply to Auto Mode EC2 workloads. |
| EKS with AWS VPC CNI | Kubernetes NetworkPolicy, when enabled | Not supported outside Auto Mode DNS policies. |
| AKS | Kubernetes NetworkPolicy, when enabled | CiliumNetworkPolicy when its CRD is available. |
| GKE | Kubernetes NetworkPolicy, when enabled | FQDNNetworkPolicy with Dataplane V2 and FQDN policy enabled. |
| Cilium clusters | Kubernetes or Cilium policy | CiliumNetworkPolicy. |
Check your provider's setup: Kubernetes, Cilium, GKE, or EKS Auto Mode. Archestra adds the cluster-DNS bootstrap rule required by Auto Mode policies.
Public internet mode blocks private, metadata, loopback, and reserved destinations. Add only the private ranges a workload needs under Additional allowed CIDRs, or use an allowlist to restrict all outbound access. DNS to the cluster resolver remains allowed.
Code Sandbox Requirements
Managed Dagger engines need Linux nodes that allow privileged root pods with all Linux capabilities and dynamically provisioned ReadWriteOnce storage. These engines run separately from coding agent containers.
If your cluster cannot admit them, configure an external engine with ARCHESTRA_CODE_RUNTIME_DAGGER_RUNNER_HOST, or disable the sandbox with ARCHESTRA_CODE_RUNTIME_ENABLED=false or archestra.codeRuntime.enabled: false in Helm.