Organization

The configuration stored in the repo are organized according to the internal structure of Earth:

  • Core: configuring the machines that will host the cluster, and other prerequisites like DNS.
  • Mantle: configuration that we install by running kubectl apply -f example.yaml or other direct commands. Basically this includes anything we do not install via our CI/CD tool. This includes items we install this way in order to learn about Kubernetes, and things that cannot by installed by CI/CD like the CI/CD tool itself.
  • Crust: configuration that we install via our CI/CD tool, including low-level applications like storage systems, DNS management, identity providers, and so forth. Nothing in this section is interesting to an end-user, but end-user apps rely on what we do in this layer.
  • Atmosphere: apps we want to install for users (even if the only users are ourselves).