Documentation
¶
Overview ¶
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.
The pod annotation endpoint.aether.io/uds-socket wins over a policy; the cache applies that precedence when it resolves a pod's delivery address.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PolicySink ¶
type PolicySink interface {
// SetUDSServicePolicies replaces the service-scoped UDS delivery map, keyed by
// the namespace-qualified "<ns>/<svc>" serviceref key (020 Part 1); values are
// the declared "<volume>/<file>" socket.
SetUDSServicePolicies(policies map[string]string)
}
PolicySink receives the projected per-service delivery policies (the snapshot cache).
type Reconciler ¶
type Reconciler struct {
client.Client
Sink PolicySink
Log *slog.Logger
// contains filtered or unexported fields
}
Reconciler watches EndpointPolicies cluster-wide and projects, on any change, the complete service→socket map into the sink. Level-based: each reconcile re-lists, so adds/updates/deletes converge without delta tracking.
func (*Reconciler) Reconcile ¶
Reconcile re-lists every EndpointPolicy and replaces the sink's per-service delivery map.
func (*Reconciler) SetupWithManager ¶
func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager registers the reconciler to watch EndpointPolicies, unless the CRD is absent — in which case it registers nothing and the pod annotation stays the only way to request UDS delivery.