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 := resources_gen.AllResources()
|
||||||
resources = append(resources, resources_core.NewServiceOperationResource)
|
resources = append(resources, resources_core.NewServiceOperationResource)
|
||||||
// Ресурсы-модификаторы для операций, которых нет в create-схеме ресурсов-инстансов.
|
// Ресурсы-модификаторы для операций, которых нет в create-схеме ресурсов-инстансов.
|
||||||
// Организация и шлюз создаются вручную в ЛК (docs/TODO/what_not_in_terraform.md),
|
// Организация и шлюз создаются вручную в ЛК, поэтому адресуются по uid, а не ссылкой на ресурс.
|
||||||
// поэтому адресуются по uid, а не ссылкой на ресурс.
|
|
||||||
resources = append(resources, resources_core.NewOrgIpAllocationResource)
|
resources = append(resources, resources_core.NewOrgIpAllocationResource)
|
||||||
resources = append(resources, resources_core.NewNsxtSnatResource)
|
resources = append(resources, resources_core.NewNsxtSnatResource)
|
||||||
return resources
|
return resources
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ var _ resource.ResourceWithImportState = &OrgIpAllocationResource{}
|
|||||||
// (сервис 19, vc_org) через операцию modify с параметром vIPConfigure (id 662).
|
// (сервис 19, vc_org) через операцию modify с параметром vIPConfigure (id 662).
|
||||||
//
|
//
|
||||||
// Организация НЕ управляется Terraform: она создаётся один раз вручную в ЛК
|
// Организация НЕ управляется Terraform: она создаётся один раз вручную в ЛК
|
||||||
// (см. docs/TODO/what_not_in_terraform.md) и адресуется здесь по uid.
|
// и адресуется здесь по uid.
|
||||||
//
|
//
|
||||||
// Семантика операции — replace всего массива: переданное значение полностью заменяет
|
// Семантика операции — replace всего массива: переданное значение полностью заменяет
|
||||||
// текущую аллокацию (проверено тестом NOTES/30_analysis/ORG_IP_MODIFIER_TEST_2026-09-22.md).
|
// текущую аллокацию (проверено тестом NOTES/30_analysis/ORG_IP_MODIFIER_TEST_2026-09-22.md).
|
||||||
|
|||||||
Reference in New Issue
Block a user