This commit is contained in:
2024-01-22 16:56:33 +01:00
parent 8ad641e923
commit 0f2eced091
29 changed files with 263 additions and 325 deletions

View File

@@ -8,7 +8,7 @@ locals {
}
global = {
"domain" = var.namespace
"domain-name" = "admin.${var.domain-name}"
"domain-name" = "monitor.${var.domain-name}"
"issuer" = var.issuer
"ingress-class" = var.ingress-class
"backups" = var.backups
@@ -16,6 +16,8 @@ locals {
}
prometheus = { for k, v in var.prometheus : k => v if k!="enable" }
alertmanager = { for k, v in var.alertmanager : k => v if k!="enable" }
alerts-core = { for k, v in var.alerts-core : k => v if k!="enable" }
alerts-containers = { for k, v in var.alerts-containers : k => v if k!="enable" }
nodeExporter = { for k, v in var.node-exporter : k => v if k!="enable" }
kubeStateMetrics = merge({"cluster-admin" = true}, { for k, v in var.kube-state-metrics : k => v if k!="enable" })
monitorControlPlan = merge({"cluster-admin" = true}, { for k, v in var.monitor-control-plan : k => v if k!="enable" })
@@ -117,3 +119,38 @@ resource "kubectl_manifest" "monitorControlPlan" {
options: ${jsonencode(merge(local.global, local.monitorControlPlan))}
EOF
}
resource "kubectl_manifest" "alerts-core" {
count = var.alerts-core.enable ? 1 : 0
depends_on = [kubernetes_namespace_v1.monitor-ns]
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "alerts-core"
namespace: "${kubernetes_namespace_v1.monitor-ns[0].metadata[0].name}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.distributions.domain}"
category: "monitor"
component: "alerts-core"
options: ${jsonencode(merge(local.global, local.alerts-core))}
EOF
}
resource "kubectl_manifest" "alerts-containers" {
count = var.alerts-containers.enable ? 1 : 0
depends_on = [kubernetes_namespace_v1.monitor-ns]
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "alerts-containers"
namespace: "${kubernetes_namespace_v1.monitor-ns[0].metadata[0].name}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.distributions.domain}"
category: "monitor"
component: "alerts-containers"
options: ${jsonencode(merge(local.global, local.alerts-containers))}
EOF
}