feat: Add swarm cluster for test stage

This commit is contained in:
2025-08-02 19:57:37 +02:00
parent a2256dbdb0
commit d76f375564
4 changed files with 42 additions and 14 deletions
+1 -1
View File
@@ -1 +1 @@
{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"api_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"argocd_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"drone_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"gitea_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"grafana_k8s_monitoring_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"helm-repo_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"keycloak_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"monitoring_cluster","Source":"./modules/k8s-cluster","Dir":"modules/k8s-cluster"},{"Key":"nextcloud_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"personal_website_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"prometheus_k8s_test_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"statping_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"test_cluster","Source":"./modules/k8s-cluster","Dir":"modules/k8s-cluster"},{"Key":"thanos_prometheus_k8s_test_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"wahlrecht_domain","Source":"./modules/domain","Dir":"modules/domain"}]}
{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"api_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"argocd_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"drone_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"gitea_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"grafana_k8s_monitoring_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"helm-repo_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"keycloak_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"monitoring_cluster","Source":"./modules/k8s-cluster","Dir":"modules/k8s-cluster"},{"Key":"nextcloud_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"personal_website_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"prometheus_k8s_test_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"statping_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"test_cluster","Source":"./modules/k8s-cluster","Dir":"modules/k8s-cluster"},{"Key":"test_swarm_cluster","Source":"./modules/docker-network","Dir":"modules/docker-network"},{"Key":"thanos_prometheus_k8s_test_domain","Source":"./modules/domain","Dir":"modules/domain"},{"Key":"wahlrecht_domain","Source":"./modules/domain","Dir":"modules/domain"}]}
+33
View File
@@ -127,3 +127,36 @@ module "monitoring_cluster" {
argocd_keycloak_client_secret = var.argocd_monitoring_keycloak_client_secret
argocd_domain = "argocd.k8s.monitoring.2martens.de"
}
module "test_swarm_cluster" {
source = "./modules/docker-network"
admin_ssh_key = data.hcloud_ssh_key.macos
admin_user = "2martensAdmin"
terraform_public_ssh_key = var.terraform_public_ssh_key
terraform_private_ssh_key = var.terraform_private_ssh_key
basic_firewall_id = hcloud_firewall.basic-firewall.id
domain = local.domain
locations = [
{
id = data.hcloud_location.falkenstein.id,
name = data.hcloud_location.falkenstein.name,
datacenter_name = data.hcloud_datacenter.falkenstein.name,
network_zone = data.hcloud_location.falkenstein.network_zone
}, {
id = data.hcloud_location.nuremberg.id,
name = data.hcloud_location.nuremberg.name,
datacenter_name = data.hcloud_datacenter.nuremberg.name,
network_zone = data.hcloud_location.nuremberg.network_zone
}
]
network_id = hcloud_network.kubernetes-network.id
private_node_ips = [
cidrhost(hcloud_network_subnet.k8s-network-subnet.ip_range, 10),
cidrhost(hcloud_network_subnet.k8s-network-subnet.ip_range, 11),
cidrhost(hcloud_network_subnet.k8s-network-subnet.ip_range, 12)
]
server_subnet_id = hcloud_network_subnet.k8s-network-subnet.id
stage_name = local.test_cluster
number_nodes = 2
}
@@ -61,7 +61,7 @@ resource "hcloud_server" "node" {
ignore_remote_firewall_ids = false
keep_disk = false
placement_group_id = data.hcloud_placement_group.default.id
firewall_ids = [var.basic_firewall_id, var.docker_firewall_id]
firewall_ids = [var.basic_firewall_id]
ssh_keys = [var.admin_ssh_key.id]
shutdown_before_deletion = true
@@ -58,11 +58,6 @@ variable "basic_firewall_id" {
type = number
}
variable "docker_firewall_id" {
description = "ID of the docker specific firewall"
type = number
}
variable "stage_name" {
description = "The name of the stage. For example test, qs, prod. Will be used for names and subdomains and must be unique within the Hetzner project (identified by API token)."
type = string