Files
2025-04-22 15:42:18 +02:00

40 lines
840 B
HCL

locals {
packer_variables_file = "variables.pkrvars.hcl"
packer_variables = <<-EOT
%{ for key, value in var.packer_variables ~}
${key} = ${try(jsonencode(value), "\"${value}\"")}
%{ endfor ~}
EOT
}
resource "local_file" "packer_variables" {
filename = local.packer_variables_file
content = local.packer_variables
}
resource "docker_image" "packer" {
name = var.packer_image
keep_locally = true
}
resource "docker_container" "packer" {
image = docker_image.packer.image_id
name = "packer-builder-arm"
rm = true
tty = true
stdin_open = true
privileged = true
command = [
"build",
"-var-file=${local.packer_variables_file}",
var.packer_config
]
volumes {
container_path = "/dev"
host_path = "/dev"
}
volumes {
container_path = "/build"
host_path = "${path.cwd}"
}
}