Files
tf_provider/HISTORY/2026-09-30_dev_registry_prune_versions.md
T
Repinoid fd3ab32534 chore(dev-registry): физически удалены версии провайдера старше 2.0.21
В dev-реестре (s3://nubes-terraform-registry/.../nubes-dev/nubes/) удалены
версии 2.0.0–2.0.20 — 21 версия, 105 объектов (~800 MiB). Бакет un-versioned.

Осталось: 2.0.21, 2.0.22, 2.0.23, 2.0.24 (20 объектов).
Проверено: mc ls (20 объектов), API /versions (4), download 2.0.23/2.0.24 → HTTP 206
(ZIP), 2.0.0/2.0.20 → HTTP 404; nubes-test (3.0.0) и nubes (1.0.0) не тронуты.

Резервные копии zip не делались (прямое указание «стереть физически»);
восстановление — только пересборкой из git-истории.
Документация: HISTORY/2026-09-30_dev_registry_prune_versions.md, VERSIONS.md.
2026-09-30 10:50:45 +03:00

4.2 KiB

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_<v>_darwin_amd64.zip   (~13 MiB)
terraform-provider-nubes_<v>_linux_amd64.zip    (~13 MiB)
terraform-provider-nubes_<v>_windows_amd64.zip  (~13 MiB)
terraform-provider-nubes_<v>_SHA256SUMS
terraform-provider-nubes_<v>_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).

Команда (по версии):

mc rm --recursive --force \
  "prod-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/<v>/"

Перед удалением снят полный манифест (125 строк):

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 — не тронуто

Примечание: эндпоинт …/<v>/download/<os>/<arch> отдаёт метаданные (JSON с download_url) не проверяя наличие объекта — статус 200 у него ничего не доказывает. Фактическая доступность проверяется загрузкой по download_url (как в таблице выше).

Риски и восстановление

  • ⛔ Резервные копии zip не делались — по прямому указанию «стереть физически» (плюс канал до S3 из локальной сети медленный). Восстановление возможно только пересборкой нужной версии из git-истории пакета; download_url/SHA256SUMS удалённых версий не сохранялись.
  • Пользователи, закрепившие в dev-стендах версии < 2.0.21, получат 404 при terraform init и должны перейти на 2.0.21+.
  • test и prod не затронуты.