Skip to content

Commit c3813fc

Browse files
obezpalkoclaude
andcommitted
docs: add multi-namespace setup section to README
Explains one-Gateway-per-namespace pattern: single Envoy Gateway controller + single operator, one Gateway per namespace each with its own ALB. Includes install commands for both operator and per-namespace Gateway. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 4436369 commit c3813fc

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,40 @@ Key Helm values:
6262
| `gateway.allowedRouteNamespaces` | `All` | Namespaces that can attach HTTPRoutes |
6363
| `gateway.create` | `true` | Set `false` to bring your own Gateway |
6464

65+
## Multi-namespace setup
66+
67+
If you have multiple namespaces each with their own ALB, deploy one `Gateway` per namespace. A single Envoy Gateway controller and a single operator instance serve the whole cluster.
68+
69+
```
70+
ns-1: ALB-1 → Gateway (ns-1) → HTTPRoutes for pp-* in ns-1
71+
ns-2: ALB-2 → Gateway (ns-2) → HTTPRoutes for pp-* in ns-2
72+
```
73+
74+
**ALB configuration:** each ALB needs only one rule — forward `/*` to the Envoy Gateway service in that namespace. No per-pod rules.
75+
76+
**Install the operator once** (cluster-wide, no Gateway):
77+
78+
```bash
79+
helm install envoy-router oci://ghcr.io/comet-ml/charts/envoy-router \
80+
--version 0.1.0 \
81+
--namespace envoy-router --create-namespace \
82+
--set gateway.create=false \
83+
--set operator.watchNamespace=""
84+
```
85+
86+
**Install a Gateway in each namespace:**
87+
88+
```bash
89+
helm install envoy-router-gateway oci://ghcr.io/comet-ml/charts/envoy-router \
90+
--version 0.1.0 \
91+
--namespace ns-1 --create-namespace \
92+
--set gateway.create=true \
93+
--set gateway.allowedRouteNamespaces=Same \
94+
--set operator.watchNamespace=ns-1 # disable second operator — only one needed
95+
```
96+
97+
> The operator uses the pod's namespace to find the local Gateway when `--gateway-namespace` is empty, so HTTPRoutes in `ns-1` attach to the Gateway in `ns-1` automatically.
98+
6599
## Development
66100

67101
```bash

0 commit comments

Comments
 (0)