feat: IoT demo — Kafka + Redis + MongoDB, 6 services, removed broken AKHQ/ClickHouse/Superset
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# =============================================================================
|
||||
# Flask Consumer — читает Kafka, пишет в ClickHouse
|
||||
# =============================================================================
|
||||
locals {
|
||||
consumer_kafka_secrets = jsondecode(nubes_kafka.main.vault_secrets["users"])
|
||||
consumer_kafka_bootstrap = "${try(nubes_kafka.main.state_out_flat["internalConnect.bootstrap.fqdn"], "")}:${try(nubes_kafka.main.state_out_flat["internalConnect.bootstrap.port"], "9093")}"
|
||||
consumer_kafka_password = try(nonsensitive(local.consumer_kafka_secrets["iot-app"]["user.password"]), "")
|
||||
consumer_kafka_ca_crt = try(nonsensitive(local.consumer_kafka_secrets["ca"]["ca.crt"]), "")
|
||||
consumer_kafka_user_crt = try(nonsensitive(local.consumer_kafka_secrets["iot-app"]["user.crt"]), "")
|
||||
consumer_kafka_user_key = try(nonsensitive(local.consumer_kafka_secrets["iot-app"]["user.key"]), "")
|
||||
consumer_ch_secrets = try(jsondecode(nubes_clickhouse.main.vault_secrets["users"]), tomap({}))
|
||||
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), "")
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
json_env = jsonencode({
|
||||
KAFKA_BROKERS = local.consumer_kafka_bootstrap
|
||||
KAFKA_TOPIC = local.kafka_topic_name
|
||||
KAFKA_USERNAME = local.kafka_username
|
||||
KAFKA_PASSWORD = local.consumer_kafka_password
|
||||
KAFKA_CA_CRT = local.consumer_kafka_ca_crt
|
||||
KAFKA_USER_CRT = local.consumer_kafka_user_crt
|
||||
KAFKA_USER_KEY = local.consumer_kafka_user_key
|
||||
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
|
||||
})
|
||||
|
||||
depends_on = [nubes_kafka.main, nubes_clickhouse.main]
|
||||
}
|
||||
Reference in New Issue
Block a user