From 8eae7f383db586364c746922e37c5aeefa9c6733 Mon Sep 17 00:00:00 2001 From: Repinoid Date: Thu, 1 Oct 2026 08:12:13 +0300 Subject: [PATCH] =?UTF-8?q?release:=20=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D0=BE?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20=D0=B8=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=D0=B0=D0=BB=D0=B8=D1=82=D1=8B=20X.0.0=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B2=D1=81=D0=B5=D0=BC=20=D1=81=D1=82=D0=B5=D0=BD?= =?UTF-8?q?=D0=B4=D0=B0=D0=BC=20(prod=201.0.0,=20dev=202.0.0,=20test=203.0?= =?UTF-8?q?.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Полный цикл 03 (01 YAML -> 02 Go/доки -> сборка 3 платформ -> GPG -> S3) по каждому стенду начиная с YAML. Профиль dev: VERSION 2.0.1 -> 2.0.0 (db9d93e). Проверено: sha256 залитого linux-бинарника == локальной сборке на всех трёх (prod 9c20e0a7, test 9cdfa8b8, dev 86c667f7); по 5 объектов на версию; YAML 36/36/40. Отличие от заливки 30.09: теперь в сборки вошли 8 коммитов правок ядра/генераторов (core, resources_core, resource-generator, check_schema_names + вызов в 03). Документация: HISTORY/2026-10-01_release_x_0_0_all_stands.md, VERSIONS.md. --- .../2026-10-01_release_x_0_0_all_stands.md | 67 +++++++++++++++++++ VERSIONS.md | 14 ++-- 2 files changed, 74 insertions(+), 7 deletions(-) create mode 100644 HISTORY/2026-10-01_release_x_0_0_all_stands.md diff --git a/HISTORY/2026-10-01_release_x_0_0_all_stands.md b/HISTORY/2026-10-01_release_x_0_0_all_stands.md new file mode 100644 index 0000000..aff8755 --- /dev/null +++ b/HISTORY/2026-10-01_release_x_0_0_all_stands.md @@ -0,0 +1,67 @@ +# 2026-10-01 — Перезаливка провайдера во все три стенда под версиями X.0.0 (после обновления кода) + +> Команда владельца: «надо — ЗАНОВО всё перегенерить, начиная с YAML по всем стендам, +> сгенерить провайдеры и залить их под номерами х.0.0». + +## Зачем повторно + +С релиза от 2026-09-30 (`bed269c`) в `master` пришло **8 коммитов** правок ядра и генераторов +(`provider/internal/core/*`, `resources_core/*`, `TOOLS/resource-generator/*`, +новый страж `TOOLS/scripts/check_schema_names.sh` + его вызов в `03`). Прежние сборки +`1.0.0`/`2.0.0`/`3.0.0` были сделаны из более старого кода — их пересобрали заново. + +## Как выполнено + +Начиная с YAML — полный цикл `03` (скрипт сам вызывает `01` → `02` → сборка → GPG → заливка): + +```bash +export MC_CONFIG_DIR=/tmp/mc-cfg +./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/prod 1.0.0 +./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/test 3.0.0 +./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/dev 2.0.0 +``` + +Перед этим: `TOOLS/config/dev/profile.env` → `VERSION="2.0.1"` → **`"2.0.0"`** +(коммит `db9d93e`); у `test`/`prod` профили уже содержали `3.0.0`/`1.0.0`. + +## Результат + +| Стенд | Namespace | Версия | YAML | Сборка | Заливка | +|---|---|---|---|---|---| +| prod | `nubes` | `1.0.0` | 36/36 | 3 платформы | 5/5 ✅ | +| test | `nubes-test` | `3.0.0` | 36/36 | 3 платформы | 5/5 ✅ | +| dev | `nubes-dev` | `2.0.0` | 40/40 | 3 платформы | 5/5 ✅ | + +Платформы везде: `linux/amd64`, `windows/amd64`, `darwin/amd64` (`CGO_ENABLED=0`), +подпись `SHA256SUMS.sig` (ключ `CB3A0DF161ECC416`). + +## Проверки + +**sha256 залитого бинарника == локально собранному** (`linux/amd64`): + +| Стенд | Версия | Результат | +|---|---|---| +| prod | `1.0.0` | ✅ `9c20e0a7…` | +| test | `3.0.0` | ✅ `9cdfa8b8…` | +| dev | `2.0.0` | ✅ `86c667f7…` | + +Дополнительно: + +- `S3`: у каждой версии обновлены все **5 объектов** (mtime — сегодня); +- API `/versions`: `nubes` → `['1.0.0']`, `nubes-test` → `['3.0.0']`, + `nubes-dev` → `['2.0.0','2.0.1','2.0.21','2.0.22','2.0.23','2.0.24']`; +- YAML-каталоги после генерации: `prod` 36, `test` 36, `dev` 40, stale нет. + +## ⚠️ Последствия (приняты владельцем) + +- Версии `1.0.0` / `2.0.0` / `3.0.0` **перезаписаны новыми бинарниками** → у пользователей + с `.terraform.lock.hcl` будет `checksum mismatch` (лечится `terraform init -upgrade`). +- В dev-реестре остаются также `2.0.1` и `2.0.21`–`2.0.24` — они не пересобирались. +- Заливка шла по узкому каналу (~1.3–4.9 МБ/мин на поток); prod и test заливались параллельно. + +## Связанные документы + +- `HISTORY/2026-09-30_release_1_0_0_2_0_0_3_0_0_all_stands.md` — первая заливка этих версий. +- `HISTORY/2026-09-30_dev_registry_prune_versions.md` — удаление dev-версий < 2.0.21. +- `HISTORY/2026-10-01_sync_tf_to_213_mirror.md` — зеркалирование `~/TF` на сервер 213 (сделано после релиза). +- `VERSIONS.md` — актуальная таблица версий. diff --git a/VERSIONS.md b/VERSIONS.md index 320e57d..ba4e647 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -4,15 +4,15 @@ | Стенд | Namespace | Версия | Дата заливки | Примечание | |---|---|---|---|---| -| PROD | `nubes` | `1.0.0` | 2026-09-30 | **перезалит свежей сборкой** (перегенерация YAML + сборка из текущего кода) | -| DEV | `nubes-dev` | `2.0.1` | 2026-09-30 | свежая сборка с правками ядра: 401 в ретрае GET, partial state при ошибке create (Q5), idempotency pre-check по live, ImportState модификаторов; в реестре также `2.0.0`, `2.0.21`–`2.0.24` | -| TEST | `nubes-test` | `3.0.0` | 2026-09-30 | **перезалит свежей сборкой** (правки ядра НЕ включены) | +| PROD | `nubes` | `1.0.0` | 2026-10-01 | **пересобран заново из текущего кода** (полный цикл 01→02→03, sha256 сверен) | +| DEV | `nubes-dev` | `2.0.0` | 2026-10-01 | **пересобран заново** (включает правки ядра, ранее ушли в `2.0.1`); в реестре также `2.0.1`, `2.0.21`–`2.0.24` | +| TEST | `nubes-test` | `3.0.0` | 2026-10-01 | **пересобран заново**, теперь с правками ядра | -> ⚠️ **Хранение в реестре (2026-09-30):** в dev-реестре (`nubes-dev/nubes`) оставлены только -> `2.0.21`–`2.0.24`; версии `2.0.0`–`2.0.20` удалены физически (бакет un-versioned). -> Версия `2.0.1` создана заново 2026-09-30 (ранее входила в удалённый диапазон). +> ⚠️ **Хранение в реестре (2026-09-30):** в dev-реестре (`nubes-dev/nubes`) версии +> `2.0.0`–`2.0.20` были удалены физически (бакет un-versioned). +> Версии `2.0.0` и `2.0.1` затем созданы заново (30.09 и 01.10 соответственно). > Подробности и проверки: `HISTORY/2026-09-30_dev_registry_prune_versions.md`, -> `HISTORY/2026-09-30_dev_release_2_0_1.md`. +> `HISTORY/2026-09-30_dev_release_2_0_1.md`, `HISTORY/2026-10-01_release_x_0_0_all_stands.md`. ## Как проверить