diff --git a/deployment/check/common/data-model.nix b/deployment/check/common/data-model.nix index 3f069333..e6d7e807 100644 --- a/deployment/check/common/data-model.nix +++ b/deployment/check/common/data-model.nix @@ -32,6 +32,7 @@ let vlanId imageDatastoreId vmDatastoreId + cdDatastoreId ipv4Gateway ipv4Address ipv6Gateway @@ -352,6 +353,7 @@ let vlanId imageDatastoreId vmDatastoreId + cdDatastoreId ipv4Gateway ipv4Address ipv6Gateway diff --git a/deployment/check/data-model-tf-proxmox/nixosTest.nix b/deployment/check/data-model-tf-proxmox/nixosTest.nix index 920b30f1..21da9375 100644 --- a/deployment/check/data-model-tf-proxmox/nixosTest.nix +++ b/deployment/check/data-model-tf-proxmox/nixosTest.nix @@ -27,6 +27,7 @@ let vlanId = 0; imageDatastoreId = "local"; vmDatastoreId = "local"; + cdDatastoreId = "local"; ipv4Gateway = "192.168.1.1"; ipv4Address = "192.168.1.236/24"; ipv6Gateway = ""; diff --git a/deployment/check/data-model-tf/options.nix b/deployment/check/data-model-tf/options.nix index e259a4c6..6a526037 100644 --- a/deployment/check/data-model-tf/options.nix +++ b/deployment/check/data-model-tf/options.nix @@ -54,6 +54,11 @@ in type = types.str; default = "local"; }; + cdDatastoreId = mkOption { + description = "ID of the datastore of the virtual CD-rom drive to use for cloud-init."; + type = types.str; + default = "local"; + }; ipv4Gateway = mkOption { description = "Gateway for IPv4."; type = types.str; diff --git a/deployment/data-model.nix b/deployment/data-model.nix index abc1e82f..67a857a1 100644 --- a/deployment/data-model.nix +++ b/deployment/data-model.nix @@ -349,6 +349,11 @@ let type = types.str; default = "local"; }; + cdDatastoreId = mkOption { + description = "ID of the datastore of the virtual CD-rom drive to use for cloud-init."; + type = types.str; + default = "local"; + }; ipv4Gateway = mkOption { description = "Gateway for IPv4."; type = types.str; @@ -390,6 +395,7 @@ let vlanId imageDatastoreId vmDatastoreId + cdDatastoreId ipv4Gateway ipv4Address ipv6Gateway @@ -464,6 +470,7 @@ let vlan_id = vlanId; image_datastore_id = imageDatastoreId; vm_datastore_id = vmDatastoreId; + cd_datastore_id = cdDatastoreId; ipv4_gateway = ipv4Gateway; ipv4_address = ipv4Address; ipv6_gateway = ipv6Gateway; diff --git a/deployment/run/tf-proxmox/main.tf b/deployment/run/tf-proxmox/main.tf index ed00f67e..9bdd4adf 100644 --- a/deployment/run/tf-proxmox/main.tf +++ b/deployment/run/tf-proxmox/main.tf @@ -158,6 +158,7 @@ resource "proxmox_virtual_environment_vm" "nix_vm" { bios = "ovmf" initialization { + datastore_id = var.cd_datastore_id ip_config { ipv4 { gateway = var.ipv4_gateway diff --git a/deployment/run/tf-proxmox/variables.tf b/deployment/run/tf-proxmox/variables.tf index 60d6c92e..eb0c90fe 100644 --- a/deployment/run/tf-proxmox/variables.tf +++ b/deployment/run/tf-proxmox/variables.tf @@ -76,6 +76,12 @@ variable "vm_datastore_id" { default = "local" } +variable "cd_datastore_id" { + description = "ID of the datastore of the virtual CD-rom drive to use for cloud-init." + type = string + default = "local" +} + variable "ipv4_gateway" { description = "Gateway for IPv4." type = string diff --git a/flake.nix b/flake.nix index aeb01846..54d993fb 100644 --- a/flake.nix +++ b/flake.nix @@ -99,6 +99,7 @@ vlanId = 1305; imageDatastoreId = "local"; vmDatastoreId = "linstor_storage"; + cdDatastoreId = "local-lvm"; ipv4Gateway = "eth0"; ipv4Address = ""; # ipv4Address = "95.215.187.${vm-id}";