46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# Шаг 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, но требует проверки
|