diff --git a/deployment/flake-part.nix b/deployment/flake-part.nix index 5a2ea7f6..79052860 100644 --- a/deployment/flake-part.nix +++ b/deployment/flake-part.nix @@ -2,7 +2,7 @@ let allVmIds = builtins.genList (x: 100 + x) 156; # 100 -- 255 - makeInstaller = import ./makeInstaller.nix; + makeInstaller = import ../infra/makeInstaller.nix; in { @@ -31,9 +31,10 @@ in inherit (builtins) mapAttrs; in mapAttrs ( - vmname: + vmname: nixosConfiguration: makeInstaller { inherit (inputs) nixpkgs; + inherit nixosConfiguration; hostKeys = { ed25519 = { private = ./hostKeys/${vmname}/ssh_host_ed25519_key; @@ -52,9 +53,11 @@ in makeProcolixVmResource = vmid: vmconfig: { type = providers.local.exec; imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos ]; - ssh.opts = ""; - ssh.host = "95.215.187.${toString vmid}"; - ssh.hostPublicKey = readFile ./hostKeys/fedi${toString vmid}/ssh_host_ed25519_key.pub; + + ssh = { + host = "95.215.187.${toString vmid}"; + hostPublicKey = readFile ./hostKeys/fedi${toString vmid}/ssh_host_ed25519_key.pub; + }; nixpkgs = inputs.nixpkgs; nixos.module = { @@ -62,7 +65,7 @@ in vmconfig { procolix.vmid = vmid; } ./procolixVm.nix - inputs.snf.nixosModules.fediversity + self.nixosModules.fediversity inputs.disko.nixosModules.default ]; }; @@ -70,11 +73,9 @@ in in { - providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; + providers = { inherit (inputs.nixops4.modules.nixops4Provider) local; }; resources = { - fedi100 = makeProcolixVmResource 100 { }; - fedi101 = makeProcolixVmResource 101 { fediversity = { enable = true; @@ -107,14 +108,6 @@ in }; } ); - - fedi120 = makeProcolixVmResource 120 { - fediversity = { - enable = true; - domain = "fedi120.abundos.eu"; - pixelfed.enable = true; - }; - }; }; }; } diff --git a/deployment/proxmox/provision.sh b/deployment/proxmox/provision.sh index dba60b37..74b92717 100755 --- a/deployment/proxmox/provision.sh +++ b/deployment/proxmox/provision.sh @@ -28,24 +28,27 @@ debug=false help () { cat <&2 '\033[37m'; printf >&2 "$@"; printf >&2 '\033[0m\n'; fi } +if [ -f .proxmox ]; then + . "$PWD"/.proxmox +fi + while [ $# -gt 0 ]; do argument=$1 shift @@ -78,12 +85,12 @@ while [ $# -gt 0 ]; do esac done +if [ -z "$vm_ids" ]; then + die_with_help "Required: at least one VM id.\n" +fi + if [ -z "$username" ] || [ -z "$password" ]; then - if [ -f .proxmox ]; then - { read -r username; read -r password; } < .proxmox - else - die_with_help "Required: '--username' and '--password'.\n" - fi + die_with_help "Required: '--username' and '--password'.\n" fi readonly sockets diff --git a/deployment/proxmox/remove.sh b/deployment/proxmox/remove.sh index b84323cf..9555380b 100755 --- a/deployment/proxmox/remove.sh +++ b/deployment/proxmox/remove.sh @@ -11,7 +11,7 @@ readonly api_url=https://192.168.51.81:8006/api2/json ## now, let us just use `node051` everywhere. readonly node=node051 -readonly tmpdir=/tmp/proxmox-provision-$RANDOM +readonly tmpdir=/tmp/proxmox-remove-$RANDOM mkdir $tmpdir ################################################################################ @@ -23,18 +23,22 @@ vm_ids= help () { cat <