iac/apps/documentations/cde-api.ENDPOINTS.md
diamondrigido d318ea3f16 feat: дополнительные поддержка
1. outbox-relay для кафка
2. маршрутизация
2026-10-30 16:46:21 +02:00

42 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Внешние зависимости cde-api и воркеров
Документ перечисляет сервисы, к которым обращаются `cde-api` и воркеры, по их URL-переменным окружения (`apps/documentations/base/cde-api*.yaml`). Это карта зависимостей «кто кого зовёт»; конкретные пути запросов определяются клиентами в коде `cde-api` и здесь не разбираются.
Значения в таблице — из `base`. В контурах с полными копиями (`ugok`, `brusnika-*`, `wb`) имена сервисов и порты другие — см. `*/cde-api.yaml` и раздел «Различия по контурам» в [cde-api.CONFIGURATION.md](cde-api.CONFIGURATION.md).
## HTTP-зависимости
| Переменная | Значение (base) | Сервис | Процессы |
| --- | --- | --- | --- |
| `CDE_API_RESOURCES_BASE_URL` | `http://iams.iam.svc.cluster.local:8080` | resources / iams | api |
| `CDE_API_WORKFLOW_BASE_URL` | `http://backend-svc.processing.svc.cluster.local:80` | workflows (processing) | api, process-workflows, copy, move |
| `CDE_API_BIMAPI_URL` | `http://backend-svc.bim.svc.cluster.local:80` | bim (v1) | api, process-workflows, copy, move |
| `CDE_API_BIMAPI_V2_URL` | `http://backend-svc.bim.svc.cluster.local:80` | bim (v2) | api, process-workflows, copy, move |
| `CDE_API_WORKSPACE_BASE_URL` | `http://backend-svc.workspaces.svc.cluster.local:80` | workspaces | api, publish-documents, copy, move |
| `CDE_API_SYSTEMLOG_BASE_URL` | `http://backend-svc.system-log.svc.cluster.local:80` | system-log | api, publish-documents, copy, move |
| `CDE_API_EAV_HOST` | `http://backend-svc.eav.svc.cluster.local:80` | eav | все |
| `CDE_API_DOCUMENTATION_V2_URL` | `http://backend-api-svc.documentations.svc.cluster.local:80` | documentations-api | api, process-workflows, copy, move |
| `CDE_API_INTERNAL_URL` | `http://cde-api.documentations:8000` | сам cde-api (service `cde-api`) | api, process-workflows, copy, move |
| `CDE_API_FLOWS_URL` | `http://backend-svc.flows.svc.cluster.local:80` | flows | api, create-upload, process-workflows, publish-documents, handle-error, copy, move |
| `CDE_API_TRANSMITTALS_URL` | `http://transmittal-service.transmittal.svc.cluster.local:80` | transmittal | api, create-upload, process-workflows, publish-documents, handle-error, copy, move |
| `CDE_API_MAILER_BASE_URL` | `http://mailer-service.mailer:8000` | mailer | api, create-upload, process-workflows, publish-documents, handle-error, copy, move |
| `CDE_API_DJANGO_HOST`, `CDE_API_USERS_BASE_URL` | `http://backend-svc.django.svc.cluster.local:80` | django (пользователи, `CDE_API_USERS_AUTH_TOKEN` из секрета `django-auth`) | api, process-workflows, copy, move; `CDE_API_USERS_BASE_URL` — только api |
| `CDE_API_PUBLIC_LINK_HOST` | зависит от контура | внешний хост document-link (используется для формирования ссылок) | api |
Точный список процессов для каждой переменной — в [cde-api.CONFIGURATION.md](cde-api.CONFIGURATION.md).
## Инфраструктурные зависимости
| Зависимость | Откуда конфигурируется | Для чего |
| --- | --- | --- |
| PostgreSQL | Vault `secrets/data/apps/documentations/postgres` (k8s-контуры: хост/БД как у documentations-api + его секрет), `sslmode=disable` | **та же БД, что у documentations-api** |
| Valkey/Redis | `CDE_API_REDIS__HOST=redis`, `PORT=6379`, `DB=5`, без TLS и пароля | общий `redis` из ns documentations: кэш, курсоры, блокировки |
| S3 | Vault `secrets/data/minio/apps/documentations` (k8s-контуры: существующие Secret'ы контура, см. CONFIGURATION), бакет `CDE_API_S3_BUCKET_NAME` | хранение и multipart-загрузка файлов дисков |
| Zeebe (Camunda) | Vault `secrets/data/apps/cde-api/zeebe` (k8s-контуры: `cde-api-zeebe-secret`) | S32D-воркеры берут задачи из Zeebe |
| RabbitMQ | Vault `secrets/data/rabbitmq/apps/cde` (k8s-контуры: существующие Secret'ы контура), хост `rabbitmq.rabbitmq.svc.cluster.local:5672`; ключи `pdf_markings_input`, `hash.compute.normal`, обмен `hash.compute` | постановка задач на штампы (pdf-markings) и хэширование (hasher) |
| Контейнерный реестр / workflows | `CDE_API_CONTAINER_REGISTRY`, `CDE_API_WORKFLOWS_IMAGES_VERSION=master`, файл `tasks_execution_config.json` | запуск задач обработки (k8s-jobs) |
## Входящий трафик
Service `cde-api:8000` (ns `documentations`) используется внутри кластера (в том числе самим cde-api через `CDE_API_INTERNAL_URL`). Маршруты в `infrastructure/istio-config/*` на этот сервис **не заведены**: существующие `cde-api-virt-service` относятся к легаси-сервису cde (`cde-svc.cde`) и не затрагиваются. Входящий контракт — [cde-api.openapi.yaml](cde-api.openapi.yaml) (копия `cde-api/docs/openapi/swagger.yaml`).