variable "location" { description = "Hetzner datacenter (nbg1=Nuremberg, fsn1=Falkenstein, hel1=Helsinki, ash=Ashburn, hil=Hillsboro)" type = string default = "nbg1" } variable "server_type" { description = <<-EOT Hetzner server type. Must be x86 — the flake is x86_64-linux; NEVER use cax* (ARM). cpx32 = AMD 4 vCPU / 8 GB (default; replaces cpx31 which is retired in some DCs). cx33 = Intel 4 vCPU / 8 GB (alternative). EOT type = string default = "cpx32" validation { condition = !startswith(var.server_type, "cax") error_message = "ARM server types (cax*) are not supported — the cc-ci flake is x86_64-linux only." } } variable "image" { description = "Base OS image. nixos-infect supports debian-12 and ubuntu-24.04. debian-12 preferred." type = string default = "debian-12" } variable "ssh_public_key" { description = "SSH public key content (the full line, e.g. 'ssh-ed25519 AAAA... comment'). Registered with Hetzner for root access post-infect. Pass via TF_VAR_ssh_public_key or terraform.tfvars (gitignored)." type = string } variable "server_name" { description = "Hetzner server name and initial NixOS hostname" type = string default = "cc-ci" }