Introduction
Introduction Statistics Contact Development Disclaimer Help
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)
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.