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 