route

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

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
	// ReferentPollInterval and ResyncInterval are controller.referentPollInterval and controller.routeResyncInterval
	// (ADR-0163); 0 ⇒ backendRequeue and resyncPeriod.
	ReferentPollInterval time.Duration
	ResyncInterval       time.Duration
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL