3.9 KiB
3.9 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 |
nubes-terraform-registry/tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes/0.0.1/ |
| test | nubes-test |
.../nubes-test/nubes/0.0.1/ |
| prod | nubes |
.../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=nubes-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).