chore(docs): удалить docs/TODO/what_not_in_terraform.md + убрать ссылки на него из комментариев

This commit is contained in:
Repinoid
2026-09-24 10:24:13 +03:00
parent 73a7459a38
commit 3973f912fc
3 changed files with 2 additions and 49 deletions
-46
View File
@@ -1,46 +0,0 @@
# Что НЕ надо класть в 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 ... │
└──────────────────────────────────────┘
```
+1 -2
View File
@@ -183,8 +183,7 @@ func (p *NubesProvider) Resources(ctx context.Context) []func() resource.Resourc
resources := resources_gen.AllResources()
resources = append(resources, resources_core.NewServiceOperationResource)
// Ресурсы-модификаторы для операций, которых нет в create-схеме ресурсов-инстансов.
// Организация и шлюз создаются вручную в ЛК (docs/TODO/what_not_in_terraform.md),
// поэтому адресуются по uid, а не ссылкой на ресурс.
// Организация и шлюз создаются вручную в ЛК, поэтому адресуются по uid, а не ссылкой на ресурс.
resources = append(resources, resources_core.NewOrgIpAllocationResource)
resources = append(resources, resources_core.NewNsxtSnatResource)
return resources
@@ -25,7 +25,7 @@ var _ resource.ResourceWithImportState = &OrgIpAllocationResource{}
// (сервис 19, vc_org) через операцию modify с параметром vIPConfigure (id 662).
//
// Организация НЕ управляется Terraform: она создаётся один раз вручную в ЛК
// (см. docs/TODO/what_not_in_terraform.md) и адресуется здесь по uid.
// и адресуется здесь по uid.
//
// Семантика операции — replace всего массива: переданное значение полностью заменяет
// текущую аллокацию (проверено тестом NOTES/30_analysis/ORG_IP_MODIFIER_TEST_2026-09-22.md).