feat(test-stand): TEST_STAND/FPipeGmail — копия dev-примера под test-стенд

Создана папка (без .terraform/state/lock — это состояние dev). Изменены параметры:
- versions.tf: nubes-dev/nubes 2.0.1 -> nubes-test/nubes 3.0.0;
- variables.tf: api_endpoint -> lk-api-gateway-test.ngcloud.ru;
- terraform.tfvars: organization=NaeelOrg (найдена через API, svc 19), ip_count=10
  (в test на орге уже выделено 10 IP), storage SSD (в test vDC строят на SSD);
- shturval.tf: shturval-test1 / shturval-test-01 / workers-shturval-test.

Коллизии проверены: в test заняты naeel-vdc, 'VDC для кластера iot-naeel',
naeel_vc_nsxt, 'Edge для кластера IOT naeel', 'Кластер Kubernetes [iot-naeel]' —
наши имена (fullpipe-vdc/-edge/-vapp-02, web02, shturval-test1) свободны.

Проверено: terraform init (3.0.0), fmt -check OK, validate Success,
plan = 7 to add / 0 change / 0 destroy. apply НЕ запускался.

Документация: HISTORY/2026-10-01_test_stand_fpipegmail.md
This commit is contained in:
Repinoid
2026-10-01 08:21:08 +03:00
parent 8eae7f383d
commit f7d6eb4688
11 changed files with 720 additions and 0 deletions
@@ -0,0 +1,79 @@
# 2026-10-01 — Стенд `TEST_STAND/FPipeGmail`: копия dev-примера, адаптированная под test
> Команда владельца: «`DEV_STAND/FPipeGmail` — это в дев. Надо — сделать такую же папку
> в `TEST_STAND` и соответственно изменить параметры в tf-конфигах, и посмотри чтобы
> не было коллизий — там в стенде есть и эдж и вдц. Найди имя огра».
## Что сделано
Создана `TEST_STAND/FPipeGmail/` — копия `DEV_STAND/FPipeGmail` **без** `.terraform/`,
`terraform.tfstate*`, `.terraform.lock.hcl` (это состояние dev, к test оно не относится).
Состав: `vdc.tf`, `edge.tf`, `modifiers.tf`, `vm.tf`, `shturval.tf`, `variables.tf`,
`outputs.tf`, `provider.tf`, `versions.tf`, `terraform.tfvars` (+ `.example`).
## Найденные данные test-стенда (из API, не из догадок)
| Что | Значение | Откуда |
|---|---|---|
| Организация (vcOrg) | **`NaeelOrg`**, uuid `3f0850f2-3506-4efd-b84b-7270b5027ab5`, `running`, `iaas` | `GET /instances?serviceId=19` |
| ipSpace на организации | `internet-ipv4-v1`, уже выделено **10** IP | `GET /instances/3f0850f2-…` → `vIPConfigure` |
| networkProvider | `snb1` | `GET /instances/e3c9e4f1-…` (существующий vDC `naeel-vdc`) |
| providerVdc | `Intel Broadwell 2.4` | там же |
| storage | `SSD` | там же (`storageConfig`) |
| realm | `sandbox.nubes.ru` | `GET /instances/3f0850f2-…` |
## Изменённые параметры (dev → test)
| Файл | Было (dev) | Стало (test) |
|---|---|---|
| `versions.tf` | `…/nubes-dev/nubes`, `2.0.1` | **`…/nubes-test/nubes`, `3.0.0`** |
| `variables.tf` → `api_endpoint` | `lk-api-gateway-dev…` | **`lk-api-gateway-test…`** |
| `terraform.tfvars` → `organization` | `kontra` | **`NaeelOrg`** |
| `terraform.tfvars` → `api_token` | dev-токен | **test-токен** (`secrets/test.token`) |
| `terraform.tfvars` → `ip_count` | `4` | **`10`** (не уменьшать уже выделенное) |
| `terraform.tfvars` → `vdc_storage_config` | `SATA / 200` | **`SSD / 200`** (в test vDC строят на SSD) |
| `shturval.tf` → `shturval_resource_name` | `shturval-dev1` | **`shturval-test1`** |
| `shturval.tf` → `shturval_cluster_name` | `shturval-dev-01` | **`shturval-test-01`** |
| `shturval.tf` → `shturval_worker_group_name` | `workers-shturval-dev` | **`workers-shturval-test`** |
Не менялись (совпадают с test): `vdc_network_provider=snb1`, `vdc_provider_vdc="Intel Broadwell 2.4"`,
`ip_space_name=internet-ipv4-v1`, DNS/пул Edge, имена `fullpipe-vdc` / `fullpipe-edge` / `fullpipe-vapp-02`.
## Проверка коллизий (в test уже есть эдж и vDC)
Занято в test сейчас:
| Услуга | Имена | Статус |
|---|---|---|
| vDC (21) | `naeel-vdc`, `VDC для кластера iot-naeel` | running |
| Edge (22) | `naeel_vc_nsxt`, `Edge для кластера IOT naeel` | running |
| vApp (26) | `vapp-222`, `vm-sless-vapp`, `vm-sless-demo-vapp` | deleted |
| ВМ (28) | `vm-sless`, `vm-sless-1`, `vm-sless-demo` | deleted |
| Штурвал (150) | `naeel-wheel` (deleted), `Кластер Kubernetes [iot-naeel]` | running |
Наши имена (`fullpipe-vdc`, `fullpipe-edge`, `fullpipe-vapp-02`, `web02`, `shturval-test1`)
**свободны** — пересечений нет.
## Проверки конфигурации
```bash
terraform init # установлен nubes-test/nubes 3.0.0 (подпись CB3A0DF161ECC416)
terraform fmt -check -recursive # OK
terraform validate # Success! The configuration is valid.
terraform plan # Plan: 7 to add, 0 to change, 0 to destroy
```
⚠️ `terraform apply` **не выполнялся** — по правилам запускает только владелец.
## Риск, который надо помнить
- `nubes_vc_org_ip_allocation` (модификатор `vIPConfigure`) **перезаписывает массив внешних IP целиком**.
В test на `NaeelOrg` уже выделено 10 адресов (их использует кластер `iot-naeel`), поэтому
`ip_count="10"` — уменьшение сломает чужой стенд.
- В `.gitignore` уже закрыты `terraform.tfvars`, `.terraform/`, `.terraform.lock.hcl`,
`terraform.tfstate*` — в репозиторий попадут только `.tf` и `terraform.tfvars.example`.
## Связанные документы
- `HISTORY/2026-09-25_fullpipe_example_shturval_and_docs.md` — исходный пример FPipeGmail (dev).
- `HISTORY/2026-10-01_release_x_0_0_all_stands.md` — актуальные версии провайдеров стендов.