Documentation
¶
Overview ¶
Package configexport is the registrar's cross-cluster config EXPORT controller (proposal 026 EM1c). Leader-elected (one author per cluster), it watches the GAMMA config (HTTPRoute/GRPCRoute) + MCS ServiceExports and writes the projected config of each EXPORTED route-target Service into the shared registry (registry.ConfigExporter), for peer clusters to import. It uses the SAME common/gammaproject projector the agent uses for local routing, so exported config and local config never drift.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
client.Client
// Exporter is the registry's cross-cluster config write capability. Required.
Exporter registry.ConfigExporter
// MeshDomain resolves backends to data-plane cluster names.
MeshDomain string
// Cluster is this cluster's name (the export origin; used to scope cleanup).
Cluster string
Log *slog.Logger
// contains filtered or unexported fields
}
Controller projects exported services' GAMMA config and writes it to the registry.
func (*Controller) Reconcile ¶
Reconcile (level-based) projects every exported route-target Service's GAMMA config and reconciles it into the registry: SetConfig changed/new projections, UnsetConfig the ones this cluster previously exported but no longer has.
func (*Controller) SetupWithManager ¶
func (c *Controller) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager registers the controller. It watches HTTPRoutes/GRPCRoutes (the config), ServiceExports (which services propagate), and ReferenceGrants (backend resolution); the optional HTTPFilter watch is gated on the CRD being present.