diff --git a/docs/TODO/what_not_in_terraform.md b/docs/TODO/what_not_in_terraform.md new file mode 100644 index 0000000..f4a0cae --- /dev/null +++ b/docs/TODO/what_not_in_terraform.md @@ -0,0 +1,46 @@ +# Что НЕ надо класть в Terraform и почему + +## Не управляется Terraform — делается в Личном кабинете (один раз) + +### vcOrg / vcVdc / vcNsxt — облачный фундамент + +| Сервис | Почему не Terraform | +|--------|---------------------| +| **Организация в Cloud Director** (vcOrg) | Одна на resources realm. Нельзя создать вторую. При destroy — карантин на 14 дней, блокирует всё. | +| **Виртуальный датацентр vDC** (vcVdc) | Квота: 1 на организацию. Создание через Terraform ломается на API (500 на `GET cfsParams`). | +| **Сетевой шлюз Edge** (vcNsxt) | Квота: 1 на vDC. Требует AVI, SNAT, ipSpace — настройка в 3 шага (create → modify org → modify edge). Terraform не умеет create+modify в одном apply. | + +**Вывод**: фундамент всегда уже есть у любого клиента. Создаётся один раз через ЛК. + +### Штурвал (Kubernetes-кластер) + +| Почему не Terraform | +|---------------------| +| Одноразовая операция. Модификаций почти нет — workers, версия, диски, и то редко. | +| Destroy = потеря кластера со всеми подами и данными. `suspend_on_destroy` спасает, но риск велик. | +| Процесс создания длительный, чувствителен к таймаутам и сбоям — в ЛК виднее что происходит. | + +## Что Управляется Terraform — PaaS/SaaS слой + +``` +PostgreSQL Redis Kafka ClickHouse RabbitMQ MariaDB MongoDB +S3 Buckets Node.js Lucee Gitea Nextcloud Harbor ... +``` + +Эти сервисы создаются/меняются/удаляются многократно, имеют повторяемые конфигурации и связаны зависимостями (app → db, app → s3). + +## Схема + +``` +┌─ Личный кабинет (один раз) ──────────┐ +│ vcOrg → vcVdc → vcNsxt (Edge+AVI) │ +│ Штурвал (Kubernetes-кластер) │ +└──────────────────────────────────────┘ + │ edge_uid + ▼ +┌─ Terraform (IaC, повторяемо) ────────┐ +│ Postgres, S3, Redis, Kafka, │ +│ RabbitMQ, ClickHouse, MariaDB, │ +│ MongoDB, Node.js, Lucee, Gitea ... │ +└──────────────────────────────────────┘ +```