docs: remove S3 credentials from release plans
This commit is contained in:
@@ -0,0 +1,106 @@
|
|||||||
|
# План: чистка реестра + новая нумерация версий по стендам
|
||||||
|
|
||||||
|
> Для 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.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/`
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
# План: перегенерация провайдеров всех стендов (версия 0.0.1)
|
||||||
|
|
||||||
|
> Для Flash. Генерацию выполняет Flash по этому плану. Документацию НЕ трогать.
|
||||||
|
|
||||||
|
## Цель
|
||||||
|
Перегенерировать код Terraform-провайдера Nubes для 3 стендов из API и залить
|
||||||
|
бинарники **версии 0.0.1**. Документацию не генерировать и не публиковать.
|
||||||
|
|
||||||
|
## Версия
|
||||||
|
`0.0.1` — для всех трёх стендов.
|
||||||
|
|
||||||
|
## Порядок стендов
|
||||||
|
`test` → `dev` → `prod`
|
||||||
|
|
||||||
|
## Команды (для каждого стенда, по порядку)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
Полные команды:
|
||||||
|
```bash
|
||||||
|
# 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.`
|
||||||
|
Проверка версии в реестре после заливки (опционально):
|
||||||
|
```bash
|
||||||
|
curl -s https://tf-registry.containerk8s.services.ngcloud.ru/v1/providers/<ns>/nubes/versions
|
||||||
|
```
|
||||||
|
(должна появиться `0.0.1`).
|
||||||
Reference in New Issue
Block a user