Skip to content

Commit

Permalink
Review comments fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Venkata Challa committed Feb 27, 2024
1 parent ef688d8 commit fb77e8b
Showing 1 changed file with 111 additions and 119 deletions.
230 changes: 111 additions & 119 deletions cluster/terraform_kubernetes/alertmanager.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,144 +22,136 @@ locals {
alertmanager_templates = { for k, v in local.template_files : k => file(v) }
}

resource "kubernetes_manifest" "configmap_monitoring_alertmanager_config" {
manifest = {
apiVersion = "v1"
kind = "ConfigMap"
metadata = {
name = "alertmanager-config"
namespace = var.namespace
}
data = {
"config.yml" = local.alertmanager_config_content
}
:wqresource "kubernetes_config_map" "alertmanager_config" {
metadata {
name = "alertmanager-config"
namespace = var.namespace
}

data = {
"config.yml" = local.alertmanager_config_content
}
}

resource "kubernetes_manifest" "configmap_monitoring_alertmanager_templates" {
manifest = {
apiVersion = "v1"
kind = "ConfigMap"
metadata = {
name = "alertmanager-templates"
namespace = var.namespace
}
data = local.alertmanager_templates
resource "kubernetes_config_map" "alertmanager_templates" {
metadata {
name = "alertmanager-templates"
namespace = var.namespace
}

data = local.alertmanager_templates
}

# Deployment for AlertManager
resource "kubernetes_manifest" "deployment_monitoring_alertmanager" {
manifest = {
"apiVersion" = "apps/v1"
"kind" = "Deployment"
"metadata" = {
"name" = "alertmanager"
"namespace" = var.namespace
resource "kubernetes_deployment" "alertmanager" {
metadata {
name = "alertmanager"
namespace = var.namespace
}

spec {
replicas = 1
selector {
match_labels = {
app = "alertmanager"
}
}
"spec" = {
"replicas" = 1
"selector" = {
"matchLabels" = {
"app" = "alertmanager"

template {
metadata {
labels = {
app = "alertmanager"
}
}
"template" = {
"metadata" = {
"labels" = {
"app" = "alertmanager"

spec {
container {
image = "prom/alertmanager:${var.alertmanager_image_version}"
name = "alertmanager"

args = [
"--config.file=/etc/alertmanager/config.yml",
"--storage.path=/alertmanager",
]


port {
container_port = 9093
}

resources {
limits = {
cpu = var.alertmanager_cpu_limit
memory = var.alertmanager_memory_limit
}

requests = {
cpu = var.alertmanager_cpu_request
memory = var.alertmanager_memory_request
}
}

volume_mount {
mount_path = "/etc/alertmanager"
name = "config-volume"
}

volume_mount {
mount_path = "/etc/alertmanager-templates"
name = "templates-volume"
}

volume_mount {
mount_path = "/alertmanager"
name = "alertmanager"
}
}

volume {
name = "config-volume"

config_map {
name = kubernetes_config_map.alertmanager_config.metadata[0].name
}
}
"spec" = {
"containers" = [
{
"args" = [
"--config.file=/etc/alertmanager/config.yml",
"--storage.path=/alertmanager",
]
"image" = "prom/alertmanager:${var.alertmanager_image_version}"
"name" = "alertmanager"
"ports" = [
{
"containerPort" = 9093
"name" = "alertmanager"
},
]
"resources" = {
"limits" = {
"cpu" = var.alertmanager_cpu_limit
"memory" = var.alertmanager_memory_limit
}
"requests" = {
"cpu" = var.alertmanager_cpu_request
"memory" = var.alertmanager_memory_request
}
}
"volumeMounts" = [
{
"mountPath" = "/etc/alertmanager"
"name" = "config-volume"
},
{
"mountPath" = "/etc/alertmanager-templates"
"name" = "templates-volume"
},
{
"mountPath" = "/alertmanager"
"name" = "alertmanager"
},
]
},
]
"volumes" = [
{
"configMap" = {
"name" = "alertmanager-config"
}
"name" = "config-volume"
},
{
"configMap" = {
"name" = "alertmanager-templates"
}
"name" = "templates-volume"
},
{
"emptyDir" = {}
"name" = "alertmanager"
},
]

volume {
name = "templates-volume"

config_map {
name = kubernetes_config_map.alertmanager_templates.metadata[0].name
}
}

volume {
name = "alertmanager"
empty_dir {}
}
}
}
}
}

# Service for AlertManager
resource "kubernetes_manifest" "service_monitoring_alertmanager" {
manifest = {
"apiVersion" = "v1"
"kind" = "Service"
"metadata" = {
"annotations" = {
"prometheus.io/port" = "9093"
"prometheus.io/scrape" = "true"
}
"name" = "alertmanager"
"namespace" = var.namespace
resource "kubernetes_service" "alertmanager" {
metadata {
name = "alertmanager"
namespace = var.namespace
annotations = {
"prometheus.io/port" = "9093"
"prometheus.io/scrape" = "true"
}
"spec" = {
"ports" = [
{
"nodePort" = 31000
"port" = 9093
"targetPort" = 9093
},
]
"selector" = {
"app" = "alertmanager"
}
"type" = "NodePort"
}

spec {
selector = {
app = "alertmanager"
}

port {
port = 9093
target_port = 9093
}

type = "NodePort"
}
}

0 comments on commit fb77e8b

Please sign in to comment.