# Внешние зависимости 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`).