forked from fediversity/fediversity
propagate ips
Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
This commit is contained in:
parent
40fad454a7
commit
d3a4137900
7 changed files with 102 additions and 13 deletions
|
|
@ -32,6 +32,10 @@ let
|
||||||
vlanId
|
vlanId
|
||||||
imageDatastoreId
|
imageDatastoreId
|
||||||
vmDatastoreId
|
vmDatastoreId
|
||||||
|
ipv4Gateway
|
||||||
|
ipv4Address
|
||||||
|
ipv6Gateway
|
||||||
|
ipv6Address
|
||||||
;
|
;
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
eval =
|
eval =
|
||||||
|
|
@ -348,6 +352,10 @@ let
|
||||||
vlanId
|
vlanId
|
||||||
imageDatastoreId
|
imageDatastoreId
|
||||||
vmDatastoreId
|
vmDatastoreId
|
||||||
|
ipv4Gateway
|
||||||
|
ipv4Address
|
||||||
|
ipv6Gateway
|
||||||
|
ipv6Address
|
||||||
;
|
;
|
||||||
root-path = pathToRoot;
|
root-path = pathToRoot;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,10 @@ let
|
||||||
vlanId = 0;
|
vlanId = 0;
|
||||||
imageDatastoreId = "local";
|
imageDatastoreId = "local";
|
||||||
vmDatastoreId = "local";
|
vmDatastoreId = "local";
|
||||||
|
ipv4Gateway = "192.168.1.1";
|
||||||
|
ipv4Address = "192.168.1.236/24";
|
||||||
|
ipv6Gateway = "";
|
||||||
|
ipv6Address = "";
|
||||||
};
|
};
|
||||||
# FIXME generate the image `nixos-generate` was to make, but now do it for a desired `-c configuration.nix` rather than whatever generic thing now
|
# FIXME generate the image `nixos-generate` was to make, but now do it for a desired `-c configuration.nix` rather than whatever generic thing now
|
||||||
deployment =
|
deployment =
|
||||||
|
|
|
||||||
|
|
@ -54,5 +54,25 @@ in
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "local";
|
default = "local";
|
||||||
};
|
};
|
||||||
|
ipv4Gateway = mkOption {
|
||||||
|
description = "Gateway for IPv4.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv4Address = mkOption {
|
||||||
|
description = "IPv4 address.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv6Gateway = mkOption {
|
||||||
|
description = "Gateway for IPv6.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv6Address = mkOption {
|
||||||
|
description = "IPv6 address.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -349,6 +349,26 @@ let
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "local";
|
default = "local";
|
||||||
};
|
};
|
||||||
|
ipv4Gateway = mkOption {
|
||||||
|
description = "Gateway for IPv4.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv4Address = mkOption {
|
||||||
|
description = "IPv4 address.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv6Gateway = mkOption {
|
||||||
|
description = "Gateway for IPv6.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ipv6Address = mkOption {
|
||||||
|
description = "IPv6 address.";
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
run = mkOption {
|
run = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
# error: The option `tf-deployment.tf-host.run' is read-only, but it's set multiple times.
|
# error: The option `tf-deployment.tf-host.run' is read-only, but it's set multiple times.
|
||||||
|
|
@ -370,6 +390,10 @@ let
|
||||||
vlanId
|
vlanId
|
||||||
imageDatastoreId
|
imageDatastoreId
|
||||||
vmDatastoreId
|
vmDatastoreId
|
||||||
|
ipv4Gateway
|
||||||
|
ipv4Address
|
||||||
|
ipv6Gateway
|
||||||
|
ipv6Address
|
||||||
;
|
;
|
||||||
inherit (ssh)
|
inherit (ssh)
|
||||||
host
|
host
|
||||||
|
|
@ -440,6 +464,10 @@ let
|
||||||
vlan_id = vlanId;
|
vlan_id = vlanId;
|
||||||
image_datastore_id = imageDatastoreId;
|
image_datastore_id = imageDatastoreId;
|
||||||
vm_datastore_id = vmDatastoreId;
|
vm_datastore_id = vmDatastoreId;
|
||||||
|
ipv4_gateway = ipv4Gateway;
|
||||||
|
ipv4_address = ipv4Address;
|
||||||
|
ipv6_gateway = ipv6Gateway;
|
||||||
|
ipv6_address = ipv6Address;
|
||||||
};
|
};
|
||||||
tf-env = pkgs.callPackage ./run/tf-env.nix {
|
tf-env = pkgs.callPackage ./run/tf-env.nix {
|
||||||
inherit httpBackend;
|
inherit httpBackend;
|
||||||
|
|
|
||||||
|
|
@ -163,19 +163,18 @@ resource "proxmox_virtual_environment_vm" "nix_vm" {
|
||||||
scsi_hardware = "virtio-scsi-single"
|
scsi_hardware = "virtio-scsi-single"
|
||||||
bios = "ovmf"
|
bios = "ovmf"
|
||||||
|
|
||||||
# # used only for cloud-init
|
initialization {
|
||||||
# initialization {
|
ip_config {
|
||||||
# ip_config {
|
ipv4 {
|
||||||
# ipv4 {
|
gateway = var.ipv4_gateway
|
||||||
# gateway = "eth0"
|
address = var.ipv4_address
|
||||||
# address = "95.215.187.${proxmox_virtual_environment_vm.nix_vm.vm_id}" # error: self-referential block
|
}
|
||||||
# }
|
# ipv6 {
|
||||||
# ipv6 {
|
# gateway = var.ipv6_gateway
|
||||||
# gateway = "eth0"
|
# address = var.ipv6_address
|
||||||
# address = "2a00:51c0:13:1305::${proxmox_virtual_environment_vm.nix_vm.vm_id}"
|
# }
|
||||||
# }
|
}
|
||||||
# }
|
}
|
||||||
# }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "null_resource" "wait_for_ssh" {
|
resource "null_resource" "wait_for_ssh" {
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,30 @@ variable "vm_datastore_id" {
|
||||||
default = "local"
|
default = "local"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "ipv4_gateway" {
|
||||||
|
description = "Gateway for IPv4."
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "ipv4_address" {
|
||||||
|
description = "IPv4 address."
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "ipv6_gateway" {
|
||||||
|
description = "Gateway for IPv6."
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "ipv6_address" {
|
||||||
|
description = "IPv6 address."
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
variable "category" {
|
variable "category" {
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,12 @@
|
||||||
vlanId = 1305;
|
vlanId = 1305;
|
||||||
imageDatastoreId = "local";
|
imageDatastoreId = "local";
|
||||||
vmDatastoreId = "linstor_storage";
|
vmDatastoreId = "linstor_storage";
|
||||||
|
ipv4Gateway = "eth0";
|
||||||
|
ipv4Address = "";
|
||||||
|
# ipv4Address = "95.215.187.${vm-id}";
|
||||||
|
ipv6Gateway = "eth0";
|
||||||
|
ipv6Address = "";
|
||||||
|
# ipv6Address = "2a00:51c0:13:1305::${vm-id}";
|
||||||
};
|
};
|
||||||
# opt not to pass `inputs`, as we could only pass serializable arguments through to its self-call
|
# opt not to pass `inputs`, as we could only pass serializable arguments through to its self-call
|
||||||
})."tf-proxmox-deployment".tf-proxmox-host;
|
})."tf-proxmox-deployment".tf-proxmox-host;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue