- README.md, HOW_TO/README.md, HOW_TO/DEVOPS_BUILD_PIPELINE.md, HOW_TO/HOWTO_ADD_NEW_SERVICE.md, DOCS_PIPELINE/README.md: TOOLS/config/services_list.txt → TOOLS/config/<стенд>/services_list.txt; - HOW_TO/HOWTO_ADD_NEW_SERVICE.md: блок «Быстрый старт» переписан с устаревших devops/-путей на канонические (./TOOLS/scripts/*, generated/<стенд>/); - scripts/publish-doc-page.sh: примеры devops/profiles/<стенд> → TOOLS/config/<стенд>; - .gitignore: убрана мёртвая строка devops/profiles/*/generated/. Проверено: bash -n для всех TOOLS/scripts/*.sh и scripts/publish-doc-page.sh — OK.
67 lines
4.9 KiB
Markdown
67 lines
4.9 KiB
Markdown
# HOW_TO — все инструкции проекта
|
|
|
|
Здесь лежат **общие инструкции**: как собрать/залить провайдер, как добавить сервис, как устроены
|
|
процессы. Отсюда начинать, если нужно что-то «сделать руками».
|
|
|
|
> Публикуемая пользовательская документация — в `../docs/` (mkdocs).
|
|
> Рабочие материалы (планы, промпты, анализы) — в `../NOTES/`.
|
|
|
|
---
|
|
|
|
## Индекс: что нужно → какой файл
|
|
|
|
| Нужно | Файл | Кому |
|
|
|---|---|---|
|
|
| **Собрать и залить провайдер** (YAML → Go → бинарник → S3) | [`HOWTO-UPLOAD.md`](HOWTO-UPLOAD.md) | Релиз-инженеру |
|
|
| **Полный DevOps-ранбук пайплайна** (4 шага: генерация, ресурсы+доки, сборка, публикация доков) + GPG-bootstrap | [`DEVOPS_BUILD_PIPELINE.md`](DEVOPS_BUILD_PIPELINE.md) | DevOps |
|
|
| **Добавить новый сервис** в провайдер (полный цикл) | [`HOWTO_ADD_NEW_SERVICE.md`](HOWTO_ADD_NEW_SERVICE.md) | Разработчику провайдера |
|
|
| **Имплементировать новый managed-сервис** (со стороны облака) | [`HOWTO_IMPLEMENT_NEW_CLOUD_SERVICE.md`](HOWTO_IMPLEMENT_NEW_CLOUD_SERVICE.md) | DevOps облака |
|
|
| **Понять, как всё устроено на практике** (закрытый developer-guide) | [`howitwasdone.md`](howitwasdone.md) | Разработчику провайдера |
|
|
| **Генерация документации** (архитектура, пайплайн, правила для LLM) | [`LLM_DOCS_GENERATION.md`](LLM_DOCS_GENERATION.md) | Разработчику доков |
|
|
| **План миграции + runbook реестра** (обновление, откат, troubleshooting, мониторинг) | [`MIGRATION_PLAN_FOR_AGENT.md`](MIGRATION_PLAN_FOR_AGENT.md) | Агенту/инженеру |
|
|
|
|
---
|
|
|
|
## Короткий путь: собрать и залить (3 шага)
|
|
|
|
```bash
|
|
cd /home/naeel/TF/tf_provider
|
|
./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 2.0.18
|
|
```
|
|
|
|
Полные детали, требования, проверка после заливки и структура S3 — в [`HOWTO-UPLOAD.md`](HOWTO-UPLOAD.md).
|
|
|
|
## Текущие версии (источник правды)
|
|
|
|
[`../VERSIONS.md`](../VERSIONS.md). Схема нумерации: **prod = `1.*`, dev = `2.*`, test = `3.*`**
|
|
(легаси `prod=2.*`, `dev=3.*`, `test=5.*`, `0.0.1` — НЕ использовать). Обоснование схемы:
|
|
[`../NOTES/10_plans/PLAN_FLASH_reversion_cleanup.md`](../NOTES/10_plans/PLAN_FLASH_reversion_cleanup.md).
|
|
|
|
---
|
|
|
|
## Где лежит остальное (чтобы не искать вслепую)
|
|
|
|
| Тема | Где |
|
|
|---|---|
|
|
| Операционные runbook'и (API-токены, стенды, мониторинг, откат, тестирование, реестр) | `../docs/ops/` |
|
|
| Внутренние справки/разборы по сборке и архитектуре | `../docs/help/` (напр. `BUILD.md`, `build-and-publish.md`) |
|
|
| Пайплайн публикации документации | `../DOCS_PIPELINE/README.md`, `../DOCS_PIPELINE/publish-docs.sh` |
|
|
| Правила генерации кода провайдера (ОБЯЗАТЕЛЬНЫ для генератора) | `../TOOLS/ARCHITECTURE.md` |
|
|
| Скрипты пайплайна | `../TOOLS/scripts/` |
|
|
| Конфиги стендов и общий реестр | `../TOOLS/config/` (`registry.env`, `<стенд>/profile.env`, `<стенд>/services_list.txt`) |
|
|
| Секреты (не коммитить) | `../secrets/` |
|
|
| Текущая задача по IaC/`modify` | `../NOTES/40_chat_summaries/CHAT_RESUME_IAC_2026-09-24.md` |
|
|
|
|
---
|
|
|
|
## ⛔ Частые грабли (не наступать)
|
|
|
|
- **Не вызывать** устаревшие бинарники `TOOLS/*/bin/` — скрипт `02_*` сам пересобирает генераторы.
|
|
- **Не путать** схемы версий: только `prod=1.*`, `dev=2.*`, `test=3.*`.
|
|
- **Не использовать** старый API `index.cfm` и хосты `registry.kube5s.ru` / `deck-api.ngcloud.ru` — закрыты.
|
|
- **GPG-ключ** подписи не перегенерировать: иначе registry и `terraform init` сломаются
|
|
(`authentication signature from unknown issuer`).
|
|
- **S3-бакеты разделены**: бинарники — `nubes-terraform-registry`, документация — `terraform-registry`.
|