@@ -70,13 +70,25 @@ mise run helm:skaffold:run:sidecar
7070mise run helm:skaffold:run:sidecar-mtls
7171```
7272
73- Both commands build the ` gateway ` and ` supervisor ` images and deploy the OpenShell Helm
73+ ** Supervisor proxy-pod topology** (build once and leave running):
74+ ``` bash
75+ mise run helm:skaffold:run:proxy-pod
76+ ```
77+
78+ All Skaffold commands build the ` gateway ` and ` supervisor ` images and deploy the OpenShell Helm
7479chart. The sidecar profile renders an ` openshell-network-init ` init container for
7580nftables setup and a non-root ` openshell-supervisor-network ` runtime sidecar for
7681proxying. The sidecar-mTLS profile reuses ` ci/values-sidecar.yaml ` and restores
77- ` server.disableTls=false ` inline for Skaffold. The ` pkiInitJob ` hook (a pre-install
78- Job that runs ` openshell-gateway generate-certs ` ) generates mTLS secrets on first
79- install. Envoy Gateway opt-in; see the Optional Add-ons section below.
82+ ` server.disableTls=false ` inline for Skaffold. The proxy-pod profile renders
83+ network supervision in a separate supervisor Deployment with one pod and relies
84+ on Kubernetes NetworkPolicy enforcement so the agent pod can reach only its
85+ paired supervisor plus DNS. The
86+ default local k3s/k3d cluster keeps k3s's embedded NetworkPolicy controller
87+ enabled; if you replace the CNI, install a policy-enforcing CNI before using
88+ proxy-pod. The
89+ ` pkiInitJob ` hook (a pre-install Job that runs `openshell-gateway
90+ generate-certs`) generates mTLS secrets on first install. Envoy Gateway opt-in;
91+ see the Optional Add-ons section below.
8092
8193The gateway Service uses ClusterIP. Access is via Envoy Gateway (port ` 8080 ` ) or ` kubectl port-forward ` .
8294
@@ -85,6 +97,31 @@ The gateway Service uses ClusterIP. Access is via Envoy Gateway (port `8080`) or
8597create the Secret named ` openshell-ha-pg ` with a ` uri ` key, then run
8698` mise run helm:skaffold:run ` or ` mise run helm:skaffold:dev ` .
8799
100+ ### Kubernetes e2e profiles
101+
102+ Run the default Kubernetes e2e environment:
103+
104+ ``` bash
105+ mise run e2e:kubernetes
106+ ```
107+
108+ Run the sidecar topology e2e environment:
109+
110+ ``` bash
111+ mise run e2e:kubernetes:sidecar
112+ ```
113+
114+ Run the proxy-pod topology e2e environment:
115+
116+ ``` bash
117+ mise run e2e:kubernetes:proxy-pod
118+ ```
119+
120+ The proxy-pod e2e task applies ` ci/values-proxy-pod.yaml ` through
121+ ` OPENSHELL_E2E_KUBE_EXTRA_VALUES ` . Use an existing cluster with NetworkPolicy
122+ enforcement, or let the wrapper create the default local k3d/k3s cluster with
123+ k3s's embedded NetworkPolicy controller enabled.
124+
88125### TLS behaviour
89126
90127` ci/values-skaffold.yaml ` sets ` server.disableTls: true ` , so Skaffold-based deploys run
@@ -147,6 +184,12 @@ For a sidecar-profile deployment:
147184mise run helm:skaffold:delete:sidecar
148185```
149186
187+ For a proxy-pod-profile deployment:
188+
189+ ``` bash
190+ mise run helm:skaffold:delete:proxy-pod
191+ ```
192+
150193### Delete the cluster entirely
151194
152195``` bash
@@ -272,6 +315,7 @@ for dependencies still declared in `Chart.yaml`.
272315| ` deploy/helm/openshell/ci/values-high-availability.yaml ` | HA test overlay (` replicaCount: 2 ` with external PostgreSQL Secret) |
273316| ` deploy/helm/openshell/ci/values-keycloak.yaml ` | Keycloak OIDC overlay |
274317| ` deploy/helm/openshell/ci/values-sidecar.yaml ` | Supervisor sidecar topology overlay for Kubernetes e2e/dev |
318+ | ` deploy/helm/openshell/ci/values-proxy-pod.yaml ` | Supervisor proxy-pod topology overlay for Kubernetes e2e/dev; requires NetworkPolicy enforcement |
275319| ` deploy/helm/openshell/ci/values-spire.yaml ` | SPIFFE/SPIRE provider token grant overlay |
276320| ` deploy/helm/openshell/ci/values-spire-stack.yaml ` | SPIRE hardened chart values for local dev |
277321| ` deploy/helm/openshell/ci/values-tls-disabled.yaml ` | Lint-only: TLS + auth disabled (reverse-proxy edge termination) |
0 commit comments