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.
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 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.