chore(docs): удалить docs/TODO/what_not_in_terraform.md + убрать ссылки на него из комментариев
This commit is contained in:
@@ -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 ... │
|
||||
└──────────────────────────────────────┘
|
||||
```
|
||||
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user