Skip to main content
Talos Linux system extensions let you add extra functionality, such as drivers and services, to your machines. In Omni, you can manage these extensions either declaratively using cluster templates (CLI) or interactively through the UI. Choose your preferred method below:
You can add Talos Linux system extensions to your machines by defining them in the machine configuration within your cluster template.Use the systemExtensions field in your cluster template to specify which extensions to install. For more details, see the Cluster Templates reference documentation.The code block below defines the configuration for a cluster named example, including system extensions for both control plane and worker machines.The worker machine is configured with NVIDIA-related extensions, includingnvidia-container-toolkit, nvidia-fabricmanager, nvidia-open-gpu-kernel-modules, and nonfree-kmod-nvidia.
kind: Cluster
name: example
kubernetes:
  version: v1.29.1
talos:
  version: v1.6.7
systemExtensions:
  - siderolabs/hello-world-service
---
kind: ControlPlane
machines:
  - <control plane machine UUID>
---
kind: Workers
machines:
  - <worker machine UUID>
---
kind: Machine
name: <control plane machine UUID>
---
kind: Machine
name: <worker machine UUID>
install:
  disk: /dev/<disk>
systemExtensions:
  - siderolabs/nvidia-container-toolkit
  - siderolabs/nvidia-fabricmanager
  - siderolabs/nvidia-open-gpu-kernel-modules
  - siderolabs/nonfree-kmod-nvidia
After defining your cluster template, validate it using:
omnictl cluster template validate -f cluster.yaml
If the validation succeeds, sync the template to apply the configuration to your Omni instance:
omnictl cluster template sync -f cluster.yaml --verbose
After syncing, the control plane will have the hello-world-service extension installed, while the worker machine will include the NVIDIA-related extensions.