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 reconciled Route's status.