mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 15:12:08 +01:00
feat(infrastructure): add metrics server
This commit is contained in:
@@ -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
|
||||||
|
|||||||
33
7project/tofu/modules/metrics-server/main.tf
Normal file
33
7project/tofu/modules/metrics-server/main.tf
Normal 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")
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user