# План: чистка реестра + новая нумерация версий по стендам > Для Flash. Цель — убрать ВСЕ старые залитые версии (легаси) и ввести единый > принцип нумерации, чтобы старое (5.1.17 и т.п.) больше нигде не всплывало. ## Новый принцип нумерации (ЗАФИКСИРОВАТЬ) | Стенд | Namespace | Диапазон версий | Первая версия по новой схеме | |---|---|---|---| | **prod** | `nubes` | `1.*.*` | `1.0.0` | | **dev** | `nubes-dev` | `2.*.*` | `2.0.0` | | **test** | `nubes-test` | `3.*.*` | `3.0.0` | > ⛔ Старые схемы (`prod=2.*`, `dev=3.*`, `test=5.*`, а также `0.0.1`) — ЛЕГАСИ. > Никогда больше не использовать. ## Текущее состояние в S3 (нужно УДАЛИТЬ ВСЁ) Бакет `nubes-terraform-registry`, префикс `tf-registry.containerk8s.services.ngcloud.ru//nubes/`: - `nubes-dev`: `3.0.2 3.0.3 3.0.4 3.0.5 3.0.6` - `nubes` (prod): `2.0.2 2.0.3 2.0.5 2.0.6` - `nubes-test`: `0.0.1 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.1.17` ## Шаг 1 — Удалить все залитые версии из S3 Креды на запись: subuser `super` аккаунта `1112_terraform`, передаются через переменные окружения `S3_ACCESS_KEY` и `S3_SECRET_KEY`. ```bash mc alias set super-s3 https://s3.msk-1.ngcloud.ru "$S3_ACCESS_KEY" "$S3_SECRET_KEY" --api S3v4 # Удалить ВСЕ версии каждого стенда (рекursивно, включая подфайлы) mc rm --recursive --force super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes/ mc rm --recursive --force super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/ mc rm --recursive --force super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes/ ``` Проверка после удаления (должно быть пусто): ```bash mc ls super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes/ mc ls super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/ mc ls super-s3/nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes/ ``` ## Шаг 2 — Зафиксировать новую нумерацию в конфигах и док-файлах Обновить (каждый файл — по новому принципу prod=1.*, dev=2.*, test=3.*): 1. **`VERSIONS.md`** — таблица версий по стендам + схема: - PROD → `1.*` (первая `1.0.0`) - DEV → `2.*` (первая `2.0.0`) - TEST → `3.*` (первая `3.0.0`) 2. **`TOOLS/config/prod/profile.env`** → `VERSION="1.0.0"` 3. **`TOOLS/config/dev/profile.env`** → `VERSION="2.0.0"` 4. **`TOOLS/config/test/profile.env`** → `VERSION="3.0.0"` 5. **`DOCS_PIPELINE/README.md`** — раздел про нумерацию версий (схема выше). 6. **`docs/30_registry/guides/getting-started.md`** — `version = "..."` в примере привести к актуальной (или оставить как «подставьте нужную», но НЕ 5.0.5 и не 5.1.17). > ⚠️ Проверить, что в этих файлах нигде не осталось `5.1.17`, `5.0.x`, `3.0.x` > (кроме новой схемы), `2.0.x` (кроме новой `1.x` для prod). Сделать `grep -rn`. ## Шаг 3 — Перегенерировать провайдеры по новой схеме (01→02→03) Для каждого стенда (порядок test → dev → prod), версия = первая по новой схеме: ```bash cd /home/naeel/TF/tf_provider # TEST → 3.0.0 ./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/test ./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/test S3_ACCESS_KEY="$S3_ACCESS_KEY" S3_SECRET_KEY="$S3_SECRET_KEY" \ ./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/test 3.0.0 # DEV → 2.0.0 ./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/dev ./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/dev S3_ACCESS_KEY="$S3_ACCESS_KEY" S3_SECRET_KEY="$S3_SECRET_KEY" \ ./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/dev 2.0.0 # PROD → 1.0.0 ./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/prod ./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/prod S3_ACCESS_KEY="$S3_ACCESS_KEY" S3_SECRET_KEY="$S3_SECRET_KEY" \ ./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/prod 1.0.0 ``` > Документацию (04) НЕ запускать — пользователь пока не просил. ## Предусловия (ПРОВЕРЕНО) - Go 1.23.1, docker, `mc`, GPG-ключи — на месте. - Токены API `secrets/{dev,test,prod}.token` — ОБНОВЛЕНЫ 2026-09-03 (валидны, exp 2027-03-02). - `operation_timeouts.json` в каждом профиле — на месте. - S3-креды на запись бинарников — `super` subuser (см. выше). - `registry.env`: hostname `tf-registry.containerk8s.services.ngcloud.ru`, bucket `nubes-terraform-registry`. ## Контроль После каждого `03` — сообщение `Done. Version X.Y.Z uploaded.` После всех — в S3 должны остаться ТОЛЬКО: - `nubes/nubes/1.0.0/` - `nubes-dev/nubes/2.0.0/` - `nubes-test/nubes/3.0.0/`