Files
tf_provider/apps/iot-demo/HISTORY/04-plan-success.md
T

42 lines
1.6 KiB
Markdown

# Шаг 4 — Terraform plan (успех)
**Дата:** 2026-07-21
## Результат
`terraform plan` — **успешно**. 9 ресурсов, 0 ошибок.
## Исправления
1. **Синтаксис vault_secrets** — `${local.var}` нельзя использовать после точки.
Решение: декодировать в отдельный local, хардкодить username (как в CRUD):
```hcl
locals {
kafka_secrets = jsondecode(nubes_kafka.main.vault_secrets["users"])
password = nonsensitive(local.kafka_secrets["iot-app"].password)
}
```
2. **ClickHouse обязательные блоки** — добавлены:
- `clickhouse_keeper_configuration` (cpu/memory/replicas)
- `backup_configuration` (s3_uid/retain/schedule)
- `autoscale_configuration` (enabled/percent/quota/schedule)
## План (9 ресурсов)
| # | Ресурс | Имя |
|---|--------|-----|
| 1 | nubes_kafka | iot-kafka |
| 2 | nubes_kafka_topic | iot-events |
| 3 | nubes_kafka_user | iot-app |
| 4 | nubes_clickhouse | iot-clickhouse |
| 5 | nubes_clickhouse_database | iot |
| 6 | nubes_clickhouse_user | iot_writer |
| 7 | nubes_flask | iot-producer |
| 8 | nubes_flask | iot-consumer |
| 9 | nubes_superset | iot-superset |
## ⚠️ Остаётся неизвестным
Ключи `state_out_flat` (`bootstrapServers`, `internalMaster`) и формат `vault_secrets` — станут известны только после `apply`. Завёрнуты в `try()` чтобы не упасть, но реальные значения будут пустыми до создания инстансов.