@@ -19,26 +19,37 @@ Resources are cleaned up automatically when pods are deleted.
1919
2020## Prerequisites
2121
22- - Kubernetes cluster (EKS or any)
23- - Helm 3
24- - Envoy Gateway installed:
22+ Envoy Gateway must be installed once per cluster:
2523
2624``` bash
2725helm install eg oci://docker.io/envoyproxy/gateway-helm \
2826 --version v1.7.1 -n envoy-gateway-system --create-namespace
2927```
3028
29+ This provides the ` eg ` GatewayClass and the Envoy proxy controller. No other prerequisites.
30+
3131## Install
3232
33- Run once per namespace. Each install is fully self-contained — operator + Gateway scoped to that namespace:
33+ One ` helm install ` per namespace. Each install is fully self-contained — operator + Gateway scoped to that namespace, namespace-scoped RBAC only :
3434
3535``` bash
3636helm install envoy-router oci://ghcr.io/comet-ml/charts/envoy-router \
37- --version 0.1.0 \
38- --namespace ns-1 --create-namespace
37+ --version 0.1.0 --namespace ns-1 --create-namespace
3938```
4039
41- The operator watches only its own namespace and attaches HTTPRoutes to the Gateway in the same namespace.
40+ For multiple namespaces, repeat:
41+
42+ ``` bash
43+ helm install envoy-router oci://ghcr.io/comet-ml/charts/envoy-router \
44+ --version 0.1.0 --namespace ns-2 --create-namespace
45+ ```
46+
47+ ```
48+ ns-1: ALB-1 → Gateway (ns-1) → HTTPRoutes for pp-* in ns-1
49+ ns-2: ALB-2 → Gateway (ns-2) → HTTPRoutes for pp-* in ns-2
50+ ```
51+
52+ Each ALB needs one rule: forward ` /* ` to the Envoy Gateway service in that namespace. No per-pod rules.
4253
4354## Making a pod routable
4455
@@ -54,34 +65,13 @@ The pod will be reachable at `https://your-domain.com/<pod-name>/` within second
5465
5566# # Configuration
5667
57- Key Helm values :
58-
5968| Value | Default | Description |
6069|---|---|---|
6170| `operator.podPort` | `8080` | Port the pods listen on |
6271| `gateway.create` | `true` | Set `false` to skip Gateway creation |
63- | `gateway.className` | `eg` | GatewayClass name (Envoy Gateway installs `eg` by default) |
72+ | `gateway.className` | `eg` | GatewayClass (Envoy Gateway installs `eg` by default) |
6473| `gateway.port` | `80` | Listener port on the Gateway |
6574
66- # # Multi-namespace setup
67-
68- Each namespace is fully independent — just repeat the install :
69-
70- ` ` ` bash
71- helm install envoy-router oci://ghcr.io/comet-ml/charts/envoy-router \
72- --version 0.1.0 --namespace ns-1 --create-namespace
73-
74- helm install envoy-router oci://ghcr.io/comet-ml/charts/envoy-router \
75- --version 0.1.0 --namespace ns-2 --create-namespace
76- ` ` `
77-
78- ```
79- ns-1: ALB-1 → Gateway (ns-1) → HTTPRoutes for pp-* in ns-1
80- ns-2: ALB-2 → Gateway (ns-2) → HTTPRoutes for pp-* in ns-2
81- ```
82-
83- **ALB configuration:** one rule per ALB — forward `/*` to the Envoy Gateway service in that namespace. No per-pod rules needed.
84-
8575# # Development
8676
8777` ` ` bash
0 commit comments