# RabbitMQ кластер для демо. resource "nubes_rabbitmq" "rb1" { resource_name = "rabbit_0" resource_realm = "k8s-3.ext.nubes.ru" resource_instances = 1 resource_memory = 512 resource_c_p_u = 500 resource_disk = 5 need_external_address_master = false need_external_address_slave = false } # Lucee UI, который пишет в Rabbit и читает из Postgres. resource "nubes_lucee" "rabbit_ui" { resource_name = "rb-lucee-ui" resource_realm = "k8s-3.ext.nubes.ru" domain = "rb-ui" app_version = "5.4" git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/rabbit-lsd.git" resource_c_p_u = 300 resource_memory = 512 resource_instances = 1 # Переменные окружения для datasource, Rabbit и UI. json_env = jsonencode({ testds_bundleName = "org.postgresql.jdbc" testds_bundleVersion = "42.6.0" testds_class = "org.postgresql.Driver" testds_connectionLimit = "5" testds_connectionString = "jdbc:postgresql://${var.PGHOST}:5432/postgres" testds_liveTimeout = "15" testds_username = var.PGUSER testds_password = var.PGPASSWORD testds_validate = "false" PG_TABLE = "rabbit_messages" UI_LOG_TABLE = "rabbit_ui_log" RABBIT_HOST = try(nubes_rabbitmq.rb1.state_out_flat["internalConnect.master"], nubes_rabbitmq.rb1.state_out_flat["inernalConnect.master"]) RABBIT_PORT = "5672" RABBIT_USER = nubes_rabbitmq.rb1.vault_secrets["adminUser"] RABBIT_PASSWORD = nubes_rabbitmq.rb1.vault_secrets["adminPass"] RABBIT_VHOST = "/" RABBIT_QUEUES = "crud_queue" RABBIT_DURABLE = "true" RABBIT_ADMIN_URL = "https://${nubes_rabbitmq.rb1.state_out_flat["externalConnect.admin.fqdn"]}/#/" NODEWORKER_URL = "https://nodeworker.nodejsk8s.services.ngcloud.ru/" }) depends_on = [nubes_rabbitmq.rb1] } # NodeJS воркер, который переносит CRUD из очереди в Postgres. resource "nubes_nodejs" "rabbit_nodeworker" { resource_name = "nodeworker" resource_realm = "k8s-3.ext.nubes.ru" domain = "nodeworker" app_version = "23" git_path = "https://gitea-naeel.giteak8s.services.ngcloud.ru/naeel/rabbit-nodeworker.git" health_path = "/healthz" resource_c_p_u = 100 resource_memory = 256 resource_instances = 1 # Параметры подключения к Rabbit и Postgres. json_env = jsonencode({ RABBIT_HOST = try(nubes_rabbitmq.rb1.state_out_flat["internalConnect.master"], nubes_rabbitmq.rb1.state_out_flat["inernalConnect.master"]) RABBIT_PORT = "5672" RABBIT_USER = nubes_rabbitmq.rb1.vault_secrets["adminUser"] RABBIT_PASSWORD = nubes_rabbitmq.rb1.vault_secrets["adminPass"] RABBIT_VHOST = "/" RABBIT_QUEUES = "crud_queue" RABBIT_DURABLE = "true" RABBIT_PREFETCH = "1" REQUEUE_ON_ERROR = "true" PGHOST = var.PGHOST PGPORT = "5432" PGUSER = var.PGUSER PGPASSWORD = var.PGPASSWORD PGDATABASE = "postgres" PGSSLMODE = "require" PG_TABLE = "rabbit_messages" }) depends_on = [nubes_rabbitmq.rb1] } # # Ручной триггер redeploy для воркера. # resource "nubes_nodejs_redeploy" "rabbit_nodeworker_redeploy" { # nodejs_id = nubes_nodejs.rabbit_nodeworker.id # resource_realm = "k8s-3.ext.nubes.ru" # run_id = "redeploy-2026-02-2-01134" # } # # Ручной триггер restart для Lucee UI. # resource "nubes_lucee_restart" "rabbit_ui_restart" { # lucee_id = nubes_lucee.rabbit_ui.id # run_id = "restart-2026-02-23-023" # } # S3 бакет baba. resource "nubes_s3bucket" "baba_bucket" { resource_name = "baba-buck" s3_user_uid = "s3-111805" bucket_name = "baba" }