# 2026-09-30 — Очистка dev-реестра: удалены версии провайдера старше 2.0.21 > Команда владельца: «в деве — сотри ФИЗИЧЕСКИ все провайдеры старше 21 версии». > Операция **необратимая** (бакет без версионирования), выполнена 2026-09-30. ## Что и где | Параметр | Значение | |---|---| | Хранилище | S3 `https://s3.msk-1.ngcloud.ru`, бакет `nubes-terraform-registry` | | Префикс | `tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/` | | Стенд | **только dev** (`nubes-dev`); `nubes-test` и `nubes` не тронуты | | Инструмент | `mc` (`/usr/bin/mc`), alias `prod-s3`, `--api S3v4`, креды из `secrets/.s3cfg_provider` | | Версионирование бакета | `un-versioned` — удаление физическое, без «теневых» копий | Состав одной версии — 5 объектов: ``` terraform-provider-nubes__darwin_amd64.zip (~13 MiB) terraform-provider-nubes__linux_amd64.zip (~13 MiB) terraform-provider-nubes__windows_amd64.zip (~13 MiB) terraform-provider-nubes__SHA256SUMS terraform-provider-nubes__SHA256SUMS.sig ``` ## Было → стало | | До | После | |---|---|---| | Версий | 25 (`2.0.0` … `2.0.24`) | **4** (`2.0.21`, `2.0.22`, `2.0.23`, `2.0.24`) | | Объектов | 125 | **20** | | Объём (zip) | ~975 MiB | ~156 MiB | ## Удалено (21 версия, 105 объектов) ``` 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.17 2.0.18 2.0.19 2.0.20 ``` Каждая версия: 5 объектов (3 zip ~13 MiB + `SHA256SUMS` + `SHA256SUMS.sig`). Команда (по версии): ```bash mc rm --recursive --force \ "prod-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes//" ``` Перед удалением снят полный манифест (125 строк): ```bash mc ls -r "prod-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/" ``` ## Оставлено ``` 2.0.21 2.0.22 2.0.23 2.0.24 (20 объектов, 4 × 5) ``` Актуальная версия dev — `2.0.24` (см. `VERSIONS.md`). ## Проверки после удаления | Проверка | Результат | |---|---| | `mc ls` префикса dev | только `2.0.21/`, `2.0.22/`, `2.0.23/`, `2.0.24/` | | `mc ls -r` (всего объектов) | 20 (по 5 на версию) | | API `…/nubes-dev/nubes/versions` | `['2.0.21','2.0.22','2.0.23','2.0.24']`, count 4 | | Скачивание `2.0.24`/`2.0.23` (linux/amd64) | HTTP **206**, ZIP-магия `50 4b 03 04` | | Скачивание `2.0.20`/`2.0.0` (linux/amd64) | HTTP **404** (объекта нет) | | Контроль: `nubes-test` | `3.0.0` — не тронуто | | Контроль: `nubes` (prod) | `1.0.0` — не тронуто | > Примечание: эндпоинт `…//download//` отдаёт метаданные (JSON с `download_url`) > **не проверяя наличие объекта** — статус 200 у него ничего не доказывает. Фактическая > доступность проверяется загрузкой по `download_url` (как в таблице выше). ## Риски и восстановление - ⛔ **Резервные копии zip не делались** — по прямому указанию «стереть физически» (плюс канал до S3 из локальной сети медленный). Восстановление возможно **только пересборкой** нужной версии из git-истории пакета; `download_url`/`SHA256SUMS` удалённых версий не сохранялись. - Пользователи, закрепившие в dev-стендах версии `< 2.0.21`, получат 404 при `terraform init` и должны перейти на `2.0.21+`. - `test` и `prod` не затронуты.