resource "lxd_storage_pool" "virt" { name = "virt-pool" driver = "zfs" config = { source = "/var/snap/lxd/common/lxd/disks/virt-pool.img" "zfs.pool_name" = "virt-pool" size = "50GB" } } resource "lxd_volume" "volume" { name = "virt-volume" pool = lxd_storage_pool.virt.name config = { size = "10GB" } } resource "lxd_network" "lxdbr1" { name = "lxdbr1" type = "bridge" config = { "ipv4.address" = "10.0.10.1/24" "ipv4.nat" = "true" "ipv6.address" = "none" } } resource "lxd_profile" "virt" { name = "virt" description = "virt LXD profile" config = { "limits.cpu" = 2 "limits.memory" = "3GB" } device { name = "eth0" type = "nic" properties = { name = "eth0" network = "lxdbr1" } } device { type = "disk" name = "root" properties = { pool = lxd_storage_pool.virt.name path = "/" size = "5GiB" } } } locals { # 'lxc.idmap' and 'lxc.cgroup2.devices.allow' # couse errors lxc-raw = <>/etc/pam.d/common-session EOF } resource "lxd_cached_image" "jammy" { source_remote = "ubuntu" source_image = "22.04" } resource "lxd_instance" "ubuntu" { name = "ubuntu" image = lxd_cached_image.jammy.fingerprint profiles = ["virt"] ephemeral = false config = { "boot.autostart" = true "user.user-data" = local.cloud-init-config # "raw.lxc" = local.lxc-raw } limits = { cpu = 2 } device { name = "virt-volume" type = "disk" properties = { path = "/mnt/data" source = lxd_volume.volume.name pool = lxd_storage_pool.virt.name } } device { name = "shareddisk" type = "disk" properties = { path = "/mnt/raid5" source = "/mnt/raid5" } } }