Channels​
The Elemental Operator allows subscription to one or more ManagedOSVersionChannels, to automatically populate a list of ManagedOSVersions ready to be consumed to build new ISOs using a SeedImage, or to upgrade existing Elemental nodes to new OS versions using the ManagedOSImage.
A channel is normally distributed as an OCI container image, but it is also possible to reference the URI of a JSON file directly containing a list of ManagedOSVersion
. Note that the best practice is to distribute channels using images, so that distribution is consistent with all other images needed by the Elemental Operator. This can be beneficial for example when deploying in an Airgapped environment.
- Json syncer
- Custom syncer
This syncer will fetch a json from url and parse it into valid ManagedOSVersion
resources.
apiVersion: elemental.cattle.io/v1beta1
kind: ManagedOSVersionChannel
metadata:
name: elemental-versions
namespace: fleet-default
spec:
options:
URI: "https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/upgrade/versions.json"
Timeout: "1m"
type: json
A custom syncer allows more flexibility on how to gather ManagedOSVersion
by allowing custom commands with custom images.
This type of syncer allows to run a given command with arguments and env vars in a custom image and output a json file to /data/output
.
The generated data is then automounted by the syncer and then parsed so it can gather create the proper versions.
Elemental project provides channels to list all ManagedOSVersions
released as a custom syncer.
See the channel resource definition below:
apiVersion: elemental.cattle.io/v1beta1
kind: ManagedOSVersionChannel
metadata:
name: elemental-channel
namespace: fleet-default
spec:
options:
image: registry.suse.com/rancher/elemental-channel:latest
type: custom