Files
a13labs.infra/terraform/apps/dev-01/apps.tf
T
alexandre.pires 429a94332e feat: add disk exporter module and related configurations
- Introduced a new disk exporter module to monitor disk health using SMART data.
- Updated `apps.tf` to include the disk exporter module with necessary parameters.
- Added local variables for smartctl version and checksum in `config.tf`.
- Enhanced `alertmanager.yml` to handle DiskUnhealthy alerts with specific grouping and dispatch settings.
- Created new Prometheus rules for monitoring disk health, including alerts for unhealthy disks.
- Updated Prometheus configuration to scrape metrics from the new disk exporter.
- Enhanced Telegram notification template to include resolved alerts and improved formatting.
- Updated the auth-exporter module to specify the Python image tag correctly.
- Created the disk-exporter module with Kubernetes resources, including deployment, service account, and config map.
- Added necessary Python scripts and requirements for the disk exporter functionality.
2025-10-06 18:41:01 +02:00

93 lines
2.3 KiB
Terraform

module "open-webui" {
source = "../../modules/apps/open-webui"
persistent_folder = local.persistent_folder
fqdn = local.open_webui_fqdn
ollama_proxy = local.ollama_proxy
tag = "0.6-slim"
}
module "samba" {
source = "../../modules/apps/samba"
shared_folder = local.samba_shared_folder
}
module "dns" {
source = "../../modules/apps/coredns"
forward_dns_servers = local.dns_nameservers
override_hosts = local.override_hosts
zones = local.zones
}
module "proxy" {
source = "../../modules/utils/proxy"
services = local.proxy_services
streams = local.streams
}
module "nextcloud" {
source = "../../modules/apps/nextcloud"
fqdn = local.nextcloud_fqdn
persistent_folder = local.persistent_folder
app_config = local.nextcloud_config
db_credentials_are_secrets = true
tls_enabled = true
issuer = local.internal_issuer
}
module "comfyui_proxy" {
source = "../../modules/utils/wol_proxy"
upstream = local.comfyui_proxy
proxy_port = local.comfyui_proxy.port
namespace = "comfyui"
}
module "prometheus" {
source = "../../modules/utils/prometheus"
cluster_name = "dev-01"
persistent_folder = "${local.persistent_folder}/monitoring"
config = local.prometheus_config
rules = local.prometheus_rules
alertmanager_config = local.alertmanager_config
email_config = local.alertmanager_email_config
telegram_config = {
bot_token = var.telegram_bot_token
chat_id = local.telegram_chat_id
message = local.telegram_message
}
}
module "grafana" {
source = "../../modules/apps/grafana"
persistent_folder = "${local.persistent_folder}/monitoring"
fqdn = local.grafana_fqdn
}
module "node_exporter" {
source = "../../modules/utils/node-exporter"
}
module "auth_exporter" {
source = "../../modules/utils/auth-exporter"
persistent_folder = "${local.persistent_folder}/monitoring"
}
module "disk_exporter" {
source = "../../modules/utils/disk-exporter"
persistent_folder = "${local.persistent_folder}/monitoring"
smartctl_static_version = local.smartctl_static_version
smartctl_sha256 = local.smartctl_sha256
check_frequency = 600
standby_mode = false
}