# 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) — не используется, версия ничему не соответствует