fix: Simplify SSH key handling - delete existing key from Hetzner first
Some checks failed
Deploy Cluster / Terraform (push) Failing after 24s
Deploy Cluster / Ansible (push) Has been skipped

This commit is contained in:
2026-02-28 21:58:19 +00:00
parent a42653b370
commit 1607387529
2 changed files with 2 additions and 16 deletions

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 = [data.hcloud_ssh_key.cluster.id]
ssh_keys = [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 = [data.hcloud_ssh_key.cluster.id]
ssh_keys = [hcloud_ssh_key.cluster.id]
labels = {
cluster = var.cluster_name

View File

@@ -2,21 +2,7 @@ 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
}