feat: migrate cluster baseline from Hetzner to Proxmox
Replace Hetzner infrastructure and cloud-provider assumptions with Proxmox VM clones, kube-vip API HA, and NFS-backed storage. Update bootstrap, Flux addons, CI workflows, and docs to target the new private Proxmox baseline while preserving the existing Tailscale, Doppler, Flux, Rancher, and B2 backup flows.
This commit is contained in:
+9
-15
@@ -1,42 +1,36 @@
|
||||
output "control_plane_ips" {
|
||||
description = "Public IPs of control plane nodes"
|
||||
value = [for cp in hcloud_server.control_plane : cp.ipv4_address]
|
||||
value = var.control_plane_ips
|
||||
}
|
||||
|
||||
output "control_plane_names" {
|
||||
description = "Control plane hostnames"
|
||||
value = [for cp in hcloud_server.control_plane : cp.name]
|
||||
value = [for idx in range(var.control_plane_count) : format("%s-cp-%d", var.cluster_name, idx + 1)]
|
||||
}
|
||||
|
||||
output "control_plane_private_ips" {
|
||||
description = "Private IPs of control plane nodes"
|
||||
value = [
|
||||
for idx, cp in hcloud_server.control_plane :
|
||||
try(one(cp.network).ip, cidrhost(var.subnet_cidr, 10 + idx))
|
||||
]
|
||||
value = var.control_plane_ips
|
||||
}
|
||||
|
||||
output "primary_control_plane_ip" {
|
||||
description = "Public IP of the primary control plane (first node)"
|
||||
value = hcloud_server.control_plane[0].ipv4_address
|
||||
value = var.control_plane_ips[0]
|
||||
}
|
||||
|
||||
output "worker_ips" {
|
||||
description = "Public IPs of worker nodes"
|
||||
value = [for worker in hcloud_server.workers : worker.ipv4_address]
|
||||
value = var.worker_ips
|
||||
}
|
||||
|
||||
output "worker_names" {
|
||||
description = "Worker hostnames"
|
||||
value = [for worker in hcloud_server.workers : worker.name]
|
||||
value = [for idx in range(var.worker_count) : format("%s-worker-%d", var.cluster_name, idx + 1)]
|
||||
}
|
||||
|
||||
output "worker_private_ips" {
|
||||
description = "Private IPs of worker nodes"
|
||||
value = [
|
||||
for idx, worker in hcloud_server.workers :
|
||||
try(one(worker.network).ip, cidrhost(var.subnet_cidr, 20 + idx))
|
||||
]
|
||||
value = var.worker_ips
|
||||
}
|
||||
|
||||
output "ssh_private_key_path" {
|
||||
@@ -61,10 +55,10 @@ output "network_cidr" {
|
||||
|
||||
output "kubeconfig_command" {
|
||||
description = "Command to fetch kubeconfig"
|
||||
value = "ssh root@${hcloud_server.control_plane[0].ipv4_address} 'cat /etc/rancher/k3s/k3s.yaml' > kubeconfig && sed -i 's/127.0.0.1/${hcloud_server.control_plane[0].ipv4_address}/g' kubeconfig"
|
||||
value = "ssh ubuntu@${var.control_plane_ips[0]} 'sudo cat /etc/rancher/k3s/k3s.yaml' > kubeconfig && sed -i 's/127.0.0.1/${var.control_plane_ips[0]}/g' kubeconfig"
|
||||
}
|
||||
|
||||
output "kube_api_lb_ip" {
|
||||
description = "Load Balancer private IP for Kubernetes API (used for cluster joins)"
|
||||
value = hcloud_load_balancer_network.kube_api.ip
|
||||
value = var.kube_api_vip
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user