From ba4eebedd26ca29b09ba7ddf62792df89cb81f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Wed, 1 Jul 2026 09:44:00 +0400 Subject: [PATCH] =?UTF-8?q?docs:=20REPO=5FINVENTORY.md=20=E2=80=94=20full?= =?UTF-8?q?=20repo=20structure,=20version=20matrix,=20profiles,=20publishe?= =?UTF-8?q?d=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- REPO_INVENTORY.md | 126 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 REPO_INVENTORY.md diff --git a/REPO_INVENTORY.md b/REPO_INVENTORY.md new file mode 100644 index 0000000..e4ee534 --- /dev/null +++ b/REPO_INVENTORY.md @@ -0,0 +1,126 @@ +# REPO INVENTORY — 01.07.2026 + +Полная карта репозитория `/home/naeel/tf_provider`: структура, версии, профили, публикации. + +--- + +## 1. Директории + +| Путь | Назначение | Файлы | +|------|-----------|-------| +| `/` | Корень Go-модуля `terraform-provider-mycloud` (Legacy провайдер) | `main.go`, `go.mod`, `go.sum` | +| `internal/` | Исходный код Legacy провайдера (ручные ресурсы) | 25 `.go` файлов | +| `internal/core/` | Ядро Legacy: HTTP-клиент, lookup инстансов, операции | 3 файла | +| `internal/generated/` | Сгенерированные ресурсы болванки (3 файла) | 3 `.go` | +| `internal/provider/` | 12 ручных ресурсов + дата-сорсы | 17 `.go` | +| `internal/registrykeys/` | Пусто | — | +| `universal_rebuild/` | **Universal провайдер** (главный, генерируемый) | Go-модуль | +| `universal_rebuild/internal/core/` | Универсальное ядро: клиент, операции, реф-резолв | 10 файлов | +| `universal_rebuild/internal/provider/` | Provider entrypoint + таймауты | 3 файла | +| `universal_rebuild/internal/resources_core/` | CRUD-логика, state, params | 22 файла | +| `universal_rebuild/internal/resources_gen/` | **Сгенерированные ресурсы** (82 файла) | 82 `.go` | +| `universal_rebuild/resources_yaml/` | **YAML-спеки** (42 файла) — source of truth | 42 `.yaml` | +| `universal_rebuild/tools/` | Инструменты генерации | 5 тулов | +| `universal_rebuild/tools/service_spec_gen/` | API → YAML (основной генератор) | 1 `.go` | +| `universal_rebuild/tools/gen_v2/` | YAML → Go (основной генератор) | 1 `.go` | +| `universal_rebuild/tools/docs_template_gen_v2/` | YAML → Документация | 1 `.go` | +| `universal_rebuild/tools/docs_template_gen/` | Docs gen v1 | 1 `.go` | +| `universal_rebuild/tools/ops_docs_gen/` | Документация операций | 1 `.go` | +| `devops/` | DevOps скрипты и CI | ~20 файлов | +| `devops/profiles/prod/` | **PROD профиль** (версия 2.1.23) | profile.env, services_list, timeouts | +| `devops/profiles/test/` | **TEST профиль** (версия 5.0.55) | profile.env, services_list, timeouts | +| `devops/profiles/dev/` | **DEV профиль** (версия 3.0.1) | profile.env, services_list, timeouts | +| `devops/config/` | Мастер-список сервисов + таймауты | 2 файла | +| `devops/ci/` | GitLab CI пайплайн | 1 файл | +| `docs/` | **MkDocs документация** | ~600+ MD файлов | +| `docs/30_registry/resources/` | **Реестр ресурсов** (документация по каждому сервису) | ~500+ | +| `docs/50_history/` | История разработки (24 спринта) | 24 `.md` | +| `docs/ops/` | Операционные документы (runbook, troubleshooting) | 9 `.md` | +| `cloud-dashboard/` | FastAPI дашборд мониторинга | Python + K8s | +| `HAR/` | HTTP-трассировки API (8 файлов) | 8 `.har` | +| `HISTORY/OPUS/` | История работы с AI-ассистентом Opus | 7 `.md` | +| `PROD_STAND/` | Terraform-конфиги продакшен-стенда | ~20 файлов | +| `TEST_STAND/` | Terraform-конфиги тестового стенда | ~15 файлов | +| `RABBIT/` | Terraform-конфиги RabbitMQ | 2 `.tf` | +| `tools/` | Вспомогательные утилиты | ~15 файлов | +| `secrets/` | Токены и ключи (в gitignore) | 6 файлов | +| `scripts/` | Скрипты деплоя | 5 файлов | +| `charts/` | Пусто (под Helm-чарты) | — | +| `.github/` | GitHub Actions + Copilot инструкции | 4 файла | + +--- + +## 2. Версии — полная матрица + +### 2.1. Код + +| Компонент | Путь | Версия | +|-----------|------|--------| +| **Universal провайдер** | `universal_rebuild/main.go` | **5.0.56** | +| **Legacy провайдер** | `main.go` | **5.0.52** | + +Оба кода указывают на один registry-адрес `terra.k8c.ru/nubes/nubes`. + +### 2.2. Профили (devops/profiles/) + +| Стенд | Файл | RELEASE_VERSION | PROVIDER_VERSION | DOCS_VERSION | +|-------|------|-----------------|------------------|--------------| +| **PROD** | `prod/profile.env` | **2.1.23** | **2.1.23** | **2.1.23** | +| **TEST** | `test/profile.env` | **5.0.55** | **5.0.55** | **5.0.55** | +| **DEV** | `dev/profile.env` | **3.0.1** | **3.0.1** | **3.0.1** | + +### 2.3. Registry (terra.k8c.ru — опубликованное) + +| Линейка | Количество | Диапазон | Последняя | +|---------|-----------|----------|-----------| +| **2.x** (Legacy) | 35 версий | 2.0.0 → **2.12.13** | 2.12.13 | +| **5.x** (Universal) | 52 версии | 5.0.1 → **5.0.55** | 5.0.55 | + +**Всего на регистре: 87 версий.** + +### 2.4. Документация (опубликованная) + +| Версия | Статус | +|--------|--------| +| `2.0.0` | ✅ 200 | +| `2.1.2` | ✅ 200 | +| `2.1.23` | ✅ 200 | +| `5.0.1` | ✅ 200 | +| `5.0.51` | ✅ 200 | +| `5.0.55` | ❌ 404 | +| `5.0.56` | ❌ 404 | + +**Проблема:** документация для 5.x публиковалась не для всех версий. 5.0.1 и 5.0.51 есть, 5.0.55 — нет. + +--- + +## 3. Что не синхронизировано + +### Разрыв между кодом и профилями + +| Что | Код | PROD профиль | Registry | Разрыв | +|-----|-----|-------------|----------|--------| +| Universal | 5.0.56 | 5.0.55 (test) | 5.0.55 | +1 | +| Legacy | 5.0.52 | 2.1.23 (prod) | 2.12.13 | -? | + +- **Universal код (5.0.56) новее registry-версии (5.0.55).** Наши правки P0-P2 + регенерация 88 ресурсов не опубликованы. +- **PROD профиль (2.1.23) использует Legacy.** Universal (5.x) развёрнут только на TEST. +- **DEV профиль (3.0.1)** — непонятная версия, не совпадает ни с кодом, ни с registry. + +### Разрыв между услугами в PROD и TEST + +| Файл | PROD | TEST | +|------|------|------| +| `services_list.txt` | 27 активных | 31 активный | +| Отличия | Нет: `vcOrgSaas`, `vcexternalip`, `superset`, `k8sZitiController`, ... | Есть все | + +PROD использует меньше сервисов (старый список), TEST — полный. + +--- + +## 4. Итого + +1. Universal (5.0.56) — самая свежая версия кода, но **не опубликована** +2. PROD стоит на Legacy 2.1.23 — старом ручном провайдере +3. Документация для 5.x публикуется нерегулярно (дыры) +4. DEV профиль (3.0.1) — не используется, версия ничему не соответствует