feat: IoT demo — RabbitMQ + Redis + MongoDB + Node.js producer plan (test stand cleanup)
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
# =============================================================================
|
||||
# Flask Consumer — читает Kafka, пишет в ClickHouse
|
||||
# Flask Consumer — читает RabbitMQ, пишет в Redis + MongoDB
|
||||
# =============================================================================
|
||||
locals {
|
||||
consumer_kafka_secrets = try(jsondecode(nubes_kafka.main.vault_secrets["users"]), jsondecode(nubes_kafka.main.vault_secrets["secrets"]), tomap({}))
|
||||
consumer_ch_secrets = try(jsondecode(nubes_clickhouse.main.vault_secrets["users"]), jsondecode(nubes_clickhouse.main.vault_secrets["secrets"]), tomap({}))
|
||||
consumer_kafka_brokers = try(nubes_kafka.main.state_out_flat["bootstrapServers"], "")
|
||||
consumer_kafka_password = try(nonsensitive(lookup(local.consumer_kafka_secrets, "iot-app", tomap({})).password), "")
|
||||
consumer_ch_host = try(nubes_clickhouse.main.state_out_flat["internalMaster"], "")
|
||||
consumer_ch_password = try(nonsensitive(lookup(local.consumer_ch_secrets, "iot_writer", tomap({})).password), "")
|
||||
consumer_rabbit_host = try(nubes_rabbitmq.main.state_out_flat["internalConnect"], "")
|
||||
consumer_rabbit_user = try(nonsensitive(nubes_rabbitmq.main.vault_secrets["adminUser"]), "admin")
|
||||
consumer_rabbit_password = try(nonsensitive(nubes_rabbitmq.main.vault_secrets["adminPass"]), "")
|
||||
|
||||
consumer_redis_host = try(nubes_redis.main.state_out_flat["internalConnect.master"], "")
|
||||
consumer_redis_password = try(nonsensitive(nubes_redis.main.vault_secrets["adminPass"]), "")
|
||||
|
||||
consumer_mongo_host = try(nubes_mongodb.main.state_out_flat["internalConnect"], "")
|
||||
consumer_mongo_user = try(nonsensitive(nubes_mongodb.main.vault_secrets["adminUser"]), "admin")
|
||||
consumer_mongo_password = try(nonsensitive(nubes_mongodb.main.vault_secrets["adminPass"]), "")
|
||||
}
|
||||
|
||||
resource "nubes_flask" "consumer" {
|
||||
@@ -33,21 +37,22 @@ resource "nubes_flask" "consumer" {
|
||||
health_path = "/health"
|
||||
}
|
||||
|
||||
git_revision = local.consumer_git_revision
|
||||
operation_timeout = local.consumer_timeout
|
||||
git_revision = local.consumer_git_revision
|
||||
operation_timeout = local.consumer_timeout
|
||||
adopt_existing_on_create = true
|
||||
|
||||
json_env = jsonencode({
|
||||
KAFKA_BROKERS = local.consumer_kafka_brokers
|
||||
KAFKA_TOPIC = local.kafka_topic_name
|
||||
KAFKA_USERNAME = local.kafka_username
|
||||
KAFKA_PASSWORD = local.consumer_kafka_password
|
||||
KAFKA_GROUP_ID = "iot-consumer-group"
|
||||
CH_HOST = local.consumer_ch_host
|
||||
CH_PORT = local.ch_http_port
|
||||
CH_USER = local.ch_username
|
||||
CH_PASSWORD = local.consumer_ch_password
|
||||
CH_DATABASE = local.ch_db_name
|
||||
RABBIT_HOST = local.consumer_rabbit_host
|
||||
RABBIT_PORT = "5672"
|
||||
RABBIT_USER = local.consumer_rabbit_user
|
||||
RABBIT_PASSWORD = local.consumer_rabbit_password
|
||||
RABBIT_QUEUE = local.rabbit_queue
|
||||
REDIS_HOST = local.consumer_redis_host
|
||||
REDIS_PORT = "6379"
|
||||
REDIS_PASSWORD = local.consumer_redis_password
|
||||
MONGO_URI = "mongodb://${local.consumer_mongo_user}:${local.consumer_mongo_password}@${local.consumer_mongo_host}:27017/iot?authSource=admin"
|
||||
MONGO_DB = "iot"
|
||||
})
|
||||
|
||||
depends_on = [nubes_kafka.main, nubes_clickhouse.main]
|
||||
depends_on = [nubes_rabbitmq.main, nubes_redis.main, nubes_mongodb.main]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user