diff --git a/proxmox/terraform/modules/node/main.tf b/proxmox/terraform/modules/node/main.tf --- a/proxmox/terraform/modules/node/main.tf +++ b/proxmox/terraform/modules/node/main.tf @@ -77,10 +77,13 @@ #### provisioning: (creation time only) connect through ssh # Let puppet do its install provisioner "remote-exec" { - inline = [ - "sed -i 's/127.0.1.1/${lookup(var.networks[0], "ip")}/g' /etc/hosts", - "puppet agent --server ${var.config["puppet_master"]} --environment=${var.config["puppet_environment"]} --waitforcert 60 --test || echo 'Node provisionned!'", - ] + inline = concat( + var.pre_provision_steps, + [ + "sed -i 's/127.0.1.1/${lookup(var.networks[0], "ip")}/g' /etc/hosts", + "puppet agent --server ${var.config["puppet_master"]} --environment=${var.config["puppet_environment"]} --waitforcert 60 --test || echo 'Node provisionned!'", + ] + ) connection { type = "ssh" user = "root" diff --git a/proxmox/terraform/modules/node/variables.tf b/proxmox/terraform/modules/node/variables.tf --- a/proxmox/terraform/modules/node/variables.tf +++ b/proxmox/terraform/modules/node/variables.tf @@ -87,3 +87,10 @@ description = "Local config to avoid duplication from the main module" type = map(string) } + + +variable "pre_provision_steps" { + description = "List of sequential provisioning steps to apply" + type = list(string) + default = [] +} diff --git a/proxmox/terraform/staging/staging.tf b/proxmox/terraform/staging/staging.tf --- a/proxmox/terraform/staging/staging.tf +++ b/proxmox/terraform/staging/staging.tf @@ -51,13 +51,11 @@ size = "20G" } ] - # inline = [ - # "sysctl -w net.ipv4.ip_forward=1", - # "sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf", - # "iptables -t nat -A POSTROUTING -s 192.168.128.0/24 -o eth0 -j MASQUERADE", - # "sed -i 's/127.0.1.1/${var.gateway_ip}/g' /etc/hosts", - # "puppet agent --server ${var.puppet_master} --environment=${var.puppet_environment} --waitforcert 60 --test || echo 'Node provisionned!'", - # ] + pre_provision_steps = [ + "sysctl -w net.ipv4.ip_forward=1", + "sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf", + "iptables -t nat -A POSTROUTING -s 192.168.128.0/24 -o eth0 -j MASQUERADE", + ] } module "storage0" {