Documentation
¶
Overview ¶
Package route reconciles the Route resource (ADR-0110, F79): it validates each Route's backends, applies the multi-tenancy rules (host required in explicit-mode namespaces; deterministic cross-namespace (host,path,method) collision resolution), sets Ready/NotReady, and programs the edge router replace-all from the full Ready-route set — mirroring the Function reconciler's programAllRoutes discipline.
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 (deterministic collision resolution), programs the router with the winners, and writes the status of every Route whose evaluation changed it — one Route's change can move another's readiness, and no event enqueues that other Route.