Files
grafana-terraform/environments/dev/adibrov/main.tf
Alexandr 9f857374c1
All checks were successful
terraform-dev / validate (push) Successful in 5s
terraform-dev / plan (push) Successful in 6s
terraform-dev / apply (push) Has been skipped
Point Grafana provider to local IP:3000
2026-03-25 09:14:16 +03:00

88 lines
2.7 KiB
HCL

# Module for managing datasources
module "grafana_datasource01" {
source = "../../modules/grafana_datasource"
datasources = var.datasources
org_id = var.org_id
providers = {
grafana = grafana.grafana01
}
}
# Module for managing folders
module "grafana_dashboard_folder01" {
source = "../../modules/grafana_dashboard_folder"
groups = var.groups
org_id = var.org_id
providers = {
grafana = grafana.grafana01
}
}
# Module for managing dashboards
module "grafana_dashboard01" {
source = "../../modules/grafana_dashboard"
groups = var.groups
org_id = var.org_id
folder_ids = module.grafana_dashboard_folder01.folder_ids
dashboard_uid_max_length = var.dashboard_uid_max_length
depends_on = [module.grafana_dashboard_folder01]
providers = {
grafana = grafana.grafana01
}
}
# Module for managing contact points
module "grafana_contact_points01" {
source = "../../modules/grafana_contact_points"
org_id = var.org_id
env = var.env
grafana_url = "http://192.168.0.106:3000"
contact_points = var.enable_contact_points ? local.contact_points : []
providers = {
grafana = grafana.grafana01
}
}
# Module for managing notification policies
module "grafana_notification_policies01" {
source = "../../modules/grafana_notification_policies"
org_id = var.org_id
contact_points = var.enable_contact_points ? local.contact_points : []
notification_policies = var.enable_contact_points ? var.notification_policies : []
depends_on = [module.grafana_contact_points01]
providers = {
grafana = grafana.grafana01
}
}
# Module for managing rule group
module "grafana_rule_group01" {
source = "../../modules/grafana_rule_group"
org_id = var.org_id
groups = var.groups
folder_uids = module.grafana_dashboard_folder01.folder_uids
datasources = var.datasources
providers = {
grafana = grafana.grafana01
}
# Time-related parameters
interval_seconds = var.interval_seconds
default_interval_ms = var.default_interval_ms
default_alert_duration = var.default_alert_duration
default_evaluation_interval = var.default_evaluation_interval
default_time_range_from = var.default_time_range_from
default_processing_range = var.default_processing_range
default_max_data_points = var.default_max_data_points
default_no_data_state = var.default_no_data_state
default_exec_err_state = var.default_exec_err_state
depends_on = [
module.grafana_datasource01,
module.grafana_notification_policies01,
module.grafana_dashboard_folder01,
module.grafana_contact_points01
]
}