Skip to main content

Elemental components

The components required to provide the Elemental services are:

elemental command line tool​

The elemental tool is part of the Elemental Toolkit project. It performs the actual OS installation and upgrade operations on the host and is used to execute the cloud-config directives added in the Elemental CRDs.

The elemental binary is included in all the base OS images distributed with Elemental.

elemental-operator daemon​

The elemental-operator daemon performs two main tasks:

  1. embeds the Elemental Kubernetes controllers to manage all the Elemental CRDs
  2. exposes the registration endpoints to allow the host to register and download the OS installation configuration during the machine onboarding

The elemental-operator daemon is deployed on the Rancher cluster as a Deployment via the Elemental Operator Helm Chart.

elemental-register command line tool​

The elemental-register binary is the client used to register the host against the registration endpoints exposed by the elemental-operator. It collects and forwards the host data to allow the elemental-operator to fill the SMBIOS and the Hardware label templates.

If the registraton phase is performed successfully, the elemental-register gets the full configuration stored in the MachineRegistration from the elemental-operator. As the last step, the elemental-register client calls the elemental binary passing the retrieved configuration to kick off the OS installation.

elemental-system-agent daemon​

The elemental-system-agent is built from the Rancher System Agent project and allows Elemental to deploy plans to assist with the host provisioning. Notably, the rancher-system-agent installation and configuration required for the Kubernetes Cluster provisioning service is performed through an elemental-system-agent plan.

Elemental OS container image​

An Elemental Toolkit OS image is an OCI container image containing all the files that will make up the OS of the target host. It contains not only all the binaries and libraries, but also the kernel and the boot files required by a linux system.

The Elemental OS image is an opinionated Elemental Toolkit OS image which is based on SLE Micro and contains specific Elemental configurations and binaries (the elemental and the elemental-register ones).

The Elemental OS images are tracked in the ManagedOSVersions resources. The ManagedOSVersions resources are dynamically created from ManagedOSVersionChannel resources. A defaultManagedOSVersionChannel resource is deployed with each Elemental Operator installation.