Nix system configuration for Deuxfleurs clusters
Find a file
2022-04-20 13:07:39 +02:00
app garage v0.7.0 on staging 2022-04-12 15:49:57 +02:00
cluster Updates; change crontab 2022-03-07 16:57:43 +01:00
doc permissions for apm writer 2022-03-08 22:41:01 +01:00
nix Wesher secret key in /var/lib/wesher/secrets 2022-04-20 10:50:42 +02:00
.gitignore Modularize and prepare to support multiple clusters 2022-02-09 12:09:49 +01:00
deploy_nixos Refactor deployment scripts 2022-04-20 13:03:29 +02:00
deploy_pki Refactor secrets 2022-04-20 13:07:39 +02:00
genpki.sh Config for prod cluster 2022-02-09 15:38:36 +01:00
README.md Refactor deployment scripts 2022-04-20 13:03:29 +02:00
ssh_known_hosts Reinstall cariacou with encryption 2022-02-26 00:00:10 +01:00
sshtool Refactor secrets 2022-04-20 13:07:39 +02:00
tlsenv.sh Add readme and cleanup a bit 2021-12-30 21:23:24 +01:00
tlsproxy.sh Modularize and prepare to support multiple clusters 2022-02-09 12:09:49 +01:00
upgrade_nixos Refactor deployment scripts 2022-04-20 13:03:29 +02:00

Deuxfleurs on NixOS!

This repository contains code to run Deuxfleur's infrastructure on NixOS.

It sets up the following:

  • A Wireguard mesh between all nodes
  • Consul, with TLS
  • Nomad, with TLS

The following scripts are available here:

  • deploy_nixos, the main script that updates the NixOS config
  • genpki.sh, a script to generate Consul and Nomad's TLS PKI (run this once only)
  • deploy_pki, a script that sets up all of the TLS secrets
  • upgrade_nixos, a script to upgrade NixOS
  • tlsproxy.sh, a script that allows non-TLS access to the TLS-secured Consul and Nomad, by running a simple local proxy with socat
  • tlsenv.sh, a script to be sourced (source tlsenv.sh) that configures the correct environment variables to use the Nomad and Consul CLI tools with TLS

Stuff should be started in this order:

  • app/core
  • app/frontend
  • app/garage-staging

At this point, we are able to have a systemd service called mountgarage that mounts Garage buckets in /mnt/garage-staging. This is used by the following services that can be launched afterwards:

  • app/im