servers.tf
1 variable "talos_version" { 2 type = string 3 description = "Talos version to use" 4 default = "v1.6.1" 5 } 6 7 data "hcloud_image" "talos" { 8 with_selector = "os=talos,version=${var.talos_version}" 9 } 10 11 resource "hcloud_placement_group" "control_plane" { 12 name = "control-plane" 13 type = "spread" 14 labels = { 15 type = "control-plane" 16 } 17 } 18 19 resource "hcloud_primary_ip" "control_plane" { 20 name = "neptune" 21 type = "ipv4" 22 datacenter = "fsn1-dc14" 23 assignee_type = "server" 24 auto_delete = false 25 labels = { 26 "type" = "control-plane" 27 } 28 } 29 30 resource "hcloud_server" "control_plane" { 31 name = "neptune" 32 labels = { 33 type = "control-plane" 34 } 35 image = data.hcloud_image.talos.id 36 server_type = "cpx21" 37 datacenter = hcloud_primary_ip.control_plane.datacenter 38 placement_group_id = hcloud_placement_group.control_plane.id 39 backups = true 40 public_net { 41 ipv4_enabled = true 42 ipv4 = hcloud_primary_ip.control_plane.id 43 ipv6_enabled = true 44 } 45 46 user_data = data.talos_machine_configuration.control_plane.machine_configuration 47 }