github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/docs/orbiter/terminology.md (about)

     1  # Terminology
     2  
     3  ## Components
     4  
     5  ### Orb
     6  
     7  The entirety of a system managed by an `Orbiter` as well as the information contained in a corresponding Git repository forms an `Orb`
     8  
     9  ### Orbiter
    10  
    11  `Orbiter` is both released as a container image named `orbiter` and as a command line tool called `orbctl`. For bootstrapping a brand new `Orb`, the orbctl is invoked locally. It then provisions all `provider` infrastructure, installs `Node Agents` using SSH, installs the desired `clusters` and finally deploys an `Orbiter` to one of the new clusters (e.g. Kubernetes). The deployed Orbiter then takes over control from `orbctl` in order to continously ensuring the `Orbs` desired state.
    12  
    13  ### Node Agent
    14  
    15  The `Orbiter` has the `Node Agents` reconciling software versions and configuration on operating systems (e.g. nginx from yum or apt). Therefore, each server has a responsible `Node Agent` run by `systemd`.
    16  
    17  ### Git Repository
    18  
    19  An `Orbs` Git repository contains all relevant information consumed and produced by an `Orbiter`. Namely it contains a `desired state`, a `current state` and `secrets`, all declared in yaml files.
    20  
    21  #### Desired State
    22  
    23  The `desired` state is the `Orbs` target state defined by humans. It holds all information the `Orbiter` needs to create the `current` state. All and only human interaction with an `Orbiter` is manifested by changes to its corresponding `desired.yml` file.
    24  
    25  #### Current State
    26  
    27  The `current` state is the `Orbs` observed internal state. It is generated by `Orbiter` and edited only by `Orbiter` and `Node Agent`. A `Node Agent`s `desired` state is `current` state from the `Orbiter`s perspective, which is why it is embedded within the `current.yml` file. The `Node Agent` reports its `current` state in a dedicated `current` key next to its `desired` state (which in turn is declared in a `spec` key) within the `current.yml` file
    28  
    29  #### Secrets
    30  
    31  Keyed secrets are symmetrically encrypted with the AES 256 and encoded with the Base64 algorithms within the `secrets.yml` file.
    32  
    33  ## Sequence
    34  
    35  ![Sequence diagram](sequencediagram.org.svg)