feat(infrastructure): add metrics server

This commit is contained in:
2025-10-06 17:40:40 +02:00
parent 316939b53c
commit d0ffab97c3
2 changed files with 44 additions and 7 deletions

View File

@@ -42,23 +42,27 @@ provider "helm" {
} }
module "storage" { module "storage" {
source = "${path.module}/modules/storage" source = "./modules/storage"
}
module "metrics_server" {
source = "./modules/metrics-server"#
} }
module "loadbalancer" { module "loadbalancer" {
source = "${path.module}/modules/metallb" source = "./modules/metallb"
depends_on = [module.storage] depends_on = [module.storage]
metallb_ip_range = var.metallb_ip_range metallb_ip_range = var.metallb_ip_range
} }
module "cert-manager" { module "cert-manager" {
source = "${path.module}/modules/cert-manager" source = "./modules/cert-manager"
depends_on = [module.loadbalancer] depends_on = [module.loadbalancer]
} }
module "cloudflare" { module "cloudflare" {
source = "${path.module}/modules/cloudflare" source = "./modules/cloudflare"
depends_on = [module.cert-manager] depends_on = [module.cert-manager]
cloudflare_api_token = var.cloudflare_api_token cloudflare_api_token = var.cloudflare_api_token
@@ -69,14 +73,14 @@ module "cloudflare" {
} }
module "monitoring" { module "monitoring" {
source = "${path.module}/modules/prometheus" source = "./modules/prometheus"
depends_on = [module.cloudflare] depends_on = [module.cloudflare]
cloudflare_domain = var.cloudflare_domain cloudflare_domain = var.cloudflare_domain
} }
module "database" { module "database" {
source = "${path.module}/modules/maxscale" source = "./modules/maxscale"
depends_on = [module.monitoring] depends_on = [module.monitoring]
mariadb_password = var.mariadb_password mariadb_password = var.mariadb_password
@@ -109,7 +113,7 @@ module "database" {
#} #}
module "rabbitmq" { module "rabbitmq" {
source = "${path.module}/modules/rabbitmq" source = "./modules/rabbitmq"
depends_on = [module.database] depends_on = [module.database]
base_domain = var.cloudflare_domain base_domain = var.cloudflare_domain
rabbitmq-password = var.rabbitmq-password rabbitmq-password = var.rabbitmq-password

View File

@@ -0,0 +1,33 @@
terraform {
required_providers {
kubectl = {
source = "gavinbunney/kubectl"
version = "1.19.0"
}
helm = {
source = "hashicorp/helm"
version = "3.0.2"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "2.38.0"
}
}
}
# Deploy metrics-server via Helm into kube-system namespace
resource "helm_release" "metrics_server" {
name = "metrics-server"
repository = "https://kubernetes-sigs.github.io/metrics-server/"
chart = "metrics-server"
namespace = "kube-system"
wait = true
timeout = 600
recreate_pods = false
force_update = false
values = [
file("${path.module}/values.yaml")
]
}