Files
a13labs.infra/terraform/apps/dev-01/apps.tf
T
alexandre.pires 350650ecc2 Add GPU monitoring services and configurations
- Create systemd service templates for llama_exporter, nvidia_exporter, and podman.
- Add Prometheus configuration template for GPU metrics scraping.
- Introduce variables for GPU monitoring role in main.yml.
- Implement tasks for syncing llama models, including user setup and package installation.
- Update podman tasks to ensure proper sudo access and lingering for the podman user.
- Modify inventory to include gpu_monitoring group.
- Add Terraform modules for deploying Vaultwarden, including ingress and service configurations.
- Create Grafana dashboard for real-time GPU monitoring metrics.
- Update secrets and environment files to include Vaultwarden admin token.
2026-05-29 23:42:14 +02:00

105 lines
2.6 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
secret_key = var.webui_secret_key
tag = "v0.9.2-slim"
log_level = local.open_webui_log_level
}
module "samba" {
source = "../../modules/apps/samba"
shares = local.samba_shares
}
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
nextcloud_data = local.nextcloud_data
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 "mstream" {
source = "../../modules/apps/mstream"
persistent_folder = local.persistent_folder
music_folder = local.mstream_music_folder
fqdn = local.mstream_fqdn
}
module "searxng" {
source = "../../modules/apps/searxng"
persistent_folder = local.searxng_folder
fqdn = local.searxng_fqdn
issuer = local.searxng_issuer
tag = "2026.5.2-aefc3c316"
secret_key = var.searxng_secret_key
}
module "vaultwarden" {
source = "../../modules/apps/vaultwarden"
persistent_folder = local.vaultwarden_folder
fqdn = local.vaultwarden_fqdn
issuer = local.vaultwarden_issuer
tag = "1.33.4"
admin_token = var.vaultwarden_admin_token
}