Files

88 lines
2.7 KiB
Terraform
Raw Permalink Normal View History

# 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
]
}