62 lines
3.6 KiB
Markdown
62 lines
3.6 KiB
Markdown
# 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`).
|