From 2ffaa5060e708cde2118875d8ddd498ec48e71f0 Mon Sep 17 00:00:00 2001 From: Stanislav Kopp Date: Tue, 26 Aug 2025 18:38:36 +0200 Subject: [PATCH] Fixes --- grafana/README.md | 18 +++++++++--------- grafana/datasource/datasource.tf | 13 ++++++------- grafana/datasource/variables.tf | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/grafana/README.md b/grafana/README.md index 856b2d9..d0482a4 100644 --- a/grafana/README.md +++ b/grafana/README.md @@ -83,17 +83,17 @@ module "datasource" { datasources = { Thanos-Common-Infra-PRD = { - type = "prometheus" - url_key = "thanos_coin_prd" - user_key = "thanos_coin_prd" - pass_key = "thanos_coin_prd" - is_default = true + type = "prometheus" + url_key = "thanos_coin_prd" + basic_auth_user_key = "thanos_coin_prd" + pass_key = "thanos_coin_prd" + is_default = true } Loki-Common-Infra-PRD = { - type = "loki" - url_key = "loki_coin_prd" - user_key = "loki_coin_prd" - pass_key = "loki_coin_prd" + type = "loki" + url_key = "loki_coin_prd" + basic_auth_user_key = "loki_coin_prd" + pass_key = "loki_coin_prd" } } diff --git a/grafana/datasource/datasource.tf b/grafana/datasource/datasource.tf index 2fc1eab..34a22fe 100644 --- a/grafana/datasource/datasource.tf +++ b/grafana/datasource/datasource.tf @@ -1,4 +1,4 @@ -# Step 1: Create the basic "shell" of each datasource. +# Create the basic "shell" of each datasource. resource "grafana_data_source" "this" { for_each = var.datasources @@ -8,7 +8,6 @@ resource "grafana_data_source" "this" { is_default = coalesce(each.value.is_default, false) # For HTTP Basic Auth (Loki, Prometheus, etc.) - # FIX: Changed 'user_key' to 'basic_auth_user_key' to match your variables.tf basic_auth_enabled = each.value.basic_auth_user_key != null basic_auth_username = each.value.basic_auth_user_key != null ? var.datasource_users[each.value.basic_auth_user_key] : null @@ -16,7 +15,7 @@ resource "grafana_data_source" "this" { # This sets the username initially. username = each.value.db_user_key != null ? var.datasource_users[each.value.db_user_key] : null - # CRITICAL FIX: This resource must ignore attributes that are + # This resource must ignore attributes that are # managed by the other 'config' resources below. lifecycle { ignore_changes = [ @@ -28,7 +27,7 @@ resource "grafana_data_source" "this" { } } -# Step 2: Apply the main json_data for datasources like PostgreSQL. +# Apply the main json_data for datasources like PostgreSQL. resource "grafana_data_source_config" "json_data_main" { for_each = { for k, v in var.datasources : k => v @@ -45,7 +44,7 @@ resource "grafana_data_source_config" "json_data_main" { } } -# Step 3: Apply passwords to all datasources that require one. +# Apply passwords to all datasources that require one. resource "grafana_data_source_config" "passwords" { for_each = { for k, v in var.datasources : k => v if v.pass_key != null @@ -67,7 +66,7 @@ resource "grafana_data_source_config" "passwords" { } } -# Step 4: Apply Loki-specific 'derivedFields' configuration. +# Apply Loki-specific 'derivedFields' configuration. resource "grafana_data_source_config" "loki_derived_fields" { for_each = { for k, v in var.datasources : k => v if v.type == "loki" && v.derived_fields != null @@ -90,7 +89,7 @@ resource "grafana_data_source_config" "loki_derived_fields" { } } -# Step 5: Apply Tempo-specific 'tracesToLogsV2' configuration. +# Apply Tempo-specific 'tracesToLogsV2' configuration. resource "grafana_data_source_config" "tempo_traces_to_logs" { for_each = { for k, v in var.datasources : k => v if v.type == "tempo" && v.traces_to_logs != null diff --git a/grafana/datasource/variables.tf b/grafana/datasource/variables.tf index 94ebfa8..b505e8d 100644 --- a/grafana/datasource/variables.tf +++ b/grafana/datasource/variables.tf @@ -15,7 +15,7 @@ EOT # Key to look up a basic auth username basic_auth_user_key = optional(string) - # ADDED BACK: Non-sensitive JSON data for Postgres, etc. + # Non-sensitive JSON data for Postgres, etc. json_data = optional(map(any)) # Linking Attributes (for Loki/Tempo)