feat: IoT Kafka demo — Terraform + history (test stand fail, moving to dev)
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# =============================================================================
|
||||
# Flask Producer — генерирует IoT-события, шлёт в Kafka
|
||||
# =============================================================================
|
||||
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), "")
|
||||
}
|
||||
|
||||
resource "nubes_flask" "producer" {
|
||||
resource_name = local.producer_resource_name
|
||||
|
||||
startup_configuration = {
|
||||
resource_realm = var.realm
|
||||
}
|
||||
|
||||
cluster_configuration = {
|
||||
cpu = local.producer_cpu
|
||||
memory = local.producer_memory
|
||||
replicas = local.producer_replicas
|
||||
}
|
||||
|
||||
access_configuration = {
|
||||
domain = local.producer_domain
|
||||
}
|
||||
|
||||
app_configuration = {
|
||||
version = "3.12"
|
||||
git_path = local.producer_git_path
|
||||
health_path = "/health"
|
||||
}
|
||||
|
||||
git_revision = local.producer_git_revision
|
||||
operation_timeout = local.producer_timeout
|
||||
|
||||
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
|
||||
PRODUCE_INTERVAL = "3"
|
||||
})
|
||||
|
||||
depends_on = [nubes_kafka.main]
|
||||
}
|
||||
Reference in New Issue
Block a user