# ============================================================================= # Инфраструктурные сервисы (создаются первым прогоном 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 # макс. время ожидания adopt_existing_on_create = true # подхватить suspended инстанс при повторном apply } # --- Redis: кэш дашборда (сервис 91) --- # state_out_flat["internalConnect.master"] = хост # vault_secrets["adminPass"] = пароль (прямая строка, не JSON) resource "nubes_redis" "main" { resource_name = local.rds_resource_name # имя в личном кабинете (rds = ReDiS) startup_configuration = { # на каком K8s-кластере resource_realm = var.realm } cluster_configuration = { # ресурсы пода cpu = local.rds_cpu # CPU millicores memory = local.rds_memory # память MB disk = local.rds_disk # диск GB replicas = local.rds_replicas # количество нод } access_configuration = { # сетевой доступ master_ip_space = "no-needed" # не резервировать внешний IP master_access_list = jsonencode(["10.0.0.0/8"]) # разрешить всю внутреннюю сеть K8s slave_ip_space = "no-needed" # slave-нода не нужна slave_access_list = jsonencode([]) # slave-нода не нужна } operation_timeout = local.rds_timeout # макс. время ожидания операций adopt_existing_on_create = true # подхватить suspended инстанс при повторном apply } # --- MongoDB: архив событий (сервис 92) --- # state_out_flat["internalConnect"] = хост # vault_secrets — пустой (нет дефолтных пользователей), подключаемся без пароля resource "nubes_mongodb" "main" { resource_name = local.mgo_resource_name # имя в личном кабинете (mgo = MonGO) startup_configuration = { # на каком K8s-кластере resource_realm = var.realm } cluster_configuration = { # ресурсы пода cpu = local.mgo_cpu # CPU millicores memory = local.mgo_memory # память MB disk = local.mgo_disk # диск GB replicas = local.mgo_replicas # количество нод } access_configuration = { # сетевой доступ master_ip_space = "no-needed" # не резервировать внешний IP master_access_list = jsonencode(["10.0.0.0/8"]) # разрешить всю внутреннюю сеть K8s } operation_timeout = local.mgo_timeout # макс. время ожидания adopt_existing_on_create = true # подхватить suspended инстанс при повторном apply }