Files
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

62 lines
4.1 KiB
Terraform

# =============================================================================
# Общие переменные для всех ресурсов демо-стенда IoT
# Пайплайн: Producer -> RabbitMQ -> Consumer -> Redis+MongoDB -> Dashboard
# Все значения вынесены сюда — в ресурсах хардкода нет
# =============================================================================
locals {
# --- RabbitMQ: очередь сообщений (сервис 93) ---
rmq_resource_name = "iot-rmq" # имя инстанса в личном кабинете Nubes
rmq_cpu = 300 # CPU в millicores (1000 = 1 ядро)
rmq_memory = 512 # память в MB
rmq_disk = 5 # диск в GB
rmq_replicas = 1 # количество реплик (нод)
rmq_timeout = "11m" # таймаут ожидания операций create/modify
rmq_queue = "iot-events" # имя очереди: producer кладёт, consumer забирает
# --- Redis: кэш дашборда (сервис 91) ---
rds_resource_name = "iot-rds" # имя инстанса (rds = ReDiS)
rds_cpu = 300 # CPU millicores
rds_memory = 512 # память MB
rds_disk = 5 # диск GB
rds_replicas = 1 # реплик (нод)
rds_timeout = "11m" # таймаут операций
# --- MongoDB: архив всех событий (сервис 92) ---
mgo_resource_name = "iot-mgo" # имя инстанса (mgo = MonGO)
mgo_cpu = 300 # CPU millicores
mgo_memory = 512 # память MB
mgo_disk = 5 # диск GB
mgo_replicas = 1 # реплик (нод)
mgo_timeout = "11m" # таймаут операций
# --- Producer (Node.js): генерирует IoT-события -> RabbitMQ ---
prod_resource_name = "iot-prod" # имя инстанса в личном кабинете
prod_domain = "iot-prod" # поддомен (станет <domain>.nodejsk8s.dev.nubes.ru)
prod_git_path = "https://gitea.services.ngcloud.ru/ВАШ_ЛОГИН/tf-iot-producer.git" # ⚠️ замените на свой форк
prod_git_revision = "main" # ветка или хеш коммита для деплоя
prod_cpu = 300 # CPU millicores
prod_memory = 256 # память MB
prod_replicas = 1 # количество подов
prod_timeout = "11m" # таймаут операций
# --- Consumer (Node.js): RabbitMQ -> Redis + MongoDB ---
cons_resource_name = "iot-cons" # имя инстанса в личном кабинете
cons_domain = "iot-cons" # поддомен (станет <domain>.nodejsk8s.dev.nubes.ru)
cons_git_path = "https://gitea.services.ngcloud.ru/ВАШ_ЛОГИН/tf-iot-consumer.git" # ⚠️ замените на свой форк
cons_git_revision = "main" # ветка или хеш коммита для деплоя
cons_cpu = 300 # CPU millicores
cons_memory = 256 # память MB
cons_replicas = 1 # количество подов
cons_timeout = "11m" # таймаут операций
# --- Dashboard (Node.js + Chart.js): Redis -> графики ---
dash_resource_name = "iot-dash" # имя инстанса в личном кабинете
dash_domain = "iot-dash" # поддомен (станет <domain>.nodejsk8s.dev.nubes.ru)
dash_git_path = "https://gitea.services.ngcloud.ru/ВАШ_ЛОГИН/tf-iot-dashboard.git" # ⚠️ замените на свой форк
dash_git_revision = "main" # ветка или хеш коммита для деплоя
dash_cpu = 300 # CPU millicores
dash_memory = 256 # память MB
dash_replicas = 1 # количество подов
dash_timeout = "11m" # таймаут операций
}