/ neptune / servers.tf
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  }