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}