# Шаг 3 — Terraform-конфиги **Дата:** 2026-07-21 ## Созданы файлы | Файл | Назначение | |------|-----------| | `main.tf` | Provider, variables | | `locals.tf` | Все настраиваемые параметры | | `kafka.tf` | `nubes_kafka` + topic + user | | `clickhouse.tf` | `nubes_clickhouse` + database + user | | `superset.tf` | `nubes_superset` | | `producer.tf` | `nubes_flask` — IoT продюсер | | `consumer.tf` | `nubes_flask` — IoT consumer | | `terraform.tfvars.example` | Пример переменных | ## Ресурсы (5 штук) ``` nubes_kafka.main ├── nubes_kafka_topic.events (iot-events) └── nubes_kafka_user.app (iot-app, read+write) nubes_clickhouse.main ├── nubes_clickhouse_database.iot (iot) └── nubes_clickhouse_user.writer (iot_writer) nubes_superset.dash nubes_flask.producer → Kafka nubes_flask.consumer → Kafka → ClickHouse ``` ## Передача секретов - Kafka: `vault_secrets["users"]` → пароль пользователя - ClickHouse: `vault_secrets["users"]` → пароль пользователя - Bootstrap servers: `state_out_flat["bootstrapServers"]` - ClickHouse host: `state_out_flat["internalMaster"]` ## ⚠️ Требует проверки - Точные ключи `state_out_flat` для Kafka (`bootstrapServers`) и ClickHouse (`internalMaster`) — нужна верификация на реальном стенде - Формат `vault_secrets["users"]` для Kafka и ClickHouse — аналогичен PostgreSQL, но требует проверки