feat(terraform): Refactor Prometheus
[csit.git] / fdio.infra.terraform / 1n_nmd / prometheus / main.tf
index 0c504c9..0a4d987 100644 (file)
@@ -1,37 +1,42 @@
 locals {
-  datacenters = join(",", var.nomad_datacenters)
-
-  prometheus_url = join("",
+  datacenters = join(",", var.datacenters)
+  url = join("",
     [
       "https://github.com",
       "/prometheus/prometheus/releases/download/",
-      "v${var.prometheus_version}/",
-      "prometheus-${var.prometheus_version}.linux-amd64.tar.gz"
+      "v${var.pm_version}/",
+      "prometheus-${var.pm_version}.linux-amd64.tar.gz"
     ]
   )
 }
 
-data "template_file" "nomad_job_prometheus" {
-  template = file("${path.module}/conf/nomad/prometheus.hcl")
-  vars = {
-    datacenters        = local.datacenters
-    url                = local.prometheus_url
-    job_name           = var.prometheus_job_name
-    use_canary         = var.prometheus_use_canary
-    group_count        = var.prometheus_group_count
-    use_host_volume    = var.prometheus_use_host_volume
-    host_volume        = var.nomad_host_volume
-    data_dir           = var.prometheus_data_dir
-    service_name       = var.prometheus_service_name
-    use_vault_provider = var.prometheus_vault_secret.use_vault_provider
-    version            = var.prometheus_version
-    cpu                = var.prometheus_cpu
-    mem                = var.prometheus_mem
-    port               = var.prometheus_port
-  }
-}
-
 resource "nomad_job" "nomad_job_prometheus" {
-  jobspec = data.template_file.nomad_job_prometheus.rendered
-  detach  = false
-}
\ No newline at end of file
+  jobspec = templatefile(
+    "${path.module}/conf/nomad/prometheus.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,
+      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.pm_version,
+      volume_destination        = var.volume_destination,
+      volume_source             = var.volume_source
+  })
+  detach = false
+}