From 4a09d2afbe1f635bc529f22cace20ffea6c56dcc Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Sat, 3 Feb 2024 19:14:07 +0100 Subject: [PATCH] feat: Add monitoring cluster --- terraform/main.tf | 78 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 65 insertions(+), 13 deletions(-) diff --git a/terraform/main.tf b/terraform/main.tf index 1d32585..1d9d704 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -19,8 +19,9 @@ data "hcloud_ssh_key" "macos" { } locals { - domain = "2martens.de" - test_cluster = "test" + domain = "2martens.de" + test_cluster = "test" + monitoring_cluster = "monitoring" } module "test_cluster" { @@ -33,17 +34,19 @@ module "test_cluster" { terraform_private_ssh_key = var.terraform_private_ssh_key basic_firewall_id = hcloud_firewall.basic-firewall.id k8s_firewall_id = hcloud_firewall.k8s-firewall.id - 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 - }] + 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 + } + ] domain = local.domain network_id = hcloud_network.kubernetes-network.id private_node_ips = [ @@ -70,4 +73,53 @@ module "test_cluster" { thanos_s3_bucket_name = "2martens-thanos-store" aws_access_key = var.aws_access_key aws_secret_key = var.aws_secret_key +} + +module "monitoring_cluster" { + source = "./modules/k8s-cluster" + + admin_ssh_key = data.hcloud_ssh_key.macos + admin_user = "2martensAdmin" + admin_email = "admin@2martens.de" + 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 + k8s_firewall_id = hcloud_firewall.k8s-firewall.id + 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 + } + ] + domain = local.domain + network_id = hcloud_network.kubernetes-network.id + private_node_ips = [ + cidrhost(hcloud_network_subnet.k8s-network-subnet.ip_range, 7), + ] + server_subnet_id = hcloud_network_subnet.k8s-network-subnet.id + cluster_name = local.monitoring_cluster + argocd_environment = "monitoring" + number_nodes = 1 + server_type = "cax21" + image_name = "ubuntu-22.04" + create_loadbalancer = false + loadbalancer_ip = cidrhost(hcloud_network_subnet.k8s-network-subnet.ip_range, 3) + vault_service_principal = { + client_id : var.vault_client_id + client_secret : var.vault_client_secret + } + vault_allowed_namespaces = [] + hcloud_token_enabled = false + hcloud_token = var.hcloud_token + thanos_enabled = true + thanos_s3_bucket_name = "2martens-thanos-store" + aws_access_key = var.aws_access_key + aws_secret_key = var.aws_secret_key } \ No newline at end of file