Files
tf_provider/HISTORY/2026-09-03_reversion_cleanup.md
T

3.6 KiB
Raw Blame History

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.23.0.6
  • nubes: 2.0.2, 2.0.3, 2.0.5, 2.0.6
  • nubes-test: 0.0.1, 5.0.15.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:

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).