Documentation
¶
Overview ¶
Package route reconciles the Route resource (ADR-0110, F79): it validates each Route's backends, Sets every backend-valid Route on the edge aggregator, which applies the claim rules (HostRequired, ReservedPath, RouteConflict) across every edge source (ADR-0176), and sets Ready/NotReady from the aggregator's verdicts.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Deps ¶
type Deps struct {
Store store.Store
// Routes contributes the user-Route entry set (source "routes") to the shared edge aggregator
// (ADR-0138) — replacing a direct router.Program so user Routes coexist with the CatalogService's
// node-private catalog route without clobbering the replace-all edge table.
Routes router.EntrySetter
Logger *slog.Logger
}
Deps are the reconciler's dependencies.
type Reconciler ¶
type Reconciler struct {
// contains filtered or unexported fields
}
Reconciler drives Route → programmed edge router.
func NewReconciler ¶
func NewReconciler(d Deps) (*Reconciler, error)
NewReconciler builds the Route reconciler.
func (*Reconciler) Reconcile ¶
func (r *Reconciler) Reconcile(ctx context.Context, req controller.Request) (controller.Result, error)
Reconcile evaluates the whole Route set, Sets the backend-valid Routes on the edge aggregator, and writes the status of every Route whose evaluation or verdict changed it — one Route's change can move another's readiness, and no event enqueues that other Route.