59 lines
2.2 KiB
Terraform
59 lines
2.2 KiB
Terraform
# =============================================================================
|
|
# Flask Consumer — читает RabbitMQ, пишет в Redis + MongoDB
|
|
# =============================================================================
|
|
locals {
|
|
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" {
|
|
resource_name = local.consumer_resource_name
|
|
|
|
startup_configuration = {
|
|
resource_realm = var.realm
|
|
}
|
|
|
|
cluster_configuration = {
|
|
cpu = local.consumer_cpu
|
|
memory = local.consumer_memory
|
|
replicas = local.consumer_replicas
|
|
}
|
|
|
|
access_configuration = {
|
|
domain = local.consumer_domain
|
|
}
|
|
|
|
app_configuration = {
|
|
version = "3.12"
|
|
git_path = local.consumer_git_path
|
|
health_path = "/health"
|
|
}
|
|
|
|
git_revision = local.consumer_git_revision
|
|
operation_timeout = local.consumer_timeout
|
|
adopt_existing_on_create = true
|
|
|
|
json_env = jsonencode({
|
|
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_rabbitmq.main, nubes_redis.main, nubes_mongodb.main]
|
|
}
|