feat(terraform): Refactor Alertmanager
[csit.git] / fdio.infra.terraform / 1n_nmd / alertmanager / main.tf
index 9525aab..e8a1389 100644 (file)
@@ -1,40 +1,48 @@
 locals {
-  datacenters      = join(",", var.nomad_datacenters)
-
-  alertmanager_url = join("",
+  datacenters = join(",", var.datacenters)
+  url         = join("",
     [
       "https://github.com",
       "/prometheus/alertmanager/releases/download/",
-      "v${var.alertmanager_version}/",
-      "alertmanager-${var.alertmanager_version}.linux-amd64.tar.gz"
+      "v${var.am_version}/",
+      "alertmanager-${var.am_version}.linux-amd64.tar.gz"
     ]
   )
 }
 
-data "template_file" "nomad_job_alertmanager" {
-  template         = file("${path.module}/conf/nomad/alertmanager.hcl")
-  vars             = {
-    datacenters            = local.datacenters
-    url                    = local.alertmanager_url
-    job_name               = var.alertmanager_job_name
-    use_canary             = var.alertmanager_use_canary
-    group_count            = var.alertmanager_group_count
-    service_name           = var.alertmanager_service_name
-    use_vault_provider     = var.alertmanager_vault_secret.use_vault_provider
-    version                = var.alertmanager_version
-    cpu                    = var.alertmanager_cpu
-    mem                    = var.alertmanager_mem
-    port                   = var.alertmanager_port
-    slack_jenkins_api_key  = var.alertmanager_slack_jenkins_api_key
-    slack_jenkins_channel  = var.alertmanager_slack_jenkins_channel
-    slack_jenkins_receiver = var.alertmanager_slack_jenkins_receiver
-    slack_default_api_key  = var.alertmanager_slack_default_api_key
-    slack_default_channel  = var.alertmanager_slack_default_channel
-    slack_default_receiver = var.alertmanager_slack_default_receiver
-  }
-}
-
 resource "nomad_job" "nomad_job_alertmanager" {
-  jobspec          = data.template_file.nomad_job_alertmanager.rendered
-  detach           = false
-}
\ No newline at end of file
+  jobspec = templatefile(
+    "${path.module}/conf/nomad/alertmanager.hcl.tftpl",
+    {
+      auto_promote              = var.auto_promote,
+      auto_revert               = var.auto_revert,
+      canary                    = var.canary,
+      cpu                       = var.cpu,
+      datacenters               = local.datacenters,
+      group_count               = var.group_count,
+      job_name                  = var.job_name,
+      max_parallel              = var.max_parallel,
+      memory                    = var.memory
+      port                      = var.port,
+      region                    = var.region,
+      service_name              = var.service_name,
+      slack_jenkins_api_key     = var.slack_jenkins_api_key,
+      slack_jenkins_channel     = var.slack_jenkins_channel,
+      slack_jenkins_receiver    = var.slack_jenkins_receiver,
+      slack_default_api_key     = var.slack_default_api_key,
+      slack_default_channel     = var.slack_default_channel,
+      slack_default_receiver    = var.slack_default_receiver,
+      url                       = local.url,
+      use_canary                = var.use_canary,
+      use_host_volume           = var.use_host_volume,
+      use_vault_provider        = var.vault_secret.use_vault_provider,
+      vault_kv_policy_name      = var.vault_secret.vault_kv_policy_name,
+      vault_kv_path             = var.vault_secret.vault_kv_path,
+      vault_kv_field_access_key = var.vault_secret.vault_kv_field_access_key,
+      vault_kv_field_secret_key = var.vault_secret.vault_kv_field_secret_key,
+      version                   = var.am_version,
+      volume_destination        = var.volume_destination,
+      volume_source             = var.volume_source
+  })
+  detach = false
+}