Перейти к содержанию

Интеграции

Страница описывает внешние системы и контуры, с которыми работает app-metabase-embedding.

1. Metabase

Metabase является основной внешней системой сервиса.

Использование:

  • чтение коллекций, dashboard и card metadata;
  • чтение embedding_params;
  • генерация guest embed JWT на стороне приложения;
  • export SQL и структуры ресурсов;
  • deploy snapshot обратно в Metabase.

Ключевые настройки:

  • metabase.base-url
  • metabase.api-key
  • metabase.embedding.secret
  • metabase.collections.*
  • metabase.export.*
  • metabase.deploy.*

Основные риски эксплуатации:

  • неверный embedding.secret ломает встраивание;
  • неверный base-url или api-key ломает runtime и export/deploy;
  • несогласованные root collection names приводят к пустым деревьям или config error.

2. LDAP

LDAP используется для аутентификации внутренних пользователей и чтения профиля сотрудника.

Использование:

  • BasicAuth для внутренних сотрудников;
  • чтение uid, entryUUID, mail, display fields;
  • формирование LDAP user context;
  • проверка admin whitelist через app.ldap.adminLogins.

Ключевые настройки:

  • spring.ldap.*
  • app.ldap.*

Важно:

  • LDAP-группы не используются как источник авторизации;
  • авторизация для внутренних пользователей строится на тегах в сервисной БД.

3. Routing DB

Routing DB содержит данные для token auth и on-prem выбора источника.

Использование:

  • поиск пользователя и роли по токену;
  • выбор bms_id, role_id, role;
  • routing source по X-BMS-DOMEN и instance_id.

Ключевые настройки:

  • app.datasource-routing.*

Важно:

  • это не та же база, что app.storage-db;
  • каждый instanceId для on-prem должен существовать в app.datasource-routing.sources.*.

4. Service Storage DB

Service storage DB хранит внутреннее состояние приложения.

Использование:

  • role-based widget access;
  • LDAP tags и assignments;
  • deny-list подпапок;
  • on-prem box mapping;
  • favorites;
  • Liquibase schema management.

Ключевые настройки:

  • app.storage-db.*

5. Jira

Jira используется в двух сценариях:

  • создание analytics request;
  • создание architect review task во время publish flow.

Ключевые настройки:

  • jira.base-url
  • jira.auth-type
  • jira.username
  • jira.api-token
  • jira.project-key
  • jira.architect-review.*

Важно:

  • назначение исполнителя может идти через assigneeAccountId или через username fallback;
  • поведение архитектурного ревью по умолчанию управляется jira.architect-review.enabled.

6. GitLab

GitLab используется для хранения export snapshot и создания merge request.

Использование:

  • чтение target branch subtree;
  • формирование commit actions;
  • создание commit;
  • создание merge request;
  • чтение snapshot при deploy.

Ключевые настройки:

  • gitlab.base-url
  • gitlab.api-token
  • gitlab.project-id
  • gitlab.target-branch
  • gitlab.repo-path-prefix
  • gitlab.source-branch-prefix

7. MkDocs и OpenAPI

Это не runtime-интеграция бизнес-логики, но это часть эксплуатационного контура документации.

Использование:

  • MkDocs собирает web-страницы документации;
  • OpenAPI является source of truth для публичного HTTP-контракта.

Важно:

  • если endpoint опубликован для внешнего или внутреннего использования, он должен быть отражён:
  • в коде контроллера;
  • в OpenAPI схеме;
  • в соответствующей docs-странице.