terraform { required_providers { incus = { source = "lxc/incus" version = "0.3.1" } } } provider "incus" { # Configuration options generate_client_certificates = true accept_remote_certificate = true remote { name = "incus-server" default = true scheme = "https" port = "8443" address = "192.168.2.67" token = "eyJjbGllbnRfbmFtZSI6Implbm5raW5zIiwiZmluZ2VycHJpbnQiOiIxNmViYmE5YjU2ZGQwOGVmZTRkZjIwMGUzM2JhZDBjNmU5ZTQ5ZTlkZDM4MDhiNWE2MDkzNDgyZGQzOTI2ZTliIiwiYWRkcmVzc2VzIjpbIjE5Mi4xNjguMi42Nzo4NDQzIl0sInNlY3JldCI6ImIwNjhlMGY0ZjM3M2ExMzE0MmY3NDI1ZTc4NTVlZjg5YmFiN2ZiZDkyMWY3MzhjNDJkN2E2MTc4ZmM0YzUwMzIiLCJleHBpcmVzX2F0IjoiMDAwMS0wMS0wMVQwMDowMDowMFoifQ==" } } data "template_file" "cloud-init" { template = file("${path.module}/cloud-init.yaml") } resource "incus_project" "lamp" { name = "lamp" description = "terraform - cloud-init - ansible" } resource "incus_profile" "lamp" { project = incus_project.lamp.name name = "default" config = { "cloud-init.user-data" = data.template_file.cloud-init.rendered } device { type = "nic" name = "eth0" properties = { nictype = "bridged" parent = "br0" } } device { type = "disk" name = "root" properties = { pool = "default" path = "/" } } }