forked from Deuxfleurs/nixcfg
27 lines
1.2 KiB
Text
Executable file
27 lines
1.2 KiB
Text
Executable file
#!/usr/bin/env ./sshtool
|
|
|
|
copy nix/configuration.nix /etc/nixos/configuration.nix
|
|
copy nix/deuxfleurs.nix /etc/nixos/deuxfleurs.nix
|
|
copy nix/remote-unlock.nix /etc/nixos/remote-unlock.nix
|
|
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
|
|
|
|
if [ "$CLUSTER" = "staging" ]; then
|
|
copy nix/nomad-driver-nix2.nix /etc/nixos/nomad-driver-nix2.nix
|
|
fi
|
|
|
|
|
|
if [ "$CLUSTER" = "prod" ]; then
|
|
cmd nixos-rebuild boot
|
|
message "-------------------------------------------------------------------------------------"
|
|
message "New NixOS configuration hasn't been applied, to avoid disturbing production services."
|
|
message "Please apply the following procedure to node '$NIXHOST':"
|
|
message "1. Drain node in Nomad so that all jobs are relocated elsewhere"
|
|
message "2. Reboot node manually. You can also take the opportunity to upgrade with:"
|
|
message " REBOOT_NODES=yes ./upgrade_nixos prod $NIXHOST"
|
|
message "3. Mark node as eligible again in Nomad"
|
|
message "-------------------------------------------------------------------------------------"
|
|
else
|
|
cmd nixos-rebuild switch
|
|
fi
|