Files
tf_provider/docs
Repinoid ab9f7d2962 docs(curated): страница CRUD-стенда приведена к схеме pg/ + apps/
Страница curated/crud/three_apps.md описывала старую схему: всё в одной папке,
два apply и пароль из vault_secrets кластера через try(). Это уже не так.
Переписана по TEST_STAND/CRUD/README.md:
- два каталога = два state, apply/destroy в каждом меняет только своё;
- три шага: pg/ -> terraform output -json > ../apps/creds.json -> apps/;
- пароль берётся из выхода подресурса nubes_postgres_user (не из vault_secrets);
- раздел «Структура манифестов» и новый раздел «Справка: выходные параметры pg/»
  (состав выходов, вид JSON {sensitive,type,value}, соответствие env-переменным
  Flask/Node.js/Lucee);
- имена приведены к текущим: lucee-crud / flask-crud / nodejs-crud, пути в
  apps/locals.tf, добавлен keep_on_destroy;
- снято непроверенное «состояние на 2026-10-01, все 6 ресурсов running» и строка
  про DEV_STAND/CRUD как аналог — там осталась старая плоская схема, сказано прямо.
Проверено: 191 строка, 16 открывающих/закрывающих блоков кода (чётно).
2026-10-02 08:02:28 +03:00
..
2026-06-30 15:45:24 +04:00
2026-06-30 15:45:24 +04:00

Документация (единый корень)

Этот каталог — единый вход для всех материалов. Критические темы собраны в верхнем индексе.

Быстрый старт (критично)

⛔ 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. Это НЕ протухший токен.

-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/

Получить список ВСЕХ сервисов стенда:

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 и схемы

Discovery (полевая информация)

Registry / ресурсы

Аналитика и инциденты

История изменений

Стратегия

Operations (non-CRUD)

S3 события и интеграции