Skip to content

Proposals

Every design decision in aether is written down before it is built, and each record is published as it was written. The status is the proposal's own wording; the dot beside it is that wording sorted into five buckets, nothing more.

# Proposal Status Date
035 Vanity Go module path aethermesh.dev Accepted — 2026-08-08 (apex aethermesh.dev, served by the docs site). The serving half (go-import meta + build guard) ships first; the module rename is the follow-up PR and is gated on the meta being live. 2026-08-08
034 UDS Support for Pods Implemented (Phases 1 + 1b) and production-validated — annotation path (#616/#617) and EndpointPolicy CRD path (#618) shipped, kind e2e in CI (#619), and both paths validated under an 8-hour churn soak on talos-main (2026-08-03; follow-ups tracked in #628/#629). Phase 2 (outbound egress socket) remains deferred post-redirect-all. 2026-06-11
033 Node-taint lifecycle — re-arm the agent-not-ready taint across reboots and agent outages Implemented — the taint lifecycle shipped (agent/internal/node): the agent-not-ready taint re-arms across reboots and agent outages. (Accepted 2026-07-19.) Amended 2026-09-04 (#667) — the removal gate now requires CNI conflist chaining as well as the socket; see the Amendment section at the end. (No in-page anchor link here on purpose: the website republishes this Status line verbatim on /proposals/, where a #-relative link would resolve against the index and break the strict build.) 2026-07-19
032 Upgrade Gateway API to v1.6.1 Accepted (implemented 2026-07-18) 2026-07-18
031 Reduce the agent's feature-flag surface Implemented — the assessed flag retirements landed (e.g. --l4-routes removed; L4 route types now gate only on their Gateway API CRDs being installed). (Assessment 2026-07-12.) 2026-07-12
030 Move the remaining data-plane ports out of Istio's reserved range Implemented — the data-plane ports moved to 18008/18009/18021; nothing remains in Istio's reserved 15xxx range.
029 EdgeConfig — edge best-practices, per-instance, native Gateway API Implemented — EdgeConfig shipped: edge best-practices defaults, per-Gateway parametersRef overrides, and HTTP/3 (QUIC) support, with its admission webhook in the controller. (Accepted 2026-07-06.) 2026-07-06
028 GeoIP at the edge Implemented — edge GeoIP shipped: x-geo-* request enrichment with inbound spoof-strip and route-cache clearing. (Accepted 2026-07-06.) 2026-07-06
027 external authorization (ext_authz) via a node-proxy sidecar Implemented — the node-local ext_authz sidecar (UDS transport, OPA preset) shipped; deployed enabled-but-inert on talos-main. (Accepted 2026-07-05.) 2026-07-05
026 Multi-cluster config propagation Implemented — Option E (control cluster — centralized config authority) shipped on Option C's export/import channel: the registrar's leader-elected config-export controller writes ServiceConfigProjections to the shared registry, and the agent's --import-config materializer (with --control-cluster restricting trust to one origin; local config wins) imports them — validated by a two-kind-cluster e2e. Option D (producer-waypoint) for class-1 enforcement; Option A (GitOps) for class-2 consumer-local config; Option B rejected. Run the control cluster as a pure-management cluster (no mesh workloads). etcd key-ACL hardening is parked as a follow-up. (Accepted 2026-06-29.) 2026-06-29
025 Proxy-extension escape hatch for Gateway API / GAMMA Implemented — Option C (ExtensionRef → typed HTTPFilter CRD, opaque body, fail-closed in-process proto-validate — no Envoy binary in the webhook) shipped in full and is talos-validated: the route-rule ExtensionRef form, the Service-targetRef (policy-attachment) form (unblocked once proposal 026 landed), and CHAIN-scoped filters. common/extensionfilter is the single source of truth for the allow-list + validation/rendering. (Accepted 2026-06-29.) 2026-06-29
024 Gateway API conformance in CI Implemented — Gateway API conformance runs in CI and is a hard gate (GATEWAY-HTTP + MESH-HTTP Core). (2026-06-28 design.) 2026-06-28
023 Service-based routing — decoupling the GAMMA route target from ServiceAccount identity Implemented — the route-target catalog + real-ClusterIP:port capture shipped (GAMMA-on-capture); the versioned-backend shape it exists for is exercised by the MESH-HTTP conformance profile, which is green and a hard CI gate (proposal 024). (2026-06-28 design.) 2026-06-28
022 Arbitrary-Service interception (the genuine GAMMA / Mesh data plane) Implemented — arbitrary-service interception (redirect-all) shipped and is the default for managed pods (agent.captureRedirectAllDefault=true), soak-validated hitless on talos. (2026-06-25 design.) 2026-06-25
021 Per-Gateway addressing for the edge Implemented — per-Gateway addressing (Phase 2) shipped and is the default (edge.perGatewayAddressing=true). (2026-06-25 design.) 2026-06-25
020 Namespace-aware services + opt-in non-mesh endpoint projection Implemented — the namespace-aware <ns>/<serviceAccount> registry-key cutover completed and is the mesh's identity model (registry keys, SVIDs, generated mesh Services). (2026-06-25 design.) 2026-06-25
019 Multi-cluster pod-to-pod via a per-node waypoint (non-routable pod IPs) Implemented — the node proxy acts as the per-node E/W gateway behind --east-west-waypoint (default off; needs shared etcd + shared SPIRE trust domain), e2e-validated. (2026-06-24 design.) 2026-06-24
018 Gateway API for aether — north-south + GAMMA east-west Implemented — all phases shipped and default-on: Phases 1–2 (edge HTTPRoute + GAMMA east-west), Phase 3a (HTTP transparent capture), and Phase 3b (L4 TCPRoute/TLSRoute/UDPRoute, default-on since #493; the agent.l4Routes flag was retired by proposal 031 — each route type now gates only on its Gateway API CRD being installed). (2026-06-22 design.) 2026-06-22
017 VirtualHost CRD — L7 path-based edge routing (supersedes EdgeRoute) Implemented, then superseded — the VirtualHost CRD shipped, but edge L7 routing has since migrated to the Gateway API (HTTPRoute) and the VirtualHost CRD was retired. See proposal 018. (2026-06-21 design.) → 018 2026-06-21
015 aether system config (umbrella globals) + proxy MeshConfig CRD Implemented — the aether system config + MeshConfig CRD shipped (later made namespaced with an aether-system fallback). Live proxy reload remains future work. (2026-06-18 design.) 2026-06-18
014 proxy access logs to VictoriaLogs over OTLP Implemented — proxy access logs over OTLP shipped and validated (2026-06-17 design). 2026-06-17
013 synthetic mesh-availability prober Implemented — the mesh-availability prober shipped (charts/prober). (Originally 2026-06-17; amended: probe a proxy local-reply liveness endpoint, not a real service.) 2026-06-17
012 aether_stats as a native C++ Envoy extension Implemented — aether_stats ships as a native C++ extension in the custom proxy workspace (proxy/source/extensions/filters/http/aether_stats/), default-on in the mesh. (2026-06-15 design.) 2026-06-15
011 Port the aether_stats filter into the proxy build Implemented — superseded in direction by proposal 012: the filter rides the custom proxy build as a native C++ extension rather than a bundled dynamic module (this proposal's envoy --mode validate harness lives on as //test/envoy_validate). (2026-06-15 design.) → 012 2026-06-15
010 Custom Envoy proxy as a separate sibling Bazel workspace Implemented (proposals 010/011/012) — supersedes proposal 009 2026-06-15
009 Envoy in the Bazel workspace — version alignment, validation, customization Superseded by proposal 010 — spike / investigation, recommendation below (2026-06-14) 2026-06-14
008 Rust in the Bazel build (rules_rust + hermetic_cc_toolchain) Implemented, then superseded by proposal 010 — the rules_rust + hermetic_cc toolchain shipped (#177) and carried the proposal-007 Rust dynamic module (#178), but was removed when aether_stats moved to a native C++ extension in the custom proxy workspace (proposals 010–012). No Rust remains in the tree. (2026-06-13 design.) 2026-06-13
007 Source↔Destination Telemetry via a Rust Dynamic Module Implemented — the aether_stats source→destination metrics filter shipped and is default-on (later re-based as a native C++ Envoy extension; see proposals 011/012). Phase-1 module validated end-to-end on stock distroless Envoy 1.38.0 (2026-06-13). 2026-06-13
006 multi-region etcd federation (region-scoped registry ownership) Implemented — the registrar's --peer-etcd replicator (origin-partitioned keys, origin-heartbeat lease) shipped and is exercised by the nightly two-cluster replication e2e gate. (2026-06-20 design.) 2026-06-20
005 Multi-Port Routing per Pod Implemented — multi-port routing shipped (endpoint.aether.io/ports, per-port EDS, SNI demux); design validated by spike (Envoy 1.38.0/BoringSSL, 2026-06-13). 2026-06-13
004 Demand-Scoped Service Distribution Implemented — demand-scoped CDS/watch/health-checking shipped as a breaking change (no fallback flag); cold path = ODCDS, including the capture on-demand catch-all (#288). (2026-06-12 design.) 2026-06-12
003 Edge Proxy (North-South Ingress Gateway) Implemented — PRs #236 (control plane), #237 (EdgeRoute CRD), #238 (chart), #239 (downstream TLS). NOTE: the EdgeRoute CRD described here was later retired; the edge now routes via the Gateway API (Gateway/HTTPRoute) — see proposals 017 and 018. 2026-06-19
002 Agent Concurrency Audit: Config Propagation, Hot Restart, Pod Lifecycle All findings fixed — R1+R3 in #109, R2+R4-R8 in #110, follow-on predecessor re-probe in #111 2026-06-10
001 Hot Restart for the aether-proxy Envoy (Spike) Implemented — the agent proxy-supervisor hot-restart supervisor shipped (Strategy B), zero-drop validated on talos-main; follow-on audits merged (#109–#111). (2026-06-09 spike.) 2026-06-09
000 In-Cluster Registrar Service Implemented 2026-03-22

A number is enough to cite one: /proposals/000/ redirects to the full URL of that proposal, and keeps working when its title changes.