Add dashboard UID auto-generation and Gitea CI workflow
This commit is contained in:
52
environments/modules/grafana_dashboard_xt5/main.tf
Normal file
52
environments/modules/grafana_dashboard_xt5/main.tf
Normal file
@ -0,0 +1,52 @@
|
||||
# Dashboards with both manual changes allowed and destroy protection
|
||||
resource "grafana_dashboard" "dashboards_ignore_and_protect" {
|
||||
for_each = { for d in local.dashboards_ignore_and_protect : d.file_path => d }
|
||||
|
||||
config_json = file(each.value.file_path)
|
||||
folder = each.value.folder_id
|
||||
org_id = var.org_id
|
||||
overwrite = true
|
||||
|
||||
lifecycle {
|
||||
prevent_destroy = true
|
||||
ignore_changes = [config_json]
|
||||
}
|
||||
}
|
||||
|
||||
# Dashboards with only manual changes allowed
|
||||
resource "grafana_dashboard" "dashboards_ignore_only" {
|
||||
for_each = { for d in local.dashboards_ignore_only : d.file_path => d }
|
||||
|
||||
config_json = file(each.value.file_path)
|
||||
folder = each.value.folder_id
|
||||
org_id = var.org_id
|
||||
overwrite = true
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [config_json]
|
||||
}
|
||||
}
|
||||
|
||||
# Dashboards with only destroy protection
|
||||
resource "grafana_dashboard" "dashboards_protect_only" {
|
||||
for_each = { for d in local.dashboards_protect_only : d.file_path => d }
|
||||
|
||||
config_json = file(each.value.file_path)
|
||||
folder = each.value.folder_id
|
||||
org_id = var.org_id
|
||||
overwrite = true
|
||||
|
||||
lifecycle {
|
||||
prevent_destroy = true
|
||||
}
|
||||
}
|
||||
|
||||
# Standard dashboards without any special lifecycle management
|
||||
resource "grafana_dashboard" "dashboards_standard" {
|
||||
for_each = { for d in local.dashboards_standard : d.file_path => d }
|
||||
|
||||
config_json = file(each.value.file_path)
|
||||
folder = each.value.folder_id
|
||||
org_id = var.org_id
|
||||
overwrite = true
|
||||
}
|
||||
Reference in New Issue
Block a user