Files
tf_examples/iot-rmq-demo/dashboard.tf
T
naeel 5511546534 IoT Demo: Terraform-конфиг для 6 сервисов Nubes Cloud
Producer -> RabbitMQ -> Consumer -> Redis+MongoDB -> Dashboard

Подробная инструкция в README.md:
- Что заменить в locals.tf (домены, git_path, ресурсы)
- Как заполнить terraform.tfvars
- Как форкнуть репо приложений
2026-07-22 10:19:24 +04:00

48 lines
1.9 KiB
Terraform

# =============================================================================
# Dashboard (Node.js + Chart.js) — читает Redis, показывает графики
# API: /api/latest, /api/counters, /api/recent
# =============================================================================
locals {
# Подключение к Redis (только чтение)
dash_rds_host = nubes_redis.main.state_out_flat["internalConnect.master"] # K8s-хост Redis
dash_rds_pass = nonsensitive(nubes_redis.main.vault_secrets["adminPass"]) # пароль Redis
}
resource "nubes_nodejs" "dashboard" {
resource_name = local.dash_resource_name # имя в личном кабинете
startup_configuration = {
resource_realm = var.realm # K8s-кластер
}
cluster_configuration = {
cpu = local.dash_cpu # CPU millicores
memory = local.dash_memory # память MB
replicas = local.dash_replicas # количество подов
}
access_configuration = {
domain = local.dash_domain # поддомен -> iotdash22.nodejsk8s.dev.nubes.ru
}
app_configuration = {
version = "22" # версия Node.js
git_path = local.dash_git_path # Git-репо с кодом
health_path = "/" # health-check
}
git_revision = local.dash_git_revision # коммит для деплоя
operation_timeout = local.dash_timeout # таймаут
adopt_existing_on_create = true # подхватить suspended инстанс при повторном apply
# Переменные окружения
json_env = jsonencode({
REDIS_HOST = local.dash_rds_host # хост Redis
REDIS_PORT = "6379" # порт Redis
REDIS_PASS = local.dash_rds_pass # пароль Redis
})
depends_on = [nubes_redis.main] # ждать создания Redis
}