Files
cozystack/packages/system/cozystack-controller/values.yaml
Aleksei Sviridkin 91f922d380 feat(cozystack-controller): serve the GPU webhooks with GPU enabled
The GPU admission webhooks need a Service, a serving certificate and
webhook configurations, and the binder's metrics need a port a scrape
can reach. All of it renders only with GPU enabled, which the platform
sets where KubeVirt serves GPUs, so clusters without KubeVirt change
nothing.

The webhooks fail closed. The two mutating ones select only VMIs and
virt-launcher pods carrying the device-reference label, the pod webhook
also requiring the virt-launcher label, so of VMIs and pods a
controller outage blocks only the start of VMs with device references;
the GPUDevice webhook blocks new orders as well. The controller then
runs two replicas behind a PDB, since a single fail-closed replica
would block those starts on every rollout.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-10-21 13:31:26 +03:00

29 lines
1.4 KiB
YAML

cozystackController:
image: ghcr.io/cozystack/cozystack/cozystack-controller:v1.6.0@sha256:b01f6fe6e8fe6426b112fbda2b4abac946b4e45cd118137c9001c9e6ee784b3d
debug: false
disableTelemetry: false
# Base URL of a Prometheus-compatible query API to fetch SeaweedFS bucket
# size metrics from, for deployments where SeaweedFS and the monitoring
# stack that scrapes it run in a separate cluster. Empty keeps discovery
# via the namespace.cozystack.io/monitoring label.
seaweedfsMetricsEndpoint: ""
# Raising this gives the reconciliation loop a standby, not a second writer:
# the chart always passes --leader-elect, so exactly one manager holds the
# Lease and runs the reconcilers. With the default of 1 the extra Lease is
# the only difference from the previous hardcoded value.
replicas: 1
# Empty by default: no resources block is rendered, so requests and limits are
# opt-in. Idle usage (measured) is ~69Mi — keep a limit above that.
resources: {}
# GPUDevice placement and its admission webhooks. The platform enables it
# only where KubeVirt serves GPUs; it then runs two replicas, since the
# webhooks fail closed and would block GPU VM starts during a rollout.
gpu:
enabled: false
# Hoster's gpu.resourceNames: GPU resource names besides those of
# GPUClasses and node agents.
resourceNames: []
# allowed or forbidden: whether VMs and pods may request GPU resource
# names directly.
rawResourceNames: allowed