What are Extensions?
System extensions are OCI container images that contain:- Kernel modules
- Firmware files
- System binaries and libraries
- Extension services
- Configuration files
Installing Extensions
Extensions are included in the Talos installer image using the Image Factory or by building a custom installer.Using Image Factory
The recommended way to install extensions is using the Talos Image Factory:- Visit the Image Factory
- Select your Talos version
- Choose the extensions you need
- Generate a custom installer image URL
Common Extensions
Popular system extensions include:- qemu-guest-agent - QEMU guest agent for VM management
- iscsi-tools - iSCSI initiator tools
- util-linux-tools - Additional Linux utilities
- usb-modem-drivers - USB modem drivers
- nvidia-container-toolkit - NVIDIA GPU support
- intel-ice-firmware - Intel E810 network card firmware
- drbd - DRBD kernel module
- zfs - ZFS filesystem support
Extension Service Configuration
Configure services provided by extensions usingExtensionServiceConfig documents:
Extension Service Options
Name of the extension service to configure.
Configuration files for the extension service.
Environment variables for the extension service.
Configuration Files
The content of the configuration file.
Where to mount the configuration file in the extension container.
Creating Custom Extensions
Create custom extensions to add functionality specific to your environment.Extension Structure
An extension is an OCI container image with:- manifest.yaml - Extension metadata
- rootfs/ - Files to overlay on the system
- /lib/modules/ - Kernel modules (optional)
- /lib/firmware/ - Firmware files (optional)
- extension-service.yaml - Service definition (optional)
Example Extension Manifest
Building Extensions
Use thebldr tool or build manually:
Extension Service Definition
Define a service to run in the extension:GPU Support (NVIDIA)
Configure NVIDIA GPU support:ZFS Support
Enable ZFS filesystem support:iSCSI Configuration
Configure iSCSI initiator:QEMU Guest Agent
Enable QEMU guest agent for VM management:Debugging Extensions
Check Extension Status
Extension Logs
Extension services log to the system journal:Extension Best Practices
Version Compatibility
- Use Image Factory to match extensions with Talos versions
- Test extensions in non-production environments first
- Check extension compatibility matrix
Security Considerations
- Only install extensions from trusted sources
- Review extension source code when possible
- Minimize the number of extensions
- Keep extensions updated
Performance Impact
- Extensions add to boot time
- Some extensions consume system resources
- Monitor system performance after adding extensions
- Disable unused extensions
Configuration Management
- Store extension configurations in version control
- Use GitOps for extension deployment
- Document why each extension is needed
- Regularly audit installed extensions
Extension Repository
Official Talos extensions are maintained in the extensions repository. To request new extensions:- Check if the extension already exists
- Open an issue describing the use case
- Provide hardware/software details
- Consider contributing the extension
Example: Complete Extension Setup
Troubleshooting
Extension Not Loading
- Verify extension is included in installer image
- Check Talos version compatibility
- Review extension manifest
- Check for conflicting extensions
Service Not Starting
- Check service dependencies are met
- Verify configuration files are valid
- Check for missing kernel modules
- Review service logs
Performance Issues
- Monitor resource usage
- Check extension service logs
- Consider disabling unused extensions
- Review extension configuration
Next Steps
Image Factory
Generate custom Talos images with extensions
Extensions Repository
Browse official Talos extensions