factory

package
v0.44.3 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2026 License: BSD-2-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateRouterFromConfig added in v0.4.0

func CreateRouterFromConfig(
	ctx context.Context,
	cfg *pkg.Config,
	opts ...RouterOptionFunc,
) (http.Handler, error)

CreateRouterFromConfig builds the HTTP handler tree from a parsed config: per-provider upstream pools (each member its own reverse proxy, token-swap transport, and concurrency limiter), a model-name dispatcher on /v1/, and the canonical admin endpoints (/healthz, /readiness, /metrics, /setloglevel/, /gc). The model router emits its own structured one-line log per request at V(1) (`[req] METHOD path model=... provider=... status=... latency=...`), so no outer logging wrapper is needed — admin endpoints stay quiet.

func CreateServer

func CreateServer(ctx context.Context, listen, configPath string) (librun.Func, error)

CreateServer loads the config at configPath, wires the model router + per-provider proxies, and returns a run.Func that starts the HTTP listener with graceful shutdown on ctx cancel.

Types

type RouterOptionFunc added in v0.32.0

type RouterOptionFunc func(*routerOptions)

RouterOptionFunc configures CreateRouterFromConfig beyond the parsed Config. Options are test seams (e.g. an isolated Prometheus registry) that do not belong on the YAML-deserialized Config struct.

func WithCurrentDateTime added in v0.40.0

func WithCurrentDateTime(clock libtime.CurrentDateTimeGetter) RouterOptionFunc

WithCurrentDateTime overrides the clock used for time-window eligibility and the router's timestamps. Defaults to libtime.NewCurrentDateTime(). Tests pass a fixed clock (libtime.NewCurrentDateTime() + SetNow) for deterministic window checks (spec 014).

func WithMetricsRegisterer added in v0.14.0

func WithMetricsRegisterer(reg prometheus.Registerer) RouterOptionFunc

WithMetricsRegisterer overrides the Prometheus registerer used for ccrouter_* metrics. Defaults to prometheus.DefaultRegisterer. Tests pass an isolated registry to avoid racing on the process-global default.

Jump to

Keyboard shortcuts

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