Skip to content

Instantly share code, notes, and snippets.

@lopcode
Created June 13, 2024 18:17
Show Gist options
  • Save lopcode/2928679d839ec3869d84c570614dc145 to your computer and use it in GitHub Desktop.
Save lopcode/2928679d839ec3869d84c570614dc145 to your computer and use it in GitHub Desktop.
resource "hcloud_placement_group" "runner" {
name = "runner-placement-group"
type = "spread"
}
locals {
fsn_datacenter = "fsn1-dc14"
nbg_datacenter = "nbg1-dc3"
runners = [
{
"datacenter": local.fsn_datacenter,
"private_ipv4": cidrhost(hcloud_network_subnet.eu_central_fsn.ip_range, 1)
},
{
"datacenter": local.fsn_datacenter,
"private_ipv4": cidrhost(hcloud_network_subnet.eu_central_fsn.ip_range, 2)
},
{
"datacenter": local.nbg_datacenter,
"private_ipv4": cidrhost(hcloud_network_subnet.eu_central_nbg.ip_range, 1)
},
]
}
module "runner" {
source = "./runner"
count = length(local.runners)
datacenter = local.runners[count.index].datacenter
firewall_id = hcloud_firewall.runner.id
placement_group_id = hcloud_placement_group.runner.id
private_ipv4 = local.runners[count.index].private_ipv4
network_id = hcloud_network.private.id
ssh_key_id = hcloud_ssh_key.terraform_ssh.id
server_type = "cax21"
depends_on = [
hcloud_network_subnet.eu_central_fsn,
hcloud_network_subnet.eu_central_nbg,
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment