release: перезаливка провайдера во все 3 стенда — prod 1.0.0, dev 2.0.0, test 3.0.0
Полный цикл 03 (01+02 → сборка 3 платформ → GPG → заливка S3) по каждому стенду: - prod nubes/nubes 1.0.0; - dev nubes-dev/nubes 2.0.0 (VERSION в profile.env: 2.0.24 → 2.0.0); - test nubes-test/nubes 3.0.0. Проверено: sha256 залитого linux-бинарника == локальной сборке на всех трёх; API /versions отдаёт 1.0.0 / 2.0.0 / 3.0.0; в S3 по 5 объектов на версию. Последствия (приняты владельцем): версии X.0.0 перезаписаны → у пользователей с .terraform.lock.hcl будет checksum mismatch (лечится terraform init -upgrade). Подробности: HISTORY/2026-09-30_release_1_0_0_2_0_0_3_0_0_all_stands.md
This commit is contained in:
@@ -0,0 +1,60 @@
|
|||||||
|
# 2026-09-30 — Перезаливка провайдера во все три стенда под версиями 1.0.0 / 2.0.0 / 3.0.0
|
||||||
|
|
||||||
|
> Команда владельца: «надо — чтобы в 1.0.0 2.0.0 3.0.0 стали НОВЫЕ провайдеры…
|
||||||
|
> ПОХУЙ на пользователей! ПОХУЙ на старые версии!!! генери всё новое и ЗАЛИВАЙ».
|
||||||
|
|
||||||
|
## Что сделано
|
||||||
|
|
||||||
|
Полный цикл по каждому стенду: перегенерация (`01` YAML → `02` Go+доки) и
|
||||||
|
сборка+подпись+заливка (`03`) — всё одной командой `03` (она сама вызывает `01` и `02`).
|
||||||
|
|
||||||
|
| Стенд | Namespace | Версия | `VERSION` в profile.env | Результат |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| prod | `nubes` | `1.0.0` | `1.0.0` (без изменений) | `Done. Version 1.0.0 uploaded.` |
|
||||||
|
| dev | `nubes-dev` | `2.0.0` | `2.0.24` → **`2.0.0`** | `Done. Version 2.0.0 uploaded.` |
|
||||||
|
| test | `nubes-test` | `3.0.0` | `3.0.0` (без изменений) | `Done. Version 3.0.0 uploaded.` |
|
||||||
|
|
||||||
|
Команды:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export MC_CONFIG_DIR=/tmp/mc-cfg
|
||||||
|
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/dev 2.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/prod 1.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
Что делает `03`: `01` (YAML-спеки стенда) → `02` (Go-ресурсы + доки) → сборка
|
||||||
|
3 платформ (`linux/windows/darwin amd64`, `CGO_ENABLED=0`, `-ldflags=-X main.version=…`)
|
||||||
|
→ `terraform-provider-nubes_<v>_SHA256SUMS` → GPG-подпись (`secrets/private_key.asc`,
|
||||||
|
`CB3A0DF161ECC416`) → заливка 5 объектов в S3.
|
||||||
|
|
||||||
|
## Проверки после заливки
|
||||||
|
|
||||||
|
| Стенд | Версия | `linux/amd64` скачивание | sha256 залитого vs локальной сборки |
|
||||||
|
|---|---|---|---|
|
||||||
|
| dev | `2.0.0` | HTTP 200, 13 169 112 B | ✅ совпадает |
|
||||||
|
| test | `3.0.0` | HTTP 200, 13 095 908 B | ✅ совпадает |
|
||||||
|
| prod | `1.0.0` | HTTP 200, 13 103 414 B | ✅ совпадает |
|
||||||
|
|
||||||
|
Дополнительно:
|
||||||
|
|
||||||
|
- API `/versions`: `nubes-dev` → `['2.0.0','2.0.21','2.0.22','2.0.23','2.0.24']`,
|
||||||
|
`nubes-test` → `['3.0.0']`, `nubes` → `['1.0.0']`;
|
||||||
|
- в S3 у каждой версии ровно 5 объектов (3 zip + `SHA256SUMS` + `SHA256SUMS.sig`).
|
||||||
|
|
||||||
|
## ⚠️ Последствия (приняты владельцем сознательно)
|
||||||
|
|
||||||
|
- Версии `1.0.0`, `2.0.0`, `3.0.0` **перезаписаны** — под теми же номерами теперь
|
||||||
|
другие бинарники. У всех, у кого есть `.terraform.lock.hcl`, будет
|
||||||
|
`checksum mismatch` при `terraform init`; лечится `terraform init -upgrade`.
|
||||||
|
- Старые версии **не удалялись** (кроме ранее вычищенного dev `< 2.0.21`):
|
||||||
|
в dev остаются `2.0.21`–`2.0.24`, в test `3.0.0` и в prod `1.0.0` — теперь уже как
|
||||||
|
свежие сборки.
|
||||||
|
- `VERSION` в `TOOLS/config/dev/profile.env` понижен `2.0.24` → `2.0.0`
|
||||||
|
(чтобы доки и артефакты генерировались с новой версией); закоммичено.
|
||||||
|
|
||||||
|
## Связанные документы
|
||||||
|
|
||||||
|
- `VERSIONS.md` — обновлённая таблица текущих версий.
|
||||||
|
- `HISTORY/2026-09-30_dev_registry_prune_versions.md` — предыдущая очистка dev-реестра.
|
||||||
|
- `HISTORY/2026-09-30_yaml_pipeline_hardening.md` — состояние пайплайна генерации.
|
||||||
@@ -4,7 +4,7 @@ TOKEN_FILE="secrets/dev.token"
|
|||||||
|
|
||||||
# Release versions
|
# Release versions
|
||||||
# Version
|
# Version
|
||||||
VERSION="2.0.24"
|
VERSION="2.0.0"
|
||||||
|
|
||||||
NAMESPACE="nubes-dev"
|
NAMESPACE="nubes-dev"
|
||||||
PROVIDER_NAME="nubes"
|
PROVIDER_NAME="nubes"
|
||||||
|
|||||||
+5
-5
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
> Обновлять после **каждой** заливки. Это единственный источник правды.
|
> Обновлять после **каждой** заливки. Это единственный источник правды.
|
||||||
|
|
||||||
| Стенд | Namespace | Версия | Дата заливки |
|
| Стенд | Namespace | Версия | Дата заливки | Примечание |
|
||||||
|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| PROD | `nubes` | `1.0.0` | 2026-09-03 | (новая нумерация) |
|
| PROD | `nubes` | `1.0.0` | 2026-09-30 | **перезалит свежей сборкой** (перегенерация YAML + сборка из текущего кода) |
|
||||||
| DEV | `nubes-dev` | `2.0.24` | 2026-09-30 | (fix: UUID внутри map-fixed JSON нормализуется к lowercase **при отправке** в API — `resources_core.BuildJSON` → `jsonutil.LowercaseUUIDsInText`; без этого create Штурвала падал «Edge не развёрнут в указанном vDC», пока в HCL стоял костыль `lower(...)`) |
|
| DEV | `nubes-dev` | `2.0.0` | 2026-09-30 | **перезалит свежей сборкой**; в реестре также остаются `2.0.21`–`2.0.24` |
|
||||||
| TEST | `nubes-test` | `3.0.0` | 2026-09-03 | (новая нумерация) |
|
| TEST | `nubes-test` | `3.0.0` | 2026-09-30 | **перезалит свежей сборкой** |
|
||||||
|
|
||||||
> ⚠️ **Хранение в реестре (2026-09-30):** в dev-реестре (`nubes-dev/nubes`) оставлены только
|
> ⚠️ **Хранение в реестре (2026-09-30):** в dev-реестре (`nubes-dev/nubes`) оставлены только
|
||||||
> `2.0.21`–`2.0.24`; версии `2.0.0`–`2.0.20` удалены физически (бакет un-versioned).
|
> `2.0.21`–`2.0.24`; версии `2.0.0`–`2.0.20` удалены физически (бакет un-versioned).
|
||||||
|
|||||||
Reference in New Issue
Block a user