Directories
¶
| Path | Synopsis |
|---|---|
|
agent
|
|
|
cmd/agent
command
|
|
|
cmd/mesh-dns
command
Command mesh-dns is the standalone, slim mesh-DNS resolver binary run by the aether-mesh-dns DaemonSet (issues #578, #583).
|
Command mesh-dns is the standalone, slim mesh-DNS resolver binary run by the aether-mesh-dns DaemonSet (issues #578, #583). |
|
constants
Package constants defines agent-specific constants for socket paths and directory defaults.
|
Package constants defines agent-specific constants for socket paths and directory defaults. |
|
internal/capture
Package capture contains the node agent's transparent-capture controller: it watches the generated selectorless mesh Services (proposal 018, Phase 3a) and projects their cluster.local authorities into the snapshot cache, which builds the cap_http route table the per-pod capture listeners serve.
|
Package capture contains the node agent's transparent-capture controller: it watches the generated selectorless mesh Services (proposal 018, Phase 3a) and projects their cluster.local authorities into the snapshot cache, which builds the cap_http route table the per-pod capture listeners serve. |
|
internal/cmd
Package cmd provides command-line interface configuration for the Aether agent.
|
Package cmd provides command-line interface configuration for the Aether agent. |
|
internal/cni/server
Package server implements a gRPC server for the CNI plugin interface.
|
Package server implements a gRPC server for the CNI plugin interface. |
|
internal/configimport
Package configimport materializes cross-cluster GAMMA config on a spoke (proposal 026, multi-cluster config propagation — the consumer side).
|
Package configimport materializes cross-cluster GAMMA config on a spoke (proposal 026, multi-cluster config propagation — the consumer side). |
|
internal/edge/gatewayapi
Package gatewayapi contains the edge proxy's Gateway API controller: it watches Gateway API HTTPRoutes, TCPRoutes, and TLSRoutes attached to a Gateway of the aether GatewayClass and projects them into the edge data plane (proposal 018 — north-south).
|
Package gatewayapi contains the edge proxy's Gateway API controller: it watches Gateway API HTTPRoutes, TCPRoutes, and TLSRoutes attached to a Gateway of the aether GatewayClass and projects them into the edge data plane (proposal 018 — north-south). |
|
internal/edge/gatewayapi/attachment
Package attachment holds the edge Gateway API controller's route→listener attachment resolution: parentRef matching, allowedRoutes (namespaces/kinds) admission, ReferenceGrant-gated backendRef admission, and listener/route hostname intersection.
|
Package attachment holds the edge Gateway API controller's route→listener attachment resolution: parentRef matching, allowedRoutes (namespaces/kinds) admission, ReferenceGrant-gated backendRef admission, and listener/route hostname intersection. |
|
internal/edge/portalloc
Package portalloc provides deterministic internal-port allocation for per-Gateway edge listeners (proposal 021 Phase 2).
|
Package portalloc provides deterministic internal-port allocation for per-Gateway edge listeners (proposal 021 Phase 2). |
|
internal/edge/secret
Package secret resolves edge downstream-TLS certificates from pluggable backends (the SecretProvider enum).
|
Package secret resolves edge downstream-TLS certificates from pluggable backends (the SecretProvider enum). |
|
internal/endpointpolicy
Package endpointpolicy contains the node agent's EndpointPolicy controller: it watches the service-scoped delivery policies (proposal 034 Phase 1b) and projects them into the snapshot cache as a "<ns>/<svc>" → "<volume>/<file>" map.
|
Package endpointpolicy contains the node agent's EndpointPolicy controller: it watches the service-scoped delivery policies (proposal 034 Phase 1b) and projects them into the snapshot cache as a "<ns>/<svc>" → "<volume>/<file>" map. |
|
internal/gamma
Package gamma contains the node agent's GAMMA controller: it watches Gateway API HTTPRoutes attached to a Service (parentRef kind=Service) and projects their L7 rules into the node proxy's outbound routing (proposal 018, Phase 2 — east-west).
|
Package gamma contains the node agent's GAMMA controller: it watches Gateway API HTTPRoutes attached to a Service (parentRef kind=Service) and projects their L7 rules into the node proxy's outbound routing (proposal 018, Phase 2 — east-west). |
|
internal/gatewaystatus
Package gatewaystatus contains shared helpers for writing Gateway API status: controller-owned RouteParentStatus entries on Routes and conditions on Gateways/GatewayClasses.
|
Package gatewaystatus contains shared helpers for writing Gateway API status: controller-owned RouteParentStatus entries on Routes and conditions on Gateways/GatewayClasses. |
|
internal/l4route
Package l4route contains the node agent's L4 route controller: it watches Gateway API TCPRoutes, TLSRoutes, and UDPRoutes (parentRef kind=Service) and projects their rules into the node proxy's capture listener filter chains.
|
Package l4route contains the node agent's L4 route controller: it watches Gateway API TCPRoutes, TLSRoutes, and UDPRoutes (parentRef kind=Service) and projects their rules into the node proxy's capture listener filter chains. |
|
internal/meshdns
Package meshdns is the node agent's in-process DNS resolver (Istio-style, proposal 018 mesh-global FQDN).
|
Package meshdns is the node agent's in-process DNS resolver (Istio-style, proposal 018 mesh-global FQDN). |
|
internal/node
Package node provides node-level operations for the agent — notably removing the aether startup taint once the agent's CNI is serving, so workload pods can schedule onto the node (the Cilium-style cold-start gate; see issue #261).
|
Package node provides node-level operations for the agent — notably removing the aether startup taint once the agent's CNI is serving, so workload pods can schedule onto the node (the Cilium-style cold-start gate; see issue #261). |
|
internal/proxy/hotrestart
Package hotrestart implements a supervisor that manages the aether-proxy Envoy process and performs Envoy hot restarts across restart epochs, replicating the behavior of Envoy's hot-restarter.py in Go (see docs/proposals/001_proxy-hot-restart.md).
|
Package hotrestart implements a supervisor that manages the aether-proxy Envoy process and performs Envoy hot restarts across restart epochs, replicating the behavior of Envoy's hot-restarter.py in Go (see docs/proposals/001_proxy-hot-restart.md). |
|
internal/spire
Package spire provides integration with SPIRE for X.509 SVID management.
|
Package spire provides integration with SPIRE for X.509 SVID management. |
|
internal/xds/ack
Package ack tracks Envoy's delta-xDS ACK/NACKs per resource, replacing admin /config_dump polling (which serializes config on Envoy's main thread) as the agent's confirmation that a config update reached the proxy.
|
Package ack tracks Envoy's delta-xDS ACK/NACKs per resource, replacing admin /config_dump polling (which serializes config on Envoy's main thread) as the agent's confirmation that a config update reached the proxy. |
|
internal/xds/cache
Package cache manages Envoy xDS snapshot resources for the agent.
|
Package cache manages Envoy xDS snapshot resources for the agent. |
|
internal/xds/cache/cachemetrics
Package cachemetrics holds the agent xDS snapshot-generation instruments.
|
Package cachemetrics holds the agent xDS snapshot-generation instruments. |
|
internal/xds/cache/snapversion
Package snapversion generates xDS snapshot version strings for the agent cache.
|
Package snapversion generates xDS snapshot version strings for the agent cache. |
|
internal/xds/config
Package config provides Envoy configuration helpers for xDS resources.
|
Package config provides Envoy configuration helpers for xDS resources. |
|
internal/xds/proxy
Package proxy provides functions to generate Envoy resource types (listeners, clusters, endpoints, routes, filter chains) from pod and service registry data.
|
Package proxy provides functions to generate Envoy resource types (listeners, clusters, endpoints, routes, filter chains) from pod and service registry data. |
|
internal/xds/server
Package server implements the agent-specific Envoy xDS server.
|
Package server implements the agent-specific Envoy xDS server. |
|
internal/xds/xdsconst
Package xdsconst holds the Aether pod annotation keys consumed exclusively by the agent's xDS proxy-config generation (proxy/cache/server), keeping them out of the cross-tree common/constants fan-in.
|
Package xdsconst holds the Aether pod annotation keys consumed exclusively by the agent's xDS proxy-config generation (proxy/cache/server), keeping them out of the cross-tree common/constants fan-in. |
|
storage
Package storage provides interfaces and implementations for persisting and retrieving pod data.
|
Package storage provides interfaces and implementations for persisting and retrieving pod data. |
|
types
Package types provides type definitions used throughout the Aether agent.
|
Package types provides type definitions used throughout the Aether agent. |
|
bazel
|
|
|
protodoc
command
Command protodoc is the protoc plugin that renders aether's protobuf API reference for aethermesh.dev (//website, the `/api/` section).
|
Command protodoc is the protoc plugin that renders aether's protobuf API reference for aethermesh.dev (//website, the `/api/` section). |
|
cni
|
|
|
cmd/cni
command
|
|
|
cmd/cni-install
command
|
|
|
config
Package config provides CNI plugin configuration parsing and data structures.
|
Package config provides CNI plugin configuration parsing and data structures. |
|
internal/install
Package install provides configuration and utilities for the CNI plugin installer.
|
Package install provides configuration and utilities for the CNI plugin installer. |
|
internal/plugin
Package plugin implements the Aether CNI plugin, which is invoked by the container runtime (e.g., containerd) during pod lifecycle transitions.
|
Package plugin implements the Aether CNI plugin, which is invoked by the container runtime (e.g., containerd) during pod lifecycle transitions. |
|
internal/telemetry
Package telemetry provides opt-in OTel tracing and metrics for the short-lived CNI plugin binary.
|
Package telemetry provides opt-in OTel tracing and metrics for the short-lived CNI plugin binary. |
|
common
|
|
|
apis/config/v1
Package v1 holds the hand-written, typed MeshConfig Kubernetes CRD object whose `.spec` is the protobuf aether.config.v1.MeshConfigSpec.
|
Package v1 holds the hand-written, typed MeshConfig Kubernetes CRD object whose `.spec` is the protobuf aether.config.v1.MeshConfigSpec. |
|
config
Package config loads the proxy MeshConfig (aether.config.v1.MeshConfig) from a YAML document — typically a mounted ConfigMap projected from the MeshConfig CR — validating it with protovalidate.
|
Package config loads the proxy MeshConfig (aether.config.v1.MeshConfig) from a YAML document — typically a mounted ConfigMap projected from the MeshConfig CR — validating it with protovalidate. |
|
constants
Package constants defines the genuinely cross-tree basic constants used across the Aether codebase.
|
Package constants defines the genuinely cross-tree basic constants used across the Aether codebase. |
|
constants/annotations
Package annotations defines the cross-tree Aether pod/service/node annotation keys and their accepted values.
|
Package annotations defines the cross-tree Aether pod/service/node annotation keys and their accepted values. |
|
constants/labels
Package labels defines the cross-tree Aether Kubernetes labels and the mesh-service / clusterset label+annotation domain used to mark and link the generated selectorless Services the registrar owns.
|
Package labels defines the cross-tree Aether Kubernetes labels and the mesh-service / clusterset label+annotation domain used to mark and link the generated selectorless Services the registrar owns. |
|
constants/mesh
Package mesh defines the cross-tree mesh data-plane ports, paths, domain, and netfilter marks shared by the agent, CNI plugin, and registrar.
|
Package mesh defines the cross-tree mesh data-plane ports, paths, domain, and netfilter marks shared by the agent, CNI plugin, and registrar. |
|
crdcheck
Package crdcheck answers "is this CRD installed?" for controllers that watch OPTIONAL types.
|
Package crdcheck answers "is this CRD installed?" for controllers that watch OPTIONAL types. |
|
extensionfilter
Package extensionfilter is the single source of truth for the proxy-extension escape hatch (proposal 025): the allow-list of Envoy HTTP filters aether supports and the in-process, fail-closed validation of an HTTPFilter's opaque typed_config.
|
Package extensionfilter is the single source of truth for the proxy-extension escape hatch (proposal 025): the allow-list of Envoy HTTP filters aether supports and the in-process, fail-closed validation of an HTTPFilter's opaque typed_config. |
|
file
Package file provides atomic file write utilities and platform-specific optimizations.
|
Package file provides atomic file write utilities and platform-specific optimizations. |
|
gammaproject
Package gammaproject projects Gateway API HTTPRoute/GRPCRoute rules attached to a Service into the data-plane GAMMA route model (proposal 018), as the registryv1.GammaRoute PROTO.
|
Package gammaproject projects Gateway API HTTPRoute/GRPCRoute rules attached to a Service into the data-plane GAMMA route model (proposal 018), as the registryv1.GammaRoute PROTO. |
|
log
Package log provides structured logging configuration for Aether components.
|
Package log provides structured logging configuration for Aether components. |
|
manager
Package manager provides shared bootstrap logic for controller-runtime managers used by both the agent and registrar commands.
|
Package manager provides shared bootstrap logic for controller-runtime managers used by both the agent and registrar commands. |
|
must
Package must provides panic-on-error helpers for programming errors that should never occur at runtime, such as invalid flag registrations or failed type assertions on known types.
|
Package must provides panic-on-error helpers for programming errors that should never occur at runtime, such as invalid flag registrations or failed type assertions on known types. |
|
referencegrant
Package referencegrant implements the Gateway API ReferenceGrant check used to admit cross-namespace backendRefs (conformance item: GATEWAY-HTTP core, cross-namespace route tests).
|
Package referencegrant implements the Gateway API ReferenceGrant check used to admit cross-namespace backendRefs (conformance item: GATEWAY-HTTP core, cross-namespace route tests). |
|
retry
Package retry provides a generic retry mechanism with exponential backoff.
|
Package retry provides a generic retry mechanism with exponential backoff. |
|
serviceref
Package serviceref defines the namespace-qualified identity of a mesh service (proposal 020 Part 1).
|
Package serviceref defines the namespace-qualified identity of a mesh service (proposal 020 Part 1). |
|
spire
Package spire provides utilities for building mutual-TLS configurations backed by the SPIRE Workload API.
|
Package spire provides utilities for building mutual-TLS configurations backed by the SPIRE Workload API. |
|
telemetry
Package telemetry is the instrumentation-only OpenTelemetry API surface shared across Aether: attribute keys, span helpers, and gRPC stats handlers.
|
Package telemetry is the instrumentation-only OpenTelemetry API surface shared across Aether: attribute keys, span helpers, and gRPC stats handlers. |
|
telemetry/setup
Package setup wires OpenTelemetry providers for long-running binaries: an SDK MeterProvider bridged into controller-runtime's Prometheus registry, a TracerProvider, and a LoggerProvider, each with optional OTLP gRPC export.
|
Package setup wires OpenTelemetry providers for long-running binaries: an SDK MeterProvider bridged into controller-runtime's Prometheus registry, a TracerProvider, and a LoggerProvider, each with optional OTLP gRPC export. |
|
udspath
Package udspath resolves the endpoint.aether.io/uds-socket annotation to the host path of a workload's Unix socket (proposal 034).
|
Package udspath resolves the endpoint.aether.io/uds-socket annotation to the host path of a workload's Unix socket (proposal 034). |
|
controller
|
|
|
cmd/controller
command
|
|
|
internal/cmd
Package cmd provides the command-line interface for the aether-controller.
|
Package cmd provides the command-line interface for the aether-controller. |
|
internal/edgeconfig
Package edgeconfig provides the admission validator for EdgeConfig resources (proposal 029): it proto-validates the spec so a CR can never describe a config the edge would refuse.
|
Package edgeconfig provides the admission validator for EdgeConfig resources (proposal 029): it proto-validates the spec so a CR can never describe a config the edge would refuse. |
|
internal/endpointpolicy
Package endpointpolicy holds the controller's admission webhook for the EndpointPolicy CRD (proposal 034 Phase 1b, service-scoped UDS delivery).
|
Package endpointpolicy holds the controller's admission webhook for the EndpointPolicy CRD (proposal 034 Phase 1b, service-scoped UDS delivery). |
|
internal/gatewayapi
Package gatewayapi provides the aether-controller's Gateway API HTTPRoute validating admission webhook.
|
Package gatewayapi provides the aether-controller's Gateway API HTTPRoute validating admission webhook. |
|
internal/httpfilter
Package httpfilter holds the controller's admission webhook for the HTTPFilter CRD (proposal 025, the proxy-extension escape hatch).
|
Package httpfilter holds the controller's admission webhook for the HTTPFilter CRD (proposal 025, the proxy-extension escape hatch). |
|
internal/meshconfig
Package meshconfig hosts the MeshConfig CRD machinery that runs in the aether-controller: a validating admission webhook (protovalidate) and a reconciler that projects the singleton MeshConfig custom resource into the ConfigMap the agent consumes.
|
Package meshconfig hosts the MeshConfig CRD machinery that runs in the aether-controller: a validating admission webhook (protovalidate) and a reconciler that projects the singleton MeshConfig custom resource into the ConfigMap the agent consumes. |
|
internal/nodetaint
Package nodetaint holds the controller's node-taint guard: a leader-elected reconciler that RE-ARMS the aether startup taint (aetherlabels.TaintAgentNotReady) on a node whose agent pod is missing or not-Ready past a grace period, so a node that rebooted (kubelet never re-applies register-with-taints, gap G1) or whose agent crashed (gap G2) stops scheduling workload pods until an agent is serving again.
|
Package nodetaint holds the controller's node-taint guard: a leader-elected reconciler that RE-ARMS the aether startup taint (aetherlabels.TaintAgentNotReady) on a node whose agent pod is missing or not-Ready past a grace period, so a node that rebooted (kubelet never re-applies register-with-taints, gap G1) or whose agent crashed (gap G2) stops scheduling workload pods until an agent is serving again. |
|
internal/podmutate
Package podmutate contains the controller's pod-mutating admission webhook.
|
Package podmutate contains the controller's pod-mutating admission webhook. |
|
internal/webhook
Package webhook provides the aether-controller's single validating admission endpoint (/validate).
|
Package webhook provides the aether-controller's single validating admission endpoint (/validate). |
|
e2e
|
|
|
udsecho
command
Command udsecho is the UDS-serving test workload for the proposal 034 e2e harness (e2e/uds.sh): a tiny HTTP server that listens ONLY on a Unix domain socket inside its pod's emptyDir and never binds a TCP port.
|
Command udsecho is the UDS-serving test workload for the proposal 034 e2e harness (e2e/uds.sh): a tiny HTTP server that listens ONLY on a Unix domain socket inside its pod's emptyDir and never binds a TCP port. |
|
prober
|
|
|
cmd/prober
command
|
|
|
internal/prober
Package prober is a synthetic mesh-availability prober (proposal 013).
|
Package prober is a synthetic mesh-availability prober (proposal 013). |
|
registrar
|
|
|
cmd/registrar
command
|
|
|
internal/cmd
Package cmd provides command-line interface and configuration for the Aether registrar.
|
Package cmd provides command-line interface and configuration for the Aether registrar. |
|
internal/configexport
Package configexport is the registrar's cross-cluster config EXPORT controller (proposal 026 EM1c).
|
Package configexport is the registrar's cross-cluster config EXPORT controller (proposal 026 EM1c). |
|
internal/mcs
Package mcs implements Kubernetes Multi-Cluster Services (MCS-API) phase 1 for aether, backed by the origin-partitioned registry (proposals 018 + 006).
|
Package mcs implements Kubernetes Multi-Cluster Services (MCS-API) phase 1 for aether, backed by the origin-partitioned registry (proposals 018 + 006). |
|
internal/replicator
Package replicator is the registrar's cross-region etcd replicator (proposal 006 Phase 2a).
|
Package replicator is the registrar's cross-region etcd replicator (proposal 006 Phase 2a). |
|
internal/server
Package server implements the Registrar gRPC service, including endpoint snapshot management, change broadcasting, and external registry synchronization.
|
Package server implements the Registrar gRPC service, including endpoint snapshot management, change broadcasting, and external registry synchronization. |
|
internal/services
Package services contains the registrar's mesh-Service generator: it projects the mesh service catalog into selectorless k8s Services on the mesh port — transparent- capture VIP/name handles (proposal 018, Phase 3a).
|
Package services contains the registrar's mesh-Service generator: it projects the mesh service catalog into selectorless k8s Services on the mesh port — transparent- capture VIP/name handles (proposal 018, Phase 3a). |
|
Package registry provides interfaces for service endpoint registration and discovery.
|
Package registry provides interfaces for service endpoint registration and discovery. |
|
backend
Package backend is the registry backend factory: it owns the mapping from a --registry-backend name ("kubernetes", "dynamodb", or "etcd") to a concrete registry.Registry implementation.
|
Package backend is the registry backend factory: it owns the mapping from a --registry-backend name ("kubernetes", "dynamodb", or "etcd") to a concrete registry.Registry implementation. |
|
export
Package export holds the cross-cluster ServiceExport value type shared by the registry interface and its backends.
|
Package export holds the cross-cluster ServiceExport value type shared by the registry interface and its backends. |
|
internal/ddb
Package ddb implements the Registry interface using AWS DynamoDB as the backend.
|
Package ddb implements the Registry interface using AWS DynamoDB as the backend. |
|
internal/etcd
Package etcd implements the Registry interface using etcd as the backend.
|
Package etcd implements the Registry interface using etcd as the backend. |
|
internal/k8s
Package k8s implements the Registry interface using the Kubernetes API server as the backend.
|
Package k8s implements the Registry interface using the Kubernetes API server as the backend. |
|
internal/registrar
Package registrar implements the Registry interface using a Registrar gRPC service.
|
Package registrar implements the Registry interface using a Registrar gRPC service. |
|
registrarclient
Package registrarclient exposes the registrar-backed registry.Registry implementation: the node agent's client to the in-cluster Registrar gRPC service.
|
Package registrarclient exposes the registrar-backed registry.Registry implementation: the node agent's client to the in-cluster Registrar gRPC service. |
|
registrytest
Package registrytest provides shared assertions every Registry backend must satisfy, so the implementations (kubernetes, etcd, dynamodb, registrar) stay consistent.
|
Package registrytest provides shared assertions every Registry backend must satisfy, so the implementations (kubernetes, etcd, dynamodb, registrar) stay consistent. |
|
test
|
|
|
envoy_validate
Package envoy_validate provides functions to build representative Envoy bootstrap JSON configurations derived from the aether node-agent's actual xDS proxy builders.
|
Package envoy_validate provides functions to build representative Envoy bootstrap JSON configurations derived from the aether node-agent's actual xDS proxy builders. |
|
envoy_validate/generate
command
Command generate-envoy-bootstrap emits representative Envoy bootstrap JSON files into --out for offline inspection or CI artifact storage.
|
Command generate-envoy-bootstrap emits representative Envoy bootstrap JSON files into --out for offline inspection or CI artifact storage. |
Click to show internal directories.
Click to hide internal directories.