aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md13
-rwxr-xr-xdeploy_nixos4
-rwxr-xr-xdeploy_wg6
3 files changed, 17 insertions, 6 deletions
diff --git a/README.md b/README.md
index f796b3e..3c2a505 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ Basically:
- All existing administrators pull their key and sign it
- An existing administrator reencrypt the keystore with this new key and push it
- The new administrator clone the repo and check that they can decrypt the secrets
+ - Finally, the new administrator must choose a password to operate over SSH with `./passwd prod rick` where `rick` is the target username
## How to create files for a new zone
@@ -26,11 +27,19 @@ Basically:
Basically:
- Create your `site` file in `cluster/prod/site/` folder
- Create your `node` files in `cluster/prod/node/` folder
- - Add your wireguard configuration to `cluster/prod/cluster.nix`
+ - Add your wireguard configuration to `cluster/prod/cluster.nix` (you will have to edit your NAT config manually)
## How to deploy a Nix configuration on a fresh node
-*To be written*
+We suppose that the node name is `datura`.
+Start by doing the deployment one node at a time, you will have plenty of time
+in your operator's life to break everything through automation.
+
+Run:
+ - `./deploy_wg prod datura` - to generate wireguard's keys
+ - `./deploy_nixos prod datura` - to deploy the nix configuration files (need to be redeployed on all nodes as hte new wireguard conf is needed everywhere)
+ - `./deploy_password prod datura` - to deploy user's passwords
+ - `./deploy_pki prod datura` - to deploy Nomad's and Consul's PKI
## How to operate a node
diff --git a/deploy_nixos b/deploy_nixos
index f62843d..0bd1b4c 100755
--- a/deploy_nixos
+++ b/deploy_nixos
@@ -7,8 +7,4 @@ copy cluster/$CLUSTER/cluster.nix /etc/nixos/cluster.nix
copy cluster/$CLUSTER/node/$NIXHOST.nix /etc/nixos/node.nix
copy cluster/$CLUSTER/node/$NIXHOST.site.nix /etc/nixos/site.nix
-cmd 'mkdir -p /var/lib/deuxfleurs/wireguard-keys'
-cmd 'test -f /var/lib/deuxfleurs/wireguard-keys/private || (wg genkey > /var/lib/deuxfleurs/wireguard-keys/private; chmod 600 /var/lib/deuxfleurs/wireguard-keys/private)'
-cmd 'echo "Public key: $(wg pubkey < /var/lib/deuxfleurs/wireguard-keys/private)"'
-
cmd nixos-rebuild switch --show-trace
diff --git a/deploy_wg b/deploy_wg
new file mode 100755
index 0000000..ba67b2e
--- /dev/null
+++ b/deploy_wg
@@ -0,0 +1,6 @@
+#!/usr/bin/env ./sshtool
+
+cmd 'nix-env -i wireguard'
+cmd 'mkdir -p /var/lib/deuxfleurs/wireguard-keys'
+cmd 'test -f /var/lib/deuxfleurs/wireguard-keys/private || (wg genkey > /var/lib/deuxfleurs/wireguard-keys/private; chmod 600 /var/lib/deuxfleurs/wireguard-keys/private)'
+cmd 'echo "Public key: $(wg pubkey < /var/lib/deuxfleurs/wireguard-keys/private)"'