diff --git a/environments/dev/Seahorse/backend.tf b/environments/dev/Seahorse/backend.tf index 4b7bab4..e912007 100644 --- a/environments/dev/Seahorse/backend.tf +++ b/environments/dev/Seahorse/backend.tf @@ -4,8 +4,8 @@ terraform { source = "grafana/grafana" version = ">= 4.7.0" } - vault = { - source = "hashicorp/vault" + vault = { + source = "hashicorp/vault" } } } diff --git a/environments/dev/Seahorse/locals.tf b/environments/dev/Seahorse/locals.tf index 751ea12..fad9f8b 100644 --- a/environments/dev/Seahorse/locals.tf +++ b/environments/dev/Seahorse/locals.tf @@ -5,46 +5,46 @@ locals { "X-Disable-Provenance" = var.disable_provenance ? "true" : "false" } -# Contact points configuration -contact_points = [ -{ - name = "default" - type = "slack" - is_default = true - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_default"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + # Contact points configuration + contact_points = [ + { + name = "default" + type = "slack" + is_default = true + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_default"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-critical" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_critical"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + { + name = "infra-alerts-critical" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_critical"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-informational" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_info"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + { + name = "infra-alerts-informational" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_info"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-test" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_test"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -} -] + { + name = "infra-alerts-test" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_test"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + } + ] } diff --git a/environments/dev/Seahorse/providers.tf b/environments/dev/Seahorse/providers.tf index 7a030e9..e0375ca 100644 --- a/environments/dev/Seahorse/providers.tf +++ b/environments/dev/Seahorse/providers.tf @@ -1,10 +1,10 @@ -provider "vault" { +provider "vault" { skip_child_token = true } data "vault_kv_secret_v2" "secret_ext" { # Секреты для подключения к внешним источникам (mm, clickhouse и т.д.) - mount = "app" - name = "groups/monitoring/grafana/dev/ext" + mount = "app" + name = "groups/monitoring/grafana/dev/ext" } data "vault_kv_secret_v2" "secret_int" { # Секреты для работы самой графаны diff --git a/environments/dev/Seahorse/terraform.tfvars b/environments/dev/Seahorse/terraform.tfvars index 5c1c59d..2de3bdb 100644 --- a/environments/dev/Seahorse/terraform.tfvars +++ b/environments/dev/Seahorse/terraform.tfvars @@ -33,41 +33,41 @@ organizations = [ # Current organization for deploying -org_id = "2" +org_id = "2" # Alert groups configuration groups = [ { - dashboard_alert_group_name = "System Alerts" - folder_uid = "system" - alert_definitions_path = "alerts/system" - dashboard_path_if_exist = "dashboards/system" - keep_manual_changes = false - prevent_destroy_on_recreate = false - alerts_on_datasources_uid = ["prometheus"] + dashboard_alert_group_name = "System Alerts" + folder_uid = "system" + alert_definitions_path = "alerts/system" + dashboard_path_if_exist = "dashboards/system" + keep_manual_changes = false + prevent_destroy_on_recreate = false + alerts_on_datasources_uid = ["prometheus"] }, { - dashboard_alert_group_name = "Self monitoring" - folder_uid = "self-monitoring" - alert_definitions_path = "alerts/self-monitoring" - dashboard_path_if_exist = "dashboards/self-monitoring" - keep_manual_changes = false - prevent_destroy_on_recreate = false - alerts_on_datasources_uid = ["prometheus-local-1"] + dashboard_alert_group_name = "Self monitoring" + folder_uid = "self-monitoring" + alert_definitions_path = "alerts/self-monitoring" + dashboard_path_if_exist = "dashboards/self-monitoring" + keep_manual_changes = false + prevent_destroy_on_recreate = false + alerts_on_datasources_uid = ["prometheus-local-1"] } ] # Data sources configuration datasources = [ { - name = "prometheus" - uid = "prometheus" - type = "prometheus" - url = "http://localhost:8481/select/0/prometheus" - access_mode = "proxy" - is_default = true - basic_auth = false - json_data = { - timeInterval = "15s" + name = "prometheus" + uid = "prometheus" + type = "prometheus" + url = "http://localhost:8481/select/0/prometheus" + access_mode = "proxy" + is_default = true + basic_auth = false + json_data = { + timeInterval = "15s" } keep_manual_changes = false prevent_destroy_on_recreate = false @@ -76,79 +76,79 @@ datasources = [ # Notification policies configuration notification_policies = [ -{ - contact_point = "infra-alerts-critical" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "disaster" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-critical" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "critical" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-informational" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "warning" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-informational" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "perfomance" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-test" - continue = true - matchers = [ - { - label = "status" - match = "=" - value = "test" - } - ] -} + { + contact_point = "infra-alerts-critical" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "disaster" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-critical" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "critical" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-informational" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "warning" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-informational" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "perfomance" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-test" + continue = true + matchers = [ + { + label = "status" + match = "=" + value = "test" + } + ] + } ] diff --git a/environments/dev/Seahorse/variables_datasource.tf b/environments/dev/Seahorse/variables_datasource.tf index 772e180..1d5ca99 100644 --- a/environments/dev/Seahorse/variables_datasource.tf +++ b/environments/dev/Seahorse/variables_datasource.tf @@ -9,7 +9,7 @@ variable "datasources" { username = optional(string, null) access_mode = string # Access mode: proxy or direct is_default = bool # Set as default source - + # Authentication settings basic_auth = optional(bool, false) # Use basic authentication basic_auth_user = optional(string, null) # Username for basic authentication diff --git a/environments/dev/adibrov/backend.tf b/environments/dev/adibrov/backend.tf index 4b7bab4..e912007 100644 --- a/environments/dev/adibrov/backend.tf +++ b/environments/dev/adibrov/backend.tf @@ -4,8 +4,8 @@ terraform { source = "grafana/grafana" version = ">= 4.7.0" } - vault = { - source = "hashicorp/vault" + vault = { + source = "hashicorp/vault" } } } diff --git a/environments/dev/adibrov/locals.tf b/environments/dev/adibrov/locals.tf index 751ea12..fad9f8b 100644 --- a/environments/dev/adibrov/locals.tf +++ b/environments/dev/adibrov/locals.tf @@ -5,46 +5,46 @@ locals { "X-Disable-Provenance" = var.disable_provenance ? "true" : "false" } -# Contact points configuration -contact_points = [ -{ - name = "default" - type = "slack" - is_default = true - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_default"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + # Contact points configuration + contact_points = [ + { + name = "default" + type = "slack" + is_default = true + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_default"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-critical" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_critical"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + { + name = "infra-alerts-critical" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_critical"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-informational" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_info"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -}, + { + name = "infra-alerts-informational" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_info"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + }, -{ - name = "infra-alerts-test" - type = "slack" - is_default = false - settings = { - webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_test"] - template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" - } -} -] + { + name = "infra-alerts-test" + type = "slack" + is_default = false + settings = { + webhook_url = data.vault_kv_secret_v2.secret_ext.data["mmwebhook_infra_alerts_test"] + template = "../../../modules/grafana_contact_points/template/alerts_message_mm.template" + } + } + ] } diff --git a/environments/dev/adibrov/providers.tf b/environments/dev/adibrov/providers.tf index 7a030e9..e0375ca 100644 --- a/environments/dev/adibrov/providers.tf +++ b/environments/dev/adibrov/providers.tf @@ -1,10 +1,10 @@ -provider "vault" { +provider "vault" { skip_child_token = true } data "vault_kv_secret_v2" "secret_ext" { # Секреты для подключения к внешним источникам (mm, clickhouse и т.д.) - mount = "app" - name = "groups/monitoring/grafana/dev/ext" + mount = "app" + name = "groups/monitoring/grafana/dev/ext" } data "vault_kv_secret_v2" "secret_int" { # Секреты для работы самой графаны diff --git a/environments/dev/adibrov/terraform.tfvars b/environments/dev/adibrov/terraform.tfvars index 8d0512f..1e5cca8 100644 --- a/environments/dev/adibrov/terraform.tfvars +++ b/environments/dev/adibrov/terraform.tfvars @@ -33,41 +33,41 @@ organizations = [ # Current organization for deploying -org_id = "35" +org_id = "35" # Alert groups configuration groups = [ { - dashboard_alert_group_name = "System Alerts" - folder_uid = "system" - alert_definitions_path = "alerts/system" - dashboard_path_if_exist = "dashboards/system" - keep_manual_changes = false - prevent_destroy_on_recreate = false - alerts_on_datasources_uid = ["prometheus"] + dashboard_alert_group_name = "System Alerts" + folder_uid = "system" + alert_definitions_path = "alerts/system" + dashboard_path_if_exist = "dashboards/system" + keep_manual_changes = false + prevent_destroy_on_recreate = false + alerts_on_datasources_uid = ["prometheus"] }, { - dashboard_alert_group_name = "Self monitoring" - folder_uid = "self-monitoring" - alert_definitions_path = "alerts/self-monitoring" - dashboard_path_if_exist = "dashboards/self-monitoring" - keep_manual_changes = false - prevent_destroy_on_recreate = false - alerts_on_datasources_uid = ["prometheus-local-1"] + dashboard_alert_group_name = "Self monitoring" + folder_uid = "self-monitoring" + alert_definitions_path = "alerts/self-monitoring" + dashboard_path_if_exist = "dashboards/self-monitoring" + keep_manual_changes = false + prevent_destroy_on_recreate = false + alerts_on_datasources_uid = ["prometheus-local-1"] } ] # Data sources configuration datasources = [ { - name = "prometheus" - uid = "prometheus" - type = "prometheus" - url = "http://localhost:8481/select/0/prometheus" - access_mode = "proxy" - is_default = true - basic_auth = false - json_data = { - timeInterval = "15s" + name = "prometheus" + uid = "prometheus" + type = "prometheus" + url = "http://localhost:8481/select/0/prometheus" + access_mode = "proxy" + is_default = true + basic_auth = false + json_data = { + timeInterval = "15s" } keep_manual_changes = false prevent_destroy_on_recreate = false @@ -76,79 +76,79 @@ datasources = [ # Notification policies configuration notification_policies = [ -{ - contact_point = "infra-alerts-critical" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "disaster" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-critical" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "critical" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-informational" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "warning" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-informational" - continue = true - matchers = [ - { - label = "severity" - match = "=" - value = "perfomance" - }, - { - label = "team" - match = "=" - value = "infra" - } - ] -}, -{ - contact_point = "infra-alerts-test" - continue = true - matchers = [ - { - label = "status" - match = "=" - value = "test" - } - ] -} + { + contact_point = "infra-alerts-critical" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "disaster" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-critical" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "critical" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-informational" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "warning" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-informational" + continue = true + matchers = [ + { + label = "severity" + match = "=" + value = "perfomance" + }, + { + label = "team" + match = "=" + value = "infra" + } + ] + }, + { + contact_point = "infra-alerts-test" + continue = true + matchers = [ + { + label = "status" + match = "=" + value = "test" + } + ] + } ] diff --git a/environments/dev/adibrov/variables_datasource.tf b/environments/dev/adibrov/variables_datasource.tf index 772e180..1d5ca99 100644 --- a/environments/dev/adibrov/variables_datasource.tf +++ b/environments/dev/adibrov/variables_datasource.tf @@ -9,7 +9,7 @@ variable "datasources" { username = optional(string, null) access_mode = string # Access mode: proxy or direct is_default = bool # Set as default source - + # Authentication settings basic_auth = optional(bool, false) # Use basic authentication basic_auth_user = optional(string, null) # Username for basic authentication diff --git a/environments/modules/grafana_contact_points/main.tf b/environments/modules/grafana_contact_points/main.tf index f326655..ce61a4f 100644 --- a/environments/modules/grafana_contact_points/main.tf +++ b/environments/modules/grafana_contact_points/main.tf @@ -18,9 +18,9 @@ resource "grafana_contact_point" "contact_points" { dynamic "slack" { for_each = each.value.type == "slack" ? [1] : [] content { - url = each.value.settings["webhook_url"] - title = try(local.contact_point_templates[each.value.name].title, null) - text = local.contact_point_templates[each.value.name].template + url = each.value.settings["webhook_url"] + title = try(local.contact_point_templates[each.value.name].title, null) + text = local.contact_point_templates[each.value.name].template } } } diff --git a/environments/modules/grafana_contact_points/outputs.tf b/environments/modules/grafana_contact_points/outputs.tf index f59deea..5be43df 100644 --- a/environments/modules/grafana_contact_points/outputs.tf +++ b/environments/modules/grafana_contact_points/outputs.tf @@ -1,4 +1,4 @@ output "contact_point_ids" { description = "Mapping of contact point names to their IDs" - value = { for k, v in grafana_contact_point.contact_points : k => v.id } + value = { for k, v in grafana_contact_point.contact_points : k => v.id } } diff --git a/environments/modules/grafana_contact_points/variables.tf b/environments/modules/grafana_contact_points/variables.tf index 61f8777..49a18d1 100644 --- a/environments/modules/grafana_contact_points/variables.tf +++ b/environments/modules/grafana_contact_points/variables.tf @@ -1,6 +1,6 @@ variable "contact_points" { description = "List of contact points for Grafana alerts" - type = list(object({ + type = list(object({ name = string type = string settings = map(string) diff --git a/environments/modules/grafana_contact_points/versions.tf b/environments/modules/grafana_contact_points/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_contact_points/versions.tf +++ b/environments/modules/grafana_contact_points/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_dashboard/versions.tf b/environments/modules/grafana_dashboard/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_dashboard/versions.tf +++ b/environments/modules/grafana_dashboard/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_dashboard_folder/locals.tf b/environments/modules/grafana_dashboard_folder/locals.tf index f0e530e..0592087 100644 --- a/environments/modules/grafana_dashboard_folder/locals.tf +++ b/environments/modules/grafana_dashboard_folder/locals.tf @@ -1,22 +1,22 @@ locals { # Group folders by whether they should keep manual changes or be protected from destruction folders_ignore_only = { - for group in var.groups : group.dashboard_alert_group_name => group + for group in var.groups : group.dashboard_alert_group_name => group if lookup(group, "keep_manual_changes", false) && !lookup(group, "prevent_destroy_on_recreate", false) } folders_protect_only = { - for group in var.groups : group.dashboard_alert_group_name => group + for group in var.groups : group.dashboard_alert_group_name => group if !lookup(group, "keep_manual_changes", false) && lookup(group, "prevent_destroy_on_recreate", false) } folders_ignore_and_protect = { - for group in var.groups : group.dashboard_alert_group_name => group + for group in var.groups : group.dashboard_alert_group_name => group if lookup(group, "keep_manual_changes", false) && lookup(group, "prevent_destroy_on_recreate", false) } folders_standard = { - for group in var.groups : group.dashboard_alert_group_name => group + for group in var.groups : group.dashboard_alert_group_name => group if !lookup(group, "keep_manual_changes", false) && !lookup(group, "prevent_destroy_on_recreate", false) } } diff --git a/environments/modules/grafana_dashboard_folder/versions.tf b/environments/modules/grafana_dashboard_folder/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_dashboard_folder/versions.tf +++ b/environments/modules/grafana_dashboard_folder/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_dashboard_folder_xt5/locals.tf b/environments/modules/grafana_dashboard_folder_xt5/locals.tf index 9c54c89..21c8333 100644 --- a/environments/modules/grafana_dashboard_folder_xt5/locals.tf +++ b/environments/modules/grafana_dashboard_folder_xt5/locals.tf @@ -14,7 +14,7 @@ locals { parent_folder_name = length(split("/", group.dashboard_alert_group_name)) > 1 ? join("/", slice(split("/", group.dashboard_alert_group_name), 0, length(split("/", group.dashboard_alert_group_name)) - 1)) : null folder_title = length(split("/", group.dashboard_alert_group_name)) > 1 ? element(split("/", group.dashboard_alert_group_name), length(split("/", group.dashboard_alert_group_name)) - 1) : group.dashboard_alert_group_name # Get parent folder UID from parent group's folder_uid - parent_folder_uid = length(split("/", group.dashboard_alert_group_name)) > 1 ? try(local.groups_by_name[join("/", slice(split("/", group.dashboard_alert_group_name), 0, length(split("/", group.dashboard_alert_group_name)) - 1))].folder_uid, null) : null + parent_folder_uid = length(split("/", group.dashboard_alert_group_name)) > 1 ? try(local.groups_by_name[join("/", slice(split("/", group.dashboard_alert_group_name), 0, length(split("/", group.dashboard_alert_group_name)) - 1))].folder_uid, null) : null } } diff --git a/environments/modules/grafana_dashboard_folder_xt5/versions.tf b/environments/modules/grafana_dashboard_folder_xt5/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_dashboard_folder_xt5/versions.tf +++ b/environments/modules/grafana_dashboard_folder_xt5/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_dashboard_xt5/versions.tf b/environments/modules/grafana_dashboard_xt5/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_dashboard_xt5/versions.tf +++ b/environments/modules/grafana_dashboard_xt5/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_datasource/versions.tf b/environments/modules/grafana_datasource/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_datasource/versions.tf +++ b/environments/modules/grafana_datasource/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_notification_policies/variables.tf b/environments/modules/grafana_notification_policies/variables.tf index 260c559..32d85fb 100644 --- a/environments/modules/grafana_notification_policies/variables.tf +++ b/environments/modules/grafana_notification_policies/variables.tf @@ -1,11 +1,11 @@ variable "contact_points" { description = "List of contact points" type = list(object({ - name = string - type = string - is_default = optional(bool, false) - labels = optional(map(string)) - settings = map(string) + name = string + type = string + is_default = optional(bool, false) + labels = optional(map(string)) + settings = map(string) })) } @@ -46,31 +46,31 @@ variable "repeat_interval" { variable "notification_policies" { description = "Routing rules for specific label sets" - type = list(object({ + type = list(object({ contact_point = string continue = optional(bool) group_by = optional(list(string)) group_wait = optional(string) group_interval = optional(string) repeat_interval = optional(string) - matchers = list(object({ + matchers = list(object({ label = string match = string # Allowed operators are = for equality, != for negated equality, =~ for regex equality, and !~ for negated regex equality value = string })) - policies = optional(list(object({ + policies = optional(list(object({ contact_point = string continue = optional(bool) group_by = optional(list(string)) group_wait = optional(string) group_interval = optional(string) repeat_interval = optional(string) - matchers = list(object({ + matchers = list(object({ label = string match = string value = string })) })), []) })) - default = [] + default = [] } diff --git a/environments/modules/grafana_notification_policies/versions.tf b/environments/modules/grafana_notification_policies/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_notification_policies/versions.tf +++ b/environments/modules/grafana_notification_policies/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_rule_group/versions.tf b/environments/modules/grafana_rule_group/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_rule_group/versions.tf +++ b/environments/modules/grafana_rule_group/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } } diff --git a/environments/modules/grafana_rule_group_test/versions.tf b/environments/modules/grafana_rule_group_test/versions.tf index 1227670..f13f855 100644 --- a/environments/modules/grafana_rule_group_test/versions.tf +++ b/environments/modules/grafana_rule_group_test/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { grafana = { - source = "grafana/grafana" + source = "grafana/grafana" } } }