feat(terraform): Refactor Alertmanager
[csit.git] / fdio.infra.terraform / 1n_nmd / alertmanager / main.tf
1 locals {
2   datacenters = join(",", var.datacenters)
3   url         = join("",
4     [
5       "https://github.com",
6       "/prometheus/alertmanager/releases/download/",
7       "v${var.am_version}/",
8       "alertmanager-${var.am_version}.linux-amd64.tar.gz"
9     ]
10   )
11 }
12
13 resource "nomad_job" "nomad_job_alertmanager" {
14   jobspec = templatefile(
15     "${path.module}/conf/nomad/alertmanager.hcl.tftpl",
16     {
17       auto_promote              = var.auto_promote,
18       auto_revert               = var.auto_revert,
19       canary                    = var.canary,
20       cpu                       = var.cpu,
21       datacenters               = local.datacenters,
22       group_count               = var.group_count,
23       job_name                  = var.job_name,
24       max_parallel              = var.max_parallel,
25       memory                    = var.memory
26       port                      = var.port,
27       region                    = var.region,
28       service_name              = var.service_name,
29       slack_jenkins_api_key     = var.slack_jenkins_api_key,
30       slack_jenkins_channel     = var.slack_jenkins_channel,
31       slack_jenkins_receiver    = var.slack_jenkins_receiver,
32       slack_default_api_key     = var.slack_default_api_key,
33       slack_default_channel     = var.slack_default_channel,
34       slack_default_receiver    = var.slack_default_receiver,
35       url                       = local.url,
36       use_canary                = var.use_canary,
37       use_host_volume           = var.use_host_volume,
38       use_vault_provider        = var.vault_secret.use_vault_provider,
39       vault_kv_policy_name      = var.vault_secret.vault_kv_policy_name,
40       vault_kv_path             = var.vault_secret.vault_kv_path,
41       vault_kv_field_access_key = var.vault_secret.vault_kv_field_access_key,
42       vault_kv_field_secret_key = var.vault_secret.vault_kv_field_secret_key,
43       version                   = var.am_version,
44       volume_destination        = var.volume_destination,
45       volume_source             = var.volume_source
46   })
47   detach = false
48 }