Fediversity/deployment/run/tf-proxmox-template/main.tf
2025-10-25 21:53:31 +02:00

55 lines
1.1 KiB
HCL

terraform {
required_providers {
proxmox = {
source = "bpg/proxmox"
version = "= 0.81.0"
}
}
backend "http" {
}
}
locals {
dump_name = "qemu-nixos-fediversity-${var.category}.qcow2"
}
# https://registry.terraform.io/providers/bpg/proxmox/latest/docs
provider "proxmox" {
endpoint = "https://${var.host}:8006/"
# used for upload
ssh {
agent = true
username = "root"
}
}
# hash of our code directory, used to trigger re-deploy
# FIXME calculate separately to reduce false positives
data "external" "hash" {
program = ["sh", "-c", "echo \"{\\\"hash\\\":\\\"$(nix-hash ../../..)\\\"}\""]
}
resource "proxmox_virtual_environment_file" "upload" {
depends_on = [
data.external.hash,
]
content_type = "import"
datastore_id = var.image_datastore_id
node_name = var.node_name
overwrite = true
timeout_upload = 500
source_file {
path = var.image
file_name = local.dump_name
checksum = var.checksum
}
}
output "id" {
value = proxmox_virtual_environment_file.upload.id
}
output "path" {
value = proxmox_virtual_environment_file.upload.source_file[0].file_name
}