Supervisor L7 proxy should support HTTP_PROXY/HTTPS_PROXY for corporate environments
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Problem Statement
Problem
In corporate/enterprise Kubernetes clusters, nodes do not have direct internet access. All outbound traffic must go through a corporate forward proxy (e.g., Squid, Zscaler). The supervisor's L7 proxy does not respect HTTP_PROXY, HTTPS_PROXY, or NO_PROXY environment variables, causing all external API calls from agents (e.g., Tavily search, Stripe, external MCP servers) to fail with connection timeouts.
Current Behavior
- The agent process has HTTP_PROXY=http://10.200.0.1: pointing to the supervisor
- The supervisor intercepts outbound traffic and applies policy
- After policy approval, the supervisor connects directly to the destination
- In proxy-required environments, this direct connection fails (no route to host / connection timeout)
Proposed Design
Desired Behavior
The supervisor should:
- Read HTTPS_PROXY / HTTP_PROXY / NO_PROXY from its own environment variables
- When policy allows an outbound connection, route it through the configured corporate proxy using HTTP CONNECT
- Respect NO_PROXY for cluster-internal destinations (e.g., *.svc.cluster.local, 10.96.0.0/12)
- Ideally configurable per-sandbox via the Sandbox CRD:
spec:
podTemplate:
spec:
containers:
- name: agent
env:
- name: HTTPS_PROXY
value: "http://proxy.corp.com:8080"
- name: NO_PROXY
value: "*.svc.cluster.local,10.0.0.0/8"
Alternatives Considered
Use Case
Large enterprise deployments where all Kubernetes clusters are behind corporate proxies. Without this, agents cannot access any external API (search tools, SaaS APIs, external MCP servers) even when policy allows it.
Workaround
None currently viable. We've explored adding a second proxy container but the supervisor rewrites the agent's proxy env to point to itself, overriding any custom configuration.
Agent Investigation
No response
Checklist
- I've reviewed existing issues and the architecture docs
- This is a design proposal, not a "please build this" request
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the supervisor's L7 proxy implementation and the path that rewrites agent proxy environment variables, then read the architecture documentation referenced in the issue. Trace policy-approved outbound connections and Sandbox CRD podTemplate handling. Done means corporate proxy variables and NO_PROXY rules work for permitted traffic without breaking cluster-internal destinations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, rust
- Domain
- infrastructure, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100