Use deployment configuration for the router status Service IP - #1737
Robbie Cronin (robert-cronin) wants to merge 2 commits into
Conversation
Signed-off-by: Robert Cronin <robert.owen.cronin@gmail.com>
Keith Mattix II (keithmattix)
left a comment
There was a problem hiding this comment.
If we're assuming a static service name, why not use the ATENET_ROUTER_SERVICE_HOST env var that gets auto injected
Signed-off-by: Robert Cronin <robert.owen.cronin@gmail.com>
|
Switched this to Validated fresh full/raw installs, missing/disabled injection, namespace independence, egress, and readiness on Kind. |
Fixes #1457
The shipped router's
/statuszhandler tries to read a Service that its ServiceAccount cannot access. Read optionalROUTER_SERVICE_IPdeployment configuration instead, mapped from Kubernetes'ATENET_ROUTER_SERVICE_HOST, and install the Service before the Deployment. The handler no longer makes the synchronous Service API request; the existing EndpointSlice-only Role is sufficient.Label the address as a container-start snapshot, independent of
--namespace. Missing or invalid configuration displays Unavailable in HTML and an emptyrouter_cluster_ipstring in JSON. Service recreation can leave the snapshot stale until restart. Document these semantics and cover IPv4, IPv6, missing/invalid values, HTML/JSON output, namespace independence, and zero Kubernetes API actions.Validation:
make verifyand the router packages under-racepassed. A full local Envoy installation passed the gVisor and micro-VM E2E lanes, including the separate MITM trust and egress-networking runs for both runtimes. Live HTTP checks covered fresh full/raw installs, missing/disabled injection, an unrelated namespace, egress, and readiness; real ServiceAccount checks denied Service access while preserving EndpointSlice permissions. The Kind volume tests used the repository-supported hostpath CSI driver because this host lacks NFS support.