Hello, I am building a custom image using Packer that I later want to provision with Terraform and make use of user_data when provisioning with Terraform.
However, seems the user_data has no effect when provisioning with Terraform.
Any way to get this to work?
Packer
We have something liek this for packer:
packer {
required_plugins {
upcloud = {
version = "v1.2.0"
source = "github.com/UpCloudLtd/upcloud"
}
}
}
source "upcloud" "vault" {
username = "${var.username}"
password = "${var.password}"
zone = "fi-hel1"
storage_name = "Debian GNU/Linux 11"
template_prefix = "deb-hashi-vault"
}
build {
sources = ["source.upcloud.vault"]
// ... more provisioning stuff here
}
Terraform
And something liek this with Terraform:
resource "upcloud_network" "private_network" {
name = "example_private_net"
zone = "fi-hel1"
# router = upcloud_router.example_router.id
ip_network {
address = "10.0.0.0/24"
dhcp = true
dhcp_default_route = false
family = "IPv4"
gateway = "10.0.0.1"
}
}
resource "upcloud_server" "vault" {
hostname = "vault-server"
zone = "fi-hel1"
plan = "1xCPU-1GB"
template {
# uuid of packer built image
storage = var.custom_image
size = 25
}
network_interface {
type = "public"
}
// Simple user_data test
user_data = "#!/bin/bash\ntouch /tmp/test.txt"
}
Hello, I am building a custom image using Packer that I later want to provision with Terraform and make use of
user_datawhen provisioning with Terraform.However, seems the
user_datahas no effect when provisioning with Terraform.Any way to get this to work?
Packer
We have something liek this for packer:
Terraform
And something liek this with Terraform: