# 2026-09-03 — Чистка реестра + новая нумерация версий + баг dev ## Новая схема нумерации версий (с 2026-09-03) | Стенд | Namespace | Диапазон | Первая | |---|---|---|---| | prod | `nubes` | `1.*.*` | `1.0.0` | | dev | `nubes-dev` | `2.*.*` | `2.0.0` | | test | `nubes-test` | `3.*.*` | `3.0.0` | ⛔ Старые схемы (`prod=2.*`, `dev=3.*`, `test=5.*`, `0.0.x`) — ЛЕГАСИ, не использовать. Обновлено: `VERSIONS.md`, `TOOLS/config/*/profile.env`, `DOCS_PIPELINE/README.md`, `docs/30_registry/guides/getting-started.md`. ## Чистка реестра Из S3 (`nubes-terraform-registry`, креды super `1112_terraform`) удалены ВСЕ старые версии: - `nubes-dev`: 3.0.2–3.0.6 - `nubes`: 2.0.2, 2.0.3, 2.0.5, 2.0.6 - `nubes-test`: 0.0.1, 5.0.1–5.0.5, 5.1.17 После чистки в каждом namespace — 0 объектов. Легаси (5.1.17 и т.д.) нигде не осталось. ## Статус перегенерации (2026-09-03) - ✅ **test** `3.0.0` — сгенерирован и загружен (`Done. Version 3.0.0 uploaded`). - ❌ **dev** `2.0.0` — НЕ собирается (пропущен по решению пользователя), см. баг ниже. - ⏳ **prod** `1.0.0` — в работе. ## Баг dev: nodejs jsonEnv (create vs modify) Симптом: `03` dev падает на компиляции сгенерированного кода: ``` internal/resources_gen/95_nodejs_resource.go:350-353: plan.JsonEnv.IsNull / IsUnknown / ValueString undefined (type *NodejsJsonEnvModel has no field or method ...) ``` Причина: **API dev** для nodejs `jsonEnv`: - в `create` (op id=58) — `map` **с `sub_params`** (типизированные ключи, напр. DB_PASS) → генератор создаёт вложенную модель `NodejsJsonEnvModel`; - в `modify` (op id=59) — `map` **без `sub_params`** → генератор для diff генерирует строковое сравнение (`IsNull/ValueString`). У test/prod `jsonEnv` без sub_params в обоих операциях → строка → собирается. Корень: `TOOLS/resource-generator/internal/params/params.go`, `AlignParamTypes` — подмешивает `SubParams` из schema в modify только если `HasSubParams` уже true: ```go if !p.HasSubParams { continue } // modify-jsonEnv (без sub) пропускается ``` Возможный фикс: наследовать `HasSubParams`/`SubParams` из schema для параметров с тем же code. ⚠️ Нюанс: diff-шаблон исключает nested-поля из `hasServiceParamChanges` — изменение nested jsonEnv не будет триггерить modify (нужно продумать отдельно). **Вывод:** сервисы/структуры API стендов отличаются (dev jsonEnv — nested в create). Каждый стенд рассматривать независимо. dev отложен до решения по генератору/API. ## Прочее (инфраструктура, этот же день) - Токены API `secrets/*.token` были отозваны на стороне IAM (401 IAM error при валидном exp) — обновлены 2026-09-03. - S3-креды `.s3cfg_registry` (docs) не имеют прав на бакет бинарников `nubes-terraform-registry`; заливка бинарников — subuser `super` аккаунта `1112_terraform` (см. `tf_registry/HISTORY/HOWTO-UPLOAD.md`).