This commit is contained in:
Raphaël Billet
2025-12-04 10:46:18 +01:00
parent 3a5b786b36
commit 0c07311b0d
4 changed files with 113 additions and 55 deletions
+46 -27
View File
@@ -174,38 +174,42 @@ files_generation() {
export IMMICH_DB_DATABASE_NAME="$(openssl rand -hex 10)"
export IMMICH_DB_USERNAME="$(openssl rand -hex 10)"
export IMMICH_DB_PASSWORD="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_1="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_2="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_3="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_4="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_5="$(openssl rand -base64 32 | tr -d '\=+/')"
export DATA_DISK_6="$(openssl rand -base64 32 | tr -d '\=+/')"
export PARITY_DISK_1="$(openssl rand -base64 32 | tr -d '\=+/ ')"
export PARITY_DISK_2="$(openssl rand -base64 32 | tr -d '\=+/ ')"
export PARITY_DISK_3="$(openssl rand -base64 32 | tr -d '\=+/ ')"
export DATA_DISK_1_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export DATA_DISK_2_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export DATA_DISK_3_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export DATA_DISK_4_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export DATA_DISK_5_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export DATA_DISK_6_KEY="$(openssl rand -base64 10 | tr -d '\=+/')"
export PARITY_DISK_1_KEY="$(openssl rand -base64 10 | tr -d '\=+/ ')"
export PARITY_DISK_2_KEY="$(openssl rand -base64 10 | tr -d '\=+/ ')"
export PARITY_DISK_3_KEY="$(openssl rand -base64 10 | tr -d '\=+/ ')"
export BOOT_DISK_1_KEY="$(openssl rand -base64 10 | tr -d '\=+/ ')"
export BOOT_DISK_2_KEY="$(openssl rand -base64 10 | tr -d '\=+/ ')"
echo "$REMOTE_PASS" | ssh_to_host """
sudo -S mkdir -p /run/secrets/disks/
echo -n $DATA_DISK_1 | sudo -S tee /run/secrets/disks/data-disk-1 > /dev/null
echo -n $DATA_DISK_2 | sudo -S tee /run/secrets/disks/data-disk-2 > /dev/null
echo -n $DATA_DISK_3 | sudo -S tee /run/secrets/disks/data-disk-3 > /dev/null
echo -n $DATA_DISK_4 | sudo -S tee /run/secrets/disks/data-disk-4 > /dev/null
echo -n $DATA_DISK_5 | sudo -S tee /run/secrets/disks/data-disk-5 > /dev/null
echo -n $DATA_DISK_6 | sudo -S tee /run/secrets/disks/data-disk-6 > /dev/null
echo -n $PARITY_DISK_1 | sudo -S tee /run/secrets/disks/parity-disk-1 > /dev/null
echo -n $PARITY_DISK_2 | sudo -S tee /run/secrets/disks/parity-disk-2 > /dev/null
echo -n $PARITY_DISK_3 | sudo -S tee /run/secrets/disks/parity-disk-3 > /dev/null
echo -n $DATA_DISK_1_KEY | sudo -S tee /run/secrets/disks/data-disk-1 > /dev/null
echo -n $DATA_DISK_2_KEY | sudo -S tee /run/secrets/disks/data-disk-2 > /dev/null
echo -n $DATA_DISK_3_KEY | sudo -S tee /run/secrets/disks/data-disk-3 > /dev/null
echo -n $DATA_DISK_4_KEY | sudo -S tee /run/secrets/disks/data-disk-4 > /dev/null
echo -n $DATA_DISK_5_KEY | sudo -S tee /run/secrets/disks/data-disk-5 > /dev/null
echo -n $DATA_DISK_6_KEY | sudo -S tee /run/secrets/disks/data-disk-6 > /dev/null
echo -n $PARITY_DISK_1_KEY | sudo -S tee /run/secrets/disks/parity-disk-1 > /dev/null
echo -n $PARITY_DISK_2_KEY | sudo -S tee /run/secrets/disks/parity-disk-2 > /dev/null
echo -n $PARITY_DISK_3_KEY | sudo -S tee /run/secrets/disks/parity-disk-3 > /dev/null
echo -n $BOOT_DISK_1_KEY | sudo -S tee /run/secrets/disks/boot-disk-1 > /dev/null
echo -n $BOOT_DISK_2_KEY | sudo -S tee /run/secrets/disks/boot-disk-2 > /dev/null
"""
mkdir -p extra-files/run/secrets/disks/
echo -n $DATA_DISK_1 > extra-files/run/secrets/disks/data-disk-1
echo -n $DATA_DISK_2 > extra-files/run/secrets/disks/data-disk-2
echo -n $DATA_DISK_3 > extra-files/run/secrets/disks/data-disk-3
echo -n $DATA_DISK_4 > extra-files/run/secrets/disks/data-disk-4
echo -n $DATA_DISK_5 > extra-files/run/secrets/disks/data-disk-5
echo -n $DATA_DISK_6 > extra-files/run/secrets/disks/data-disk-6
echo -n $PARITY_DISK_1 > extra-files/run/secrets/disks/parity-disk-1
echo -n $PARITY_DISK_2 > extra-files/run/secrets/disks/parity-disk-2
echo -n $PARITY_DISK_3 > extra-files/run/secrets/disks/parity-disk-3
echo -n $DATA_DISK_1_KEY > extra-files/run/secrets/disks/data-disk-1
echo -n $DATA_DISK_2_KEY > extra-files/run/secrets/disks/data-disk-2
echo -n $DATA_DISK_3_KEY > extra-files/run/secrets/disks/data-disk-3
echo -n $DATA_DISK_4_KEY > extra-files/run/secrets/disks/data-disk-4
echo -n $DATA_DISK_5_KEY > extra-files/run/secrets/disks/data-disk-5
echo -n $DATA_DISK_6_KEY > extra-files/run/secrets/disks/data-disk-6
echo -n $PARITY_DISK_1_KEY > extra-files/run/secrets/disks/parity-disk-1
echo -n $PARITY_DISK_2_KEY > extra-files/run/secrets/disks/parity-disk-2
echo -n $PARITY_DISK_3_KEY > extra-files/run/secrets/disks/parity-disk-3
echo -e "\n ✅ Encrypting secrets in the correct file..."
envsubst < "config-files/sops-nix/secrets.yaml" | sops encrypt --filename-override secrets.yaml \
@@ -486,6 +490,19 @@ deploy() {
sleep 1
}
sum_up() {
echo $DATA_DISK_1_KEY
echo $DATA_DISK_2_KEY
echo $DATA_DISK_3_KEY
echo $DATA_DISK_4_KEY
echo $DATA_DISK_5_KEY
echo $DATA_DISK_6_KEY
echo $PARITY_DISK_1_KEY
echo $PARITY_DISK_2_KEY
echo $PARITY_DISK_3_KEY
}
postrun_action() {
echo ""
}
@@ -553,6 +570,8 @@ elif [[ "$ACTION_ANSWER" == "[2] 💽 Deploy NixOS on a remote machine with a fi
files_generation
disk_config_generation
deploy
sum_up
postrun_action
elif [[ "$ACTION_ANSWER" == "[3] 🛠️ Update a NixOS remote machine" ]]; then
echo -e "\n ➡️ Proceeding with update…"
gum style --border normal --margin "1" --padding "1 2" --border-foreground 212 "➡️ On the target host : make sure the NixOS installation you want