5.7 KiB
План: чистка реестра + новая нумерация версий по стендам
Для 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/<ns>/nubes/:
nubes-dev:3.0.2 3.0.3 3.0.4 3.0.5 3.0.6nubes(prod):2.0.2 2.0.3 2.0.5 2.0.6nubes-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.
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/
Проверка после удаления (должно быть пусто):
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.*):
VERSIONS.md— таблица версий по стендам + схема:- PROD →
1.*(первая1.0.0) - DEV →
2.*(первая2.0.0) - TEST →
3.*(первая3.0.0)
- PROD →
TOOLS/config/prod/profile.env→VERSION="1.0.0"TOOLS/config/dev/profile.env→VERSION="2.0.0"TOOLS/config/test/profile.env→VERSION="3.0.0"DOCS_PIPELINE/README.md— раздел про нумерацию версий (схема выше).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), версия = первая по новой схеме:
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-креды на запись бинарников —
supersubuser (см. выше). registry.env: hostnametf-registry.containerk8s.services.ngcloud.ru, bucketnubes-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/