Zum Inhalt springen

Using extensions

Diese Seite ist noch nicht in deiner Sprache verfügbar. Englische Seite aufrufen

Extensions are a way to expand the Talos root filesystem. This allows you to add features like custom container runtimes or extra firmware. These extensions are only applied when you first install or upgrade Talos Linux, but even with them, the root filesystem remains immutable and is read-only. Overlays are similar to extensions, but are used to modify the installation process rather than the root filesystem. You may choose one or more additional extensions for your image. These extensions will be built into the target image and will persist through upgrades as well.

In this example we chose the hello-world-service, which acts as an example for extension developers.

Prerequisites:

Steps:

  1. Follow the generic image creation steps, as described in the getting started guide.

  2. In the step where you can select an extension, type “hello” into the search box and select the hello-world-service.

    STACKIT Edge Cloud: Create Image - Configure Extensions Screen. The image shows the second step in the 'Create Image' workflow within the STACKIT Edge Cloud web interface. The primary heading is "Create Image" with the subtitle "Configure and create a new Image step-by-step for your desired platform." A search bar is visible, containing the partially typed query "hel," indicating the user is searching for extensions. Below the search bar is the section heading "IMAGE EXTENSIONS." Three system extension options are listed: 1. siderolabs/chelsio-drivers (This system extension provides Chelsio network drivers.), 2. siderolabs/chelsio-firmware (This system extension provides Chelsio NC firmware binaries.), and 3. siderolabs/hello-world-service (This system extension provides an example Talos extension service.). None of the extensions are currently selected. At the bottom, a "Back" button is on the left, and a disabled "Next $\rightarrow$" button is on the right. The left navigation menu shows the 'Images' asset under 'ASSETS' is currently active.

  3. Follow the remaining image creation steps. The resulting preview should indicate that your extension(s) are included in the image. They’ll be part of any installation medium generated from this image. Click the “create” button to create the image.

    STACKIT Edge Cloud: Create Image - Review Screen. This is the final step in the 'Create Image' workflow, titled "Review." The screen displays a summary of the image configuration before creation. The configured parameters are listed: Image Name is set to test. Image Version is v1.10.5-stackit.v0.21.0. Image Overlay is set to None. Under Image Extensions, the item siderolabs/hello-world-service is selected and listed with a bullet point. Image Kernel Parameters is set to None. At the bottom, a "Back" button is on the left, and a large, blue, highlighted "Create" button with an icon is on the right, ready for the user to finalize the image creation.

  4. The rest of the process is identical to the regular image creation procedure.

Currently, the only way to get a list of all available image versions, overlays, or extensions, is to query the STEC image factory. The following example shows how to use the API to get a list of Talos extensions.

Terminal window
# get available extensions
> INSTANCE_REGION="eu01"
> curl https://image-factory.edge.$INSTANCE_REGION.stackit.cloud/versions
[
"v1.10.5-stackit.v0.20.0",
"v1.10.5-stackit.v0.21.0",
"..."
]
> IMAGE_VERSION="v1.10.5-stackit.v0.20.0"
> curl https://image-factory.edge.$INSTANCE_REGION.stackit.cloud/version/$IMAGE_VERSION/extensions/official
[
{
"name": "siderolabs/nvidia-open-gpu-kernel-modules-lts",
"ref": "stecreg.azurecr.io/siderolabs/nvidia-open-gpu-kernel-modules-lts:535.247.01-v1.10.5",
"digest": "sha256:ba78a60ddecca672ea7856125567b405f01511fa0b9a8b8fc9daa7da8351e0ee",
"author": "Sidero Labs",
"description": "This system extension provides nvidia open source driver kernel modules built against a specific Talos version.\n"
},
{
"name": "avcheck",
"ref": "stecreg.azurecr.io/avcheck:v1.10.5-stackit.v0.20.0",
"digest": "sha256:62a720e5fc9987cab170957a646518e1d18e469ae6e39254c3efa8db7578d97d",
"author": "STACKIT",
"description": "The agent part of the STACKIT Edge Cloud solution\n"
},
"..."
]