| Moving cloudinit networking to templates. - infra - Terraform IoC for my remote… | |
| Log | |
| Files | |
| Refs | |
| README | |
| --- | |
| commit 8882e67f38a22800df1720760a4303b663b81c33 | |
| parent 18dc7341334c0ae572dd8e1fe37a9f5bfe91c598 | |
| Author: Jay Scott <[email protected]> | |
| Date: Thu, 18 Jul 2024 21:21:56 +0100 | |
| Moving cloudinit networking to templates. | |
| Diffstat: | |
| D local/cloudinit/blocky-net.yaml | 6 ------ | |
| R local/cloudinit/blocky-user.yaml -… | 0 | |
| D local/cloudinit/nas-net.yaml | 6 ------ | |
| R local/cloudinit/nas-user.yaml -> l… | 0 | |
| M local/main.tf | 6 ++++-- | |
| A local/templates/network.tftpl | 6 ++++++ | |
| M local/terraform.tfvars | 10 ++++++---- | |
| M local/variables.tf | 3 ++- | |
| 8 files changed, 18 insertions(+), 19 deletions(-) | |
| --- | |
| diff --git a/local/cloudinit/blocky-net.yaml b/local/cloudinit/blocky-net.yaml | |
| @@ -1,6 +0,0 @@ | |
| -version: 2 | |
| -ethernets: | |
| - eth0: | |
| - addresses: | |
| - - 192.168.2.10/24 | |
| - gateway4: 192.168.2.1 | |
| diff --git a/local/cloudinit/blocky-user.yaml b/local/cloudinit/blocky.yaml | |
| diff --git a/local/cloudinit/nas-net.yaml b/local/cloudinit/nas-net.yaml | |
| @@ -1,6 +0,0 @@ | |
| -version: 2 | |
| -ethernets: | |
| - eth0: | |
| - addresses: | |
| - - 192.168.2.14/24 | |
| - gateway4: 192.168.2.1 | |
| diff --git a/local/cloudinit/nas-user.yaml b/local/cloudinit/nas.yaml | |
| diff --git a/local/main.tf b/local/main.tf | |
| @@ -27,8 +27,10 @@ resource "incus_instance" "main" { | |
| image = each.value.image | |
| config = { | |
| - "cloud-init.user-data" = file(each.value.cloudinit_userdata) | |
| - "cloud-init.network-config" = file(each.value.cloudinit_network) | |
| + "cloud-init.user-data" = file(each.value.cloudinit_userdata) | |
| + "cloud-init.network-config" = templatefile("templates/network.tftpl", { | |
| + addr = each.value.net_addr, gw = each.value.net_gw | |
| + }) | |
| } | |
| dynamic "device" { | |
| diff --git a/local/templates/network.tftpl b/local/templates/network.tftpl | |
| @@ -0,0 +1,6 @@ | |
| +version: 2 | |
| +ethernets: | |
| + eth0: | |
| + addresses: | |
| + - ${addr} | |
| + gateway4: ${gw} | |
| diff --git a/local/terraform.tfvars b/local/terraform.tfvars | |
| @@ -1,13 +1,15 @@ | |
| nodes = { | |
| blocky = { | |
| image = "images:alpine/3.20/cloud" | |
| - cloudinit_userdata = "./cloudinit/blocky-user.yaml" | |
| - cloudinit_network = "./cloudinit/blocky-net.yaml" | |
| + cloudinit_userdata = "./cloudinit/blocky.yaml" | |
| + net_addr = "192.168.2.10/24" | |
| + net_gw = "192.168.2.1" | |
| } | |
| nas = { | |
| image = "images:alpine/3.20/cloud" | |
| - cloudinit_userdata = "./cloudinit/nas-user.yaml" | |
| - cloudinit_network = "./cloudinit/nas-net.yaml" | |
| + cloudinit_userdata = "./cloudinit/nas.yaml" | |
| + net_addr = "192.168.2.14/24" | |
| + net_gw = "192.168.2.1" | |
| devices = { | |
| storage = { | |
| type = "disk" | |
| diff --git a/local/variables.tf b/local/variables.tf | |
| @@ -3,7 +3,8 @@ variable "nodes" { | |
| type = map(object({ | |
| image = string | |
| cloudinit_userdata = string | |
| - cloudinit_network = string | |
| + net_addr = string | |
| + net_gw = string | |
| devices = optional(map(object({ | |
| type = string | |
| properties = map(any) |