# ============================================================================= # Инфраструктурные сервисы (создаются первым прогоном apply) # RabbitMQ (очередь) + Redis (кэш) + MongoDB (архив) # ============================================================================= # --- RabbitMQ: очередь сообщений (сервис 93) --- # state_out_flat["internalConnect"] = K8s-хост (service.cluster.local) # vault_secrets["adminUser"] / ["adminPass"] = логин/пароль (прямые строки, не JSON) resource "nubes_rabbitmq" "main" { resource_name = local.rmq_resource_name # имя в личном кабинете startup_configuration = { # на каком K8s-кластере развернуть resource_realm = var.realm } cluster_configuration = { # ресурсы пода cpu = local.rmq_cpu # CPU millicores memory = local.rmq_memory # память MB disk = local.rmq_disk # диск GB replicas = local.rmq_replicas # количество нод } access_configuration = { # сетевой доступ master_ip_space = "no-needed" # не резервировать внешний IP master_access_list = jsonencode(["10.0.0.0/8"]) # внутренняя сеть K8s } operation_timeout = local.rmq_timeout # макс. время ожидания } # --- Redis: кэш дашборда (сервис 91) --- # state_out_flat["internalConnect.master"] = хост # vault_secrets["adminPass"] = пароль (прямая строка) resource "nubes_redis" "main" { resource_name = local.rds_resource_name startup_configuration = { resource_realm = var.realm } cluster_configuration = { cpu = local.rds_cpu memory = local.rds_memory disk = local.rds_disk replicas = local.rds_replicas } access_configuration = { master_ip_space = "no-needed" # не резервировать внешний IP master_access_list = jsonencode(["10.0.0.0/8"]) # доступ изнутри кластера slave_ip_space = "no-needed" # slave не нужен slave_access_list = jsonencode([]) # slave не нужен } operation_timeout = local.rds_timeout } # --- MongoDB: архив событий (сервис 92) --- # state_out_flat["internalConnect"] = хост # vault_secrets — пустой (нет дефолтных пользователей), подключаемся без пароля resource "nubes_mongodb" "main" { resource_name = local.mgo_resource_name startup_configuration = { resource_realm = var.realm } cluster_configuration = { cpu = local.mgo_cpu memory = local.mgo_memory disk = local.mgo_disk replicas = local.mgo_replicas } access_configuration = { master_ip_space = "no-needed" master_access_list = jsonencode(["10.0.0.0/8"]) } operation_timeout = local.mgo_timeout }