# Документация (единый корень) Этот каталог — единый вход для всех материалов. Критические темы собраны в верхнем индексе. ## Быстрый старт (критично) - Архитектура универсального провайдера: [docs/00_overview/ai_universal_provider_gen.md](00_overview/ai_universal_provider_gen.md) - Обязательная lifecycle-матрица для сервисов с suspend: [docs/60_strategy/provider_philosophy.md](60_strategy/provider_philosophy.md#7-каноничная-lifecycle-логика-для-сервисов-с-suspendresume) - Чеклист разработки/клона: [docs/00_overview/dev-clone-checklist.md](00_overview/dev-clone-checklist.md) - НЛИ/чат-материалы: [docs/00_overview/for_nomo_chat.md](00_overview/for_nomo_chat.md) ## ⛔ API: как работать с токеном (читать перед любым curl!) **Токены НЕ ПРОТУХАЮТ до декабря 2026.** Они в `secrets/{dev,test,prod}.token`. Проверить дату: `python3 -c "import json,base64; t=open('secrets/test.token').read().split('.'); d=json.loads(base64.urlsafe_b64decode(t[1]+'==')); from datetime import datetime,timezone; print(datetime.fromtimestamp(d['exp'],tz=timezone.utc))"` ### ⛔ DDoS-Guard: ВСЕГДА нужны 3 заголовка (и старый, и новый API!) **Без них — 403 Forbidden. Это НЕ протухший токен.** ```bash -H "Authorization: Bearer $TOKEN" -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" -H "Referer: https://deck-{stand}.ngcloud.ru/" ``` ### Актуальный API (Gateway) — только его использовать: | Стенд | Gateway URL | Referer | |-------|-------------|---------| | test | `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` | | dev | `https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` | | prod | `https://lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` | ### Получить список ВСЕХ сервисов стенда: ```bash curl -s --max-time 10 \ -H "Authorization: Bearer $(cat secrets/test.token)" \ -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" \ -H "Referer: https://deck-test.ngcloud.ru/" \ "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc/services" | jq '.results[] | {svcId, svcShort, svc}' ``` Списки сохраняются в `TOOLS/config/{stand}/services_list.txt`. ### Сгенерированные YAML (2026-07-16, метод Виталия): | Стенд | Сервисов | Путь | |-------|----------|------| | dev | 50 | `generated/dev/resources_yaml/` | | test | 48 | `generated/test/resources_yaml/` | | prod | 46 | `generated/prod/resources_yaml/` | 44 сервиса идентичны на всех трёх стендах. Отличия dev: `24` (vcNat), `87` (k8svalkey), `153` (nifi), `175` (k8sGo). Все `map-fixed` параметры раскрыты в `sub_params` через `dataDescriptor`. Генерация с прогресс-выводом: видно каждый сервис и каждую операцию. ### ⛔ Старый API (index.cfm) — ЗАКРЫВАЕТСЯ, НЕ ИСПОЛЬЗОВАТЬ Историческая справка в `apis.txt`. Все упоминания в коде помечены `LEGACY`. ## API и схемы - **Метод Виталия (получение параметров):** [docs/70_api/api-discovery-algorithms.md](70_api/api-discovery-algorithms.md) - Полный API-дамп: [docs/70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md](70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md) ## Discovery (полевая информация) - Сервисы и рецепты: [docs/20_discovery](20_discovery) - Полный дамп параметров API (test): [docs/20_discovery/api_meta_test_dump.md](20_discovery/api_meta_test_dump.md) ## Registry / ресурсы - Документация реестра: [docs/30_registry](30_registry) ## Аналитика и инциденты - Анализ HAR: [docs/40_analysis/har](40_analysis/har) - Анализ провала VM: [docs/40_analysis/vm_creation_failure_analysis.md](40_analysis/vm_creation_failure_analysis.md) - VDC deployment: [docs/40_analysis/vdc_deployment.md](40_analysis/vdc_deployment.md) ## История изменений - Хронология: [docs/50_history](50_history) ## Стратегия - Принципы и подходы: [docs/60_strategy](60_strategy) ## Operations (non-CRUD) - Операции по каждому сервису: [docs/30_registry/resources/operations/index.md](30_registry/resources/operations/index.md) ## S3 события и интеграции - Изменения в бакете и вызов функции: [docs/30_registry/guides/s3-bucket-notifications.md](30_registry/guides/s3-bucket-notifications.md)