Files
tf_provider/NOTES/10_plans/PLAN_regenerate_providers_0.0.1.md
T
Repinoid 2d8e435dd4 docs: пометить отменённый заход модификаторов как LEGACY + исправить ложные факты
- баннеры «ЛОЖНЫЙ ПУТЬ — ОТМЕНЕНО» на 4 файла HISTORY/OPUS/2026-09-22_modifier_* и docs/60_strategy/modifier_resources_ideology_and_specification.md
- vIPConfigure: replace-семантика, НЕ накопительная (по тесту docs/ORG_IP_MODIFIER_TEST_2026-09-22.md)
- обновлены ссылки на перенесённые материалы (docs/... -> NOTES/..., HOW_TO/...)
2026-09-24 07:51:25 +03:00

4.0 KiB

План: перегенерация провайдеров всех стендов (версия 0.0.1)

Для Flash. Генерацию выполняет Flash по этому плану. Документацию НЕ трогать.

Цель

Перегенерировать код Terraform-провайдера Nubes для 3 стендов из API и залить бинарники версии 0.0.1. Документацию не генерировать и не публиковать.

Версия

0.0.1 — для всех трёх стендов.

Порядок стендов

test → dev → prod

Команды (для каждого стенда, по порядку)

cd /home/naeel/TF/tf_provider

# стенд = test | dev | prod
./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/<стенд>
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/<стенд>
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/<стенд> 0.0.1

Полные команды:

# TEST
./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/test
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/test
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/test 0.0.1

# DEV
./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/dev
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/dev
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/dev 0.0.1

# PROD
./TOOLS/scripts/01_generate_yamls.sh --profile TOOLS/config/prod
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/prod
./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/prod 0.0.1

Что делает каждый шаг

Шаг Результат
01 тянет YAML-спеки ресурсов из API стенда → generated/<стенд>/resources_yaml/
02 YAML → Go-код (generated/<стенд>/go/) + .md-доки (generated/<стенд>/docs/, побочный продукт — НЕ публикуем)
03 кросс-сборка linux/windows/darwin amd64 (go build -ldflags "-X main.version=0.0.1 -X main.address=tf-registry.containerk8s.services.ngcloud.ru/<ns>/nubes") → SHA256SUMS + GPG-подпись → mc cp в S3

Namespace и target S3 (автоматически из profile.env + registry.env)

Стенд Namespace Бинарники в S3
dev nubes-dev terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/0.0.1/
test nubes-test terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes/0.0.1/
prod nubes terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes/0.0.1/

Предусловия — ПРОВЕРЕНО, всё готово

  • Go 1.23.1, docker 29.1.3, mc, GPG (secrets/private_key.asc, public_key.asc).
  • Токены API: secrets/{dev,test,prod}.token на месте.
  • API-эндпоинты доступны (HTTP 403 без токена — ожидаемо, токен передаёт 01).
  • TOOLS/config/<стенд>/operation_timeouts.json на месте.
  • registry.env: REGISTRY_HOSTNAME=tf-registry.containerk8s.services.ngcloud.ru, S3_BUCKET=terraform-registry.

Чего НЕ делать

  • НЕ запускать 04_build_and_publish_docs.sh (документация не нужна сейчас).
  • НЕ менять версию 0.0.1 на другую.
  • НЕ трогать .venv/mkdocs (для 03 не нужны).

Контроль успеха

Каждый 03 должен завершиться сообщением Done. Version 0.0.1 uploaded. Проверка версии в реестре после заливки (опционально):

curl -s https://tf-registry.containerk8s.services.ngcloud.ru/v1/providers/<ns>/nubes/versions

(должна появиться 0.0.1).