feat: IoT demo — RabbitMQ + Redis + MongoDB + Node.js producer plan (test stand cleanup)

This commit is contained in:
“Naeel”
2026-07-21 21:58:00 +04:00
parent 0adb379a54
commit a37fc22bcd
16 changed files with 215 additions and 225 deletions
+13 -12
View File
@@ -1,11 +1,10 @@
# =============================================================================
# Flask Producer — генерирует IoT-события, шлёт в Kafka
# Flask Producer — генерирует IoT-события, шлёт в RabbitMQ
# =============================================================================
locals {
# vault_secrets для доступа к паролям (ключ зависит от сервиса: users/secrets)
producer_kafka_secrets = try(jsondecode(nubes_kafka.main.vault_secrets["users"]), jsondecode(nubes_kafka.main.vault_secrets["secrets"]), tomap({}))
producer_kafka_brokers = try(nubes_kafka.main.state_out_flat["bootstrapServers"], "")
producer_kafka_password = try(nonsensitive(lookup(local.producer_kafka_secrets, "iot-app", tomap({})).password), "")
producer_rabbit_host = try(nubes_rabbitmq.main.state_out_flat["internalConnect"], "")
producer_rabbit_user = try(nonsensitive(nubes_rabbitmq.main.vault_secrets["adminUser"]), "admin")
producer_rabbit_password = try(nonsensitive(nubes_rabbitmq.main.vault_secrets["adminPass"]), "")
}
resource "nubes_flask" "producer" {
@@ -31,16 +30,18 @@ resource "nubes_flask" "producer" {
health_path = "/health"
}
git_revision = local.producer_git_revision
operation_timeout = local.producer_timeout
git_revision = local.producer_git_revision
operation_timeout = local.producer_timeout
adopt_existing_on_create = true
json_env = jsonencode({
KAFKA_BROKERS = local.producer_kafka_brokers
KAFKA_TOPIC = local.kafka_topic_name
KAFKA_USERNAME = local.kafka_username
KAFKA_PASSWORD = local.producer_kafka_password
RABBIT_HOST = local.producer_rabbit_host
RABBIT_PORT = "5672"
RABBIT_USER = local.producer_rabbit_user
RABBIT_PASSWORD = local.producer_rabbit_password
RABBIT_QUEUE = local.rabbit_queue
PRODUCE_INTERVAL = "3"
})
depends_on = [nubes_kafka.main]
depends_on = [nubes_rabbitmq.main]
}