aether.registrar.v1 — The gRPC contract between a node agent and its cluster's registrar — the versioned endpoint snapshot, the watch stream that fans changes out to agents, and the cross-cluster configuration listing.
Rendered by protoc from api/aether/registrar/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.
projections is the clusterset-wide set of service config projections, one per (service, origin cluster). origin_cluster is set authoritatively by the registry.
When set, the watch is scoped to filter.services: the initial snapshot and incremental events are limited to those services (demand-scoped distribution -- fan-out per endpoint change scales with the service's consumer count, not the node count). An explicitly set but empty filter watches nothing (a node with no mesh pods). Unset = full watch. Agents re-assert their filter on every reconnect; the registrar never serves less than asked.
Sent by the server once the initial full snapshot has been fully streamed (or immediately when the client was already up-to-date). Carries the snapshot version; has no service_name/endpoint. Clients use it to know their cache is complete before deriving config from it.
EVENT_TYPE_SERVICE_ADDED
6
Service-catalog events: a service exists while it has at least one endpoint in the registrar snapshot. Unlike endpoint events, these BYPASS the watch filter and reach every watcher (they are rare -- deploy-time transitions, not pod churn), giving each agent a full local index of service names: the on-demand (ODCDS) cold path answers existence locally instead of stalling on nonexistent services. The full catalog is replayed as SERVICE_ADDED events on every (re)connect before SNAPSHOT_COMPLETE. Carries service_name only.
ListAllConfig returns the clusterset-wide config projections (multi-cluster config propagation, proposal 026 Option E/C). Agents do NOT read the registry directly; the spoke registrar surfaces imported projections through this pull. A push stream (WatchConfig) is a later optimization; the pull is correct and eventually-consistent (AP), matching the import posture.