Commit Graph
4 Commits
Author SHA1 Message Date
Sahilb315 0deb8fa4ff docs: container traffic reaches the proxy via the bridge address
Measured. Binding the proxy to the Docker bridge instead of loopback is
enough to make container traffic reach it, and needs no code change in
either pmg or the agent. The agent reads the address from the proxy state
file, so the redirect target follows.

  127.0.0.1    container connection failed, never reached the proxy
  172.17.0.1   curl exit 60, reached the proxy and refused the certificate

Exit 60 is a certificate error, so TCP completed and TLS began. Host
traffic was unaffected in the same run.

CA trust inside the container stays unsolved and is probably unsolvable
from the host, since a container has its own trust store and injecting
into it requires whoever starts the container to mount it. For containers
the guarantee therefore degrades to fail closed.

Only the default bridge is covered. Compose and custom networks use other
gateways, which needs bpf_get_netns_cookie to select a target per
namespace. A non loopback bind also exposes the proxy, so it wants a
firewall rule outside an isolated runner.

SETUP.md gains an optional Docker section with the commands and the
expected exit code, and Current Limits is corrected.
2026-07-28 22:47:31 +05:30
Sahilb315 472a3e859a docs(ebpf-poc): setup guide and CA trust findings
SETUP.md walks a fresh Linux machine through the POC end to end, in
short numbered steps.

The design doc gains two measured sections. CA Trust records which
clients honour the system trust store and which ship their own roots,
along with the config file settings that work without environment
variables. Container Reachability records that the hook does reach into
containers but the redirect target does not, because loopback is
network namespaced.
2026-07-28 17:47:58 +05:30
Sahilb315 93b8abf390 docs(design): record the interception implementation steps 2026-07-27 14:18:55 +05:30
Sahilb315 70e2d34a48 docs(design): Linux network enforcement via eBPF
Design notes for making package registry traffic on Linux unable to
avoid the PMG proxy, scoped to CI runners and Linux servers.

Covers the cgroup connect hook and why the socket layer was chosen,
why redirect is preferred over deny, the proxy self traffic exemption
and cgroup escape analysis, when the destination name becomes knowable
and why SNI is the authoritative source, and findings from the network
visibility POC.

linux-network-enforcement.md is a cleaner rewrite of the same material.
Both are kept for now.
2026-07-27 12:32:26 +05:30