aether.registry.v1 — The service registry: what an endpoint is, how a service is keyed, and the route and configuration projections that travel between clusters. Written through the registrar, read by every node agent.
Rendered by protoc from api/aether/registry/v1/ when this site was built, so it
cannot drift from the compiled schema — there is no committed copy of this page.
Field constraints are carried as buf.validate options and are not shown here;
read the .proto for those.
ExtensionFilter is a proxy-extension escape-hatch filter (proposal 025) carried with
the projection: the Envoy filter name + its opaque per-route typed_config.
GammaRoute mirrors the in-memory proxy.GammaRoute: one HTTPRoute/GRPCRoute rule
projected to data-plane vocabulary. Backends are already resolved to data-plane
cluster names by the exporting reconciler.
ServiceConfigProjection is the cross-cluster wire form of one service's projected
GAMMA config (proposal 026, multi-cluster config propagation — Option E/C). The
authoritative (exporting) cluster's GAMMA reconciler projects an HTTPRoute/GRPCRoute
attached to a Service into the RECONCILED GammaRoute form and writes this record to
the shared registry, origin-stamped + versioned; consuming clusters import it
read-only and materialize the routes WITHOUT re-running the reconciler or holding
cross-cluster Kubernetes credentials. The in-memory proxy.GammaRoute is the source;
config.go converts to/from this proto. See docs/proposals/026.
Field
Type
Label
Description
service
string
service is the route-target key "<ns>/<svc>" the projection applies to.
origin_cluster
string
origin_cluster is the authoritative exporting cluster (the conflict-resolution + import-authorization key — a consumer rejects a projection from a non-authority).
version
string
version is the exporter's monotonic version for this service's projection (last-writer-by-origin; consumers ignore an older version than they hold).
service_filter is the service-wide always-on extension filter (proposal 025 M4 CHAIN scope): at most one per service, enabled at the service's capture vhost (vhost-level typed_per_filter_config). Rides the 026 channel like routes.
ports is the full set of application ports this endpoint serves (multi-port pods). port (above) remains the default/primary port — what the portless FQDN resolves to and the fallback when ports is empty. Each client builds a per-port cluster whose EDS membership is filtered to endpoints advertising that port, so a new version adding a port rolls out safely (callers of the new port only ever land on pods that serve it). See proposal 005.
node_ip is the node's routable InternalIP. It is the dial target for a cross-cluster endpoint whose pod IP is not routable across clusters: the consuming cluster's proxy dials node_ip:<tunnel-port> and that node's host-network proxy SNI-forwards to the local pod (proposal 019, per-node east/west waypoint). Empty when unknown (e.g. non-Kubernetes backends) or for same-cluster endpoints, which are dialed at the pod IP directly.
Health reflects whether the endpoint's application is serving, as actively
health-checked by the node-local agent (delegated liveness). The default
(HEALTH_UNSPECIFIED) is treated as healthy so endpoints from older agents and
freshly registered endpoints route normally until proven otherwise.
Name
Number
Description
HEALTH_UNSPECIFIED
0
HEALTH_HEALTHY
1
HEALTH_UNHEALTHY
2
HEALTH_DRAINING
3
HEALTH_DRAINING marks an endpoint whose pod's deletion has been requested: clients must stop selecting it for new requests (Envoy EDS DRAINING) while established connections finish through the pod's termination grace period. Set by the agent's termination watch; the endpoint is removed entirely at CNI DEL.
HealthCheckMode selects how client proxies determine this endpoint's health.
ACTIVE (the default, including UNSPECIFIED): each client proxy actively
HTTP-health-checks the endpoint's mesh readiness path. EDS: clients instead
rely on the EDS health status pushed by the node-local agent (delegated
liveness) and do not probe the endpoint themselves. Set per pod via the
endpoint.aether.io/health-check-mode annotation.
PROTOCOL_TCP marks a non-HTTP (raw TCP-over-mTLS) mesh service. Its endpoints are reached through the transparent-capture TCP floor as a raw mTLS passthrough (proposal 018, Phase 3a), not the HTTP HCM path.