propagate cd

Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
This commit is contained in:
Kiara Grouwstra 2025-10-13 15:38:49 +02:00
parent d73fa538c1
commit 09ef3ebbc7
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU
7 changed files with 23 additions and 0 deletions

View file

@ -32,6 +32,7 @@ let
vlanId vlanId
imageDatastoreId imageDatastoreId
vmDatastoreId vmDatastoreId
cdDatastoreId
ipv4Gateway ipv4Gateway
ipv4Address ipv4Address
ipv6Gateway ipv6Gateway
@ -352,6 +353,7 @@ let
vlanId vlanId
imageDatastoreId imageDatastoreId
vmDatastoreId vmDatastoreId
cdDatastoreId
ipv4Gateway ipv4Gateway
ipv4Address ipv4Address
ipv6Gateway ipv6Gateway

View file

@ -27,6 +27,7 @@ let
vlanId = 0; vlanId = 0;
imageDatastoreId = "local"; imageDatastoreId = "local";
vmDatastoreId = "local"; vmDatastoreId = "local";
cdDatastoreId = "local";
ipv4Gateway = "192.168.1.1"; ipv4Gateway = "192.168.1.1";
ipv4Address = "192.168.1.236/24"; ipv4Address = "192.168.1.236/24";
ipv6Gateway = ""; ipv6Gateway = "";

View file

@ -54,6 +54,11 @@ in
type = types.str; type = types.str;
default = "local"; 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 { ipv4Gateway = mkOption {
description = "Gateway for IPv4."; description = "Gateway for IPv4.";
type = types.str; type = types.str;

View file

@ -349,6 +349,11 @@ let
type = types.str; type = types.str;
default = "local"; 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 { ipv4Gateway = mkOption {
description = "Gateway for IPv4."; description = "Gateway for IPv4.";
type = types.str; type = types.str;
@ -390,6 +395,7 @@ let
vlanId vlanId
imageDatastoreId imageDatastoreId
vmDatastoreId vmDatastoreId
cdDatastoreId
ipv4Gateway ipv4Gateway
ipv4Address ipv4Address
ipv6Gateway ipv6Gateway
@ -464,6 +470,7 @@ let
vlan_id = vlanId; vlan_id = vlanId;
image_datastore_id = imageDatastoreId; image_datastore_id = imageDatastoreId;
vm_datastore_id = vmDatastoreId; vm_datastore_id = vmDatastoreId;
cd_datastore_id = cdDatastoreId;
ipv4_gateway = ipv4Gateway; ipv4_gateway = ipv4Gateway;
ipv4_address = ipv4Address; ipv4_address = ipv4Address;
ipv6_gateway = ipv6Gateway; ipv6_gateway = ipv6Gateway;

View file

@ -158,6 +158,7 @@ resource "proxmox_virtual_environment_vm" "nix_vm" {
bios = "ovmf" bios = "ovmf"
initialization { initialization {
datastore_id = var.cd_datastore_id
ip_config { ip_config {
ipv4 { ipv4 {
gateway = var.ipv4_gateway gateway = var.ipv4_gateway

View file

@ -76,6 +76,12 @@ variable "vm_datastore_id" {
default = "local" 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" { variable "ipv4_gateway" {
description = "Gateway for IPv4." description = "Gateway for IPv4."
type = string type = string

View file

@ -99,6 +99,7 @@
vlanId = 1305; vlanId = 1305;
imageDatastoreId = "local"; imageDatastoreId = "local";
vmDatastoreId = "linstor_storage"; vmDatastoreId = "linstor_storage";
cdDatastoreId = "local-lvm";
ipv4Gateway = "eth0"; ipv4Gateway = "eth0";
ipv4Address = ""; ipv4Address = "";
# ipv4Address = "95.215.187.${vm-id}"; # ipv4Address = "95.215.187.${vm-id}";