fix: Use eu-central network zone, handle existing SSH key
Some checks failed
Deploy Cluster / Terraform (push) Failing after 20s
Deploy Cluster / Ansible (push) Has been skipped

This commit is contained in:
2026-02-28 21:54:49 +00:00
parent 99408f55fd
commit a42653b370
3 changed files with 17 additions and 3 deletions

View File

@@ -6,6 +6,6 @@ resource "hcloud_network" "cluster" {
resource "hcloud_network_subnet" "servers" {
network_id = hcloud_network.cluster.id
type = "cloud"
network_zone = "${var.location}-network"
network_zone = "eu-central"
ip_range = var.subnet_cidr
}

View File

@@ -10,7 +10,7 @@ resource "hcloud_server" "control_plane" {
server_type = var.control_plane_type
image = data.hcloud_image.ubuntu.id
location = var.location
ssh_keys = [hcloud_ssh_key.cluster.id]
ssh_keys = [data.hcloud_ssh_key.cluster.id]
labels = {
cluster = var.cluster_name
@@ -37,7 +37,7 @@ resource "hcloud_server" "workers" {
server_type = var.worker_type
image = data.hcloud_image.ubuntu.id
location = var.location
ssh_keys = [hcloud_ssh_key.cluster.id]
ssh_keys = [data.hcloud_ssh_key.cluster.id]
labels = {
cluster = var.cluster_name

View File

@@ -2,7 +2,21 @@ data "local_file" "ssh_public_key" {
filename = pathexpand(var.ssh_public_key)
}
data "hcloud_ssh_keys" "all_keys" {}
locals {
existing_key = try([
for key in data.hcloud_ssh_keys.all_keys.ssh_keys :
key if key.name == "${var.cluster_name}-ssh-key"
][0], null)
}
resource "hcloud_ssh_key" "cluster" {
count = local.existing_key == null ? 1 : 0
name = "${var.cluster_name}-ssh-key"
public_key = data.local_file.ssh_public_key.content
}
data "hcloud_ssh_key" "cluster" {
fingerprint = local.existing_key != null ? local.existing_key.fingerprint : hcloud_ssh_key.cluster[0].fingerprint
}