FlexInfer docs
Backends
How the backend plugin system works and how to extend it.
Backends
Backends are a small plugin surface that centralizes:
- container image selection (by GPU vendor/arch)
- ports
- args/env/probes
- default idle timeouts and startup timeouts
The goal is to keep controller logic backend-agnostic.
Where it lives
- Interface:
services/flexinfer/backend/interface.go - Registry:
services/flexinfer/backend/registry.go - Implementations:
services/flexinfer/backend/*.go
Adding a new backend
- Create a new file in
services/flexinfer/backend/implementingbackend.Backend. - Register it in an
init()function:
func init() {
backend.MustRegister(&MyBackend{})
}
- Ensure:
Name()returns a stable canonical nameAliases()covers common spelling variantsImage()returns sensible defaults for NVIDIA/AMD (and CPU if supported)
- Add/update tests in
services/flexinfer/backend/registry_test.goas needed.
Image overrides
The Helm chart exposes values for backend images and operator-level defaults.
See services/flexinfer/charts/flexinfer/values.yaml.