main
 1variable "hcloud_token" {
 2  description = "Hetzner Cloud API token"
 3  type        = string
 4  sensitive   = true
 5}
 6
 7variable "location" {
 8  description = "Hetzner datacenter location"
 9  type        = string
10  default     = "fsn1" # Falkenstein, Germany
11}
12
13variable "server_type" {
14  description = "Hetzner server type"
15  type        = string
16  default     = "cx23" # 2 vCPU, 4GB RAM, 40GB NVMe, 20TB traffic
17}
18
19variable "ssh_public_keys" {
20  description = "Map of SSH public key name to file path"
21  type        = map(string)
22  default = {
23    "kyushu"  = "~/.ssh/kyushu.pub"        # Non-interactive, needed for nixos-anywhere
24    "homelab" = "~/.ssh/id_homelab_sk.pub"  # Yubikey SK key for homelab servers
25  }
26}