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