350650ecc2
- 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.
105 lines
2.6 KiB
Terraform
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
|
|
}
|