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
|
||||
# Version
|
||||
VERSION="2.0.24"
|
||||
VERSION="2.0.0"
|
||||
|
||||
NAMESPACE="nubes-dev"
|
||||
PROVIDER_NAME="nubes"
|
||||
|
||||
+5
-5
@@ -2,11 +2,11 @@
|
||||
|
||||
> Обновлять после **каждой** заливки. Это единственный источник правды.
|
||||
|
||||
| Стенд | Namespace | Версия | Дата заливки |
|
||||
|---|---|---|---|
|
||||
| PROD | `nubes` | `1.0.0` | 2026-09-03 | (новая нумерация) |
|
||||
| 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(...)`) |
|
||||
| TEST | `nubes-test` | `3.0.0` | 2026-09-03 | (новая нумерация) |
|
||||
| Стенд | Namespace | Версия | Дата заливки | Примечание |
|
||||
|---|---|---|---|---|
|
||||
| PROD | `nubes` | `1.0.0` | 2026-09-30 | **перезалит свежей сборкой** (перегенерация YAML + сборка из текущего кода) |
|
||||
| DEV | `nubes-dev` | `2.0.0` | 2026-09-30 | **перезалит свежей сборкой**; в реестре также остаются `2.0.21`–`2.0.24` |
|
||||
| TEST | `nubes-test` | `3.0.0` | 2026-09-30 | **перезалит свежей сборкой** |
|
||||
|
||||
> ⚠️ **Хранение в реестре (2026-09-30):** в dev-реестре (`nubes-dev/nubes`) оставлены только
|
||||
> `2.0.21`–`2.0.24`; версии `2.0.0`–`2.0.20` удалены физически (бакет un-versioned).
|
||||
|
||||
Reference in New Issue
Block a user