Producer -> RabbitMQ -> Consumer -> Redis+MongoDB -> Dashboard Подробная инструкция в README.md: - Что заменить в locals.tf (домены, git_path, ресурсы) - Как заполнить terraform.tfvars - Как форкнуть репо приложений
62 lines
4.1 KiB
Terraform
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" # таймаут операций
|
|
}
|