feat(storage): add impermanence

We'll setup impermanence for a1d1 based on some RAIDed together hard
drives we have. In doing so, we'll gain the ability to keep some
important data persistent while losing everything else.

This is also useful when looking for what to backup.

Change-Id: I51a9dfcaea46a4a21e601615ddd7288c91effa9e
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/724
Tested-by: Samuel Shuert <coded@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
5 files changed
tree: 69ac78d376cf963f64e829a71e8d157ebb9840dd
  1. .reuse/
  2. .vscode/
  3. lib/
  4. LICENSES/
  5. modules/
  6. shells/
  7. systems/
  8. .editorconfig
  9. .envrc
  10. .gitignore
  11. .gitreview
  12. .gitreview.license
  13. CONTRIBUTORS.md
  14. flake.lock
  15. flake.lock.license
  16. flake.nix
  17. README.md
README.md

Clicks - Infrastructure

This repository contains system configuration for Clicks's infrastructure.

Config

Config is written using Snowfall lib. It keeps us organized and has some nice features like namespaces.

Systems

a stands for "area", d stands for "device". So for example, a1d1 is device 1 in area 1. Areas are generally managed by one member of Clicks, who has full access to all of the servers in that area. If you require help for a specific area you can email admin@clicks.codes and in the subject line include the area you want help for.

SystemDescriptionAddress
a1d1Primary Hostd1.a1.clicks.domains
a1d2Build Serverd2.a1.clicks.domains

Deploying

Deploys are done with deploy-rs, you'll need to be able to ssh into a machine with its hostname (either by a nifty .ssh/config rule or tailscale).

Once you've done that, you'll be able to deploy with

$ deploy .#MACHINE_NAME