Skip to content

Commit f3101d7

Browse files
committed
docs(proxy-init): clarify CLUSTER_CIDRS portability and enforce-drop semantics
Address mrsabath review on #484 (non-blocking): - CLUSTER_CIDRS=10.0.0.0/8 default is Kind-shaped; OCP (services 172.30.0.0/16, pods 10.128.0.0/14) and EKS users must override it or in-cluster service traffic is dropped. Operator wiring (follow-up PR) sets it from the cluster's real CIDRs. - enforce-drop intentionally ignores OUTBOUND_PORTS_EXCLUDE (redirect-only); a destination previously bypassed that way is now dropped unless routed through the proxy or in CLUSTER_CIDRS — by design. The third suggestion (set -euo pipefail) already landed in 4f66a6b. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Hai Huang <huang195@gmail.com>
1 parent 4f66a6b commit f3101d7

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

authbridge/proxy-init/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,23 @@ proxy regardless of whether the app honors `HTTP_PROXY`.
5050
An IPv6 mirror drops external v6 egress (allowing loopback, link-local,
5151
the proxy UID, and `CLUSTER_CIDRS6`).
5252

53+
> **`CLUSTER_CIDRS` is Kind-shaped by default.** The `10.0.0.0/8` default
54+
> covers Kind (pods `10.244.0.0/16` + services `10.96.0.0/16`). Other
55+
> distros differ — **OpenShift** uses services `172.30.0.0/16` and pods
56+
> `10.128.0.0/14`, and `172.30.0.0/16` is **outside** `10/8`, so the
57+
> default would drop in-cluster service traffic. On OCP/EKS/etc. you
58+
> **must** override `CLUSTER_CIDRS` with the cluster's real pod+service
59+
> ranges. The script logs the resolved value at startup, and the
60+
> operator wiring (follow-up PR) sets it from the cluster's CIDRs.
61+
62+
> **`enforce-drop` intentionally ignores `OUTBOUND_PORTS_EXCLUDE`** (a
63+
> `redirect`-mode knob). Any destination previously bypassed that way —
64+
> e.g. a direct LLM endpoint at `host.docker.internal:11434` — is now
65+
> dropped unless it goes through the forward proxy or falls within
66+
> `CLUSTER_CIDRS`. That is the point: `enforce-drop` closes direct-egress
67+
> holes. Operators relying on a bypass must route it through the proxy
68+
> (or, for in-cluster targets, include it in `CLUSTER_CIDRS`).
69+
5370
**Why `mangle` OUTPUT, not `filter`:** when Istio ambient is active it
5471
installs an in-pod `nat OUTPUT` REDIRECT (`ISTIO_OUTPUT` → ztunnel
5572
`:15001`). The netfilter OUTPUT hook order is `raw → mangle → nat →

0 commit comments

Comments
 (0)