diff --git a/docs/architecture.md b/docs/architecture.md index 0ed2988e4..9d8e9ce57 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,9 +1,10 @@ # Architecture -Elemental is an immutable Linux distribution. +Elemental is a stack, a set of tools, to build an immutable Linux distribution. Its primary purpose is to run Rancher and its corresponding Kubernetes distributions [RKE2](https://rke2.io) -and [k3s](https://k3s.io). +and [k3s](https://k3s.io). It can be configured for any other workload, however +the following documentation focusses on a Rancher use-case. Initial node configurations is done using a cloud-init style approach and all further maintenance is done using @@ -29,13 +30,20 @@ image that is built using standard Docker build processes. Elemental is built using normal `docker build` and if you wish to customize the OS image all you need to do is create a new `Dockerfile`. -## Rancher system agent +## Elemental Operator Elemental includes no container runtime, Kubernetes distribution, or Rancher itself. All of these assests are dynamically pulled at runtime. All that -is included in Elemental is [rancher system agent](https://github.com/rancher/system-agent) which -is responsible for bootstrapping RKE2/k3s and Rancher from an OCI registry. This means -an update to containerd, k3s, RKE2, or Rancher does not require an OS upgrade +is included in Elemental is [Elemental Operator](https://github.com/rancher/elemental-operator) which +is responsible for managing OS upgrades and managing a secure device inventory to assist +with zero touch provisioning. + +Elemental Operator includes a Kubernetes operator installed in the management cluster and a client +side installed in nodes so they can self register into the management cluster. Once a node is +registered the Elemental Operator will kick start the OS installation and schedule the Kubernetes +provisioning using the [Rancher System Agent](https://github.com/rancher/system-agent). +Rancher System Agent is responsible for bootstrapping RKE2/k3s and Rancher from an OCI registry. This means +an update of containerd, k3s, RKE2, or Rancher does not require an OS upgrade or node reboot. ## Cloud-init @@ -51,10 +59,10 @@ Elemental includes an operator that is responsible for managing OS upgrades and managing a secure device inventory to assist with zero touch provisioning. See the project at [elemental-operator](https://github.com/rancher/elemental-operator/#readme) -## The underlaying OS +## Elemental Teal -Elemental is based off of SUSE Linux Enterprise (SLE) Micro for Rancher. There is no specific dependency on -SLE beyond that Elemental assumes the underlying distribution is -based on systemd. We choose SLE Micro for Rancher for obvious reasons, but beyond -that Elemental provides a stable layer to build upon that is well -tested and has paths to commercial support, if one chooses. +Elemental Teal is the OS, based on SUSE Linux Enterprise (SLE) Micro for Rancher, +built using the Elemental stack. The only assumption from the Elemental stack is that +the underlaying distribution is based on Systemd. We choose SLE Micro for Rancher for +obvious reasons, but beyond that Elemental provides a stable layer to build upon +that is well tested and has paths to commercial support, if one chooses. diff --git a/docs/upgrade.md b/docs/upgrade.md index 01f0778ba..bc62b26ba 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -3,9 +3,9 @@ All components in Elemental are managed using Kubernetes. Below is how to use Kubernetes approaches to upgrade the components. -## Elemental +## Elemental Teal -Elemental is upgraded with the Elemental operator. Refer to the +Elemental Teal is upgraded with the Elemental operator. Refer to the [Elemental Operator](https://github.com/rancher/elemental-operator/blob/main/README.md) documentation for complete information, but the TL;DR is