factory

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2026 License: BSD-2-Clause Imports: 18 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 ...RouterOption,
) (http.Handler, error)

CreateRouterFromConfig builds the HTTP handler tree from a parsed config: per-provider reverse-proxies with token-swap transports, 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 RouterOption added in v0.14.0

type RouterOption func(*routerOptions)

RouterOption 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) RouterOption

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