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

Конфигурация

Эта страница содержит runtime-конфигурацию сервиса app-metabase-embedding в формате, пригодном для MkDocs.

Полный исходный справочник в репозитории также лежит в:

  • /docs/configuration-properties.md

Основные группы свойств

  • server.* — HTTP-порт и servlet encoding.
  • spring.ldap.* — параметры подключения к LDAP.
  • app.ldap.* — прикладные настройки LDAP, кеши и whitelist админов.
  • app.datasource-routing.* — routing DB и on-prem source mapping.
  • app.storage-db.* — сервисная БД приложения.
  • logging.*, management.* — логирование, trace, observations.
  • metabase.* — Metabase API, embedding, export, deploy.
  • jira.* — Jira integration, analytics request, architect review.
  • gitlab.* — GitLab export/publish/deploy flow.
  • профиль local-metabase — локальная разработка против отдельного Metabase.

1. HTTP-сервер

Ключ По умолчанию Комментарий
server.port 8080 HTTP-порт приложения.
server.servlet.encoding.charset UTF-8 Кодировка HTTP-данных.
server.servlet.encoding.enabled true Включает управление кодировкой.
server.servlet.encoding.force true Принудительно включает UTF-8.

2. LDAP

Spring LDAP

Ключ По умолчанию Комментарий
spring.ldap.urls ldap://localhost:389 Адрес LDAP-сервера.
spring.ldap.base dc=unicorn,dc=icu Базовый DN для поиска пользователей.
spring.ldap.username cn=admin,dc=unicorn,dc=icu Bind DN сервисного пользователя.
spring.ldap.password admin Пароль bind-пользователя.

Прикладные настройки LDAP

Ключ По умолчанию Комментарий
app.docs.documentation-url ${UJIN_DOCUMENTATION_URL:http://localhost:8082} URL страницы MkDocs, на которую Swagger UI показывает обратную ссылку.
app.ldap.userSearchBase ou=people Относительный base DN для поиска пользователя.
app.ldap.userSearchFilter (uid={0}) LDAP-фильтр поиска по логину.
app.ldap.authenticationCacheTtlSeconds 300 TTL кеша аутентификации LDAP.
app.ldap.entryUuidCacheTtlSeconds 600 TTL кеша entryUUID.
app.ldap.employeesCacheTtlSeconds 300 TTL кеша списка сотрудников.
app.ldap.adminLogins shipanova, ignatiev LDAP-логины с доступом к admin API.

3. Data source routing

Верхний уровень

Ключ По умолчанию Комментарий
app.datasource-routing.default-source default Источник данных по умолчанию.
app.datasource-routing.mapping-cache-ttl-seconds 300 TTL кеша domain -> instance_id.

Источники данных

Префикс: app.datasource-routing.sources.<source-key>

Ключ По умолчанию Комментарий
.url Нет JDBC URL бизнес-БД.
.username Нет Логин бизнес-БД.
.password Нет Пароль бизнес-БД.
.driver-class-name org.postgresql.Driver JDBC driver class.
.schema Нет Схема БД.

Локальный default source

Ключ По умолчанию Комментарий
app.datasource-routing.sources.default.url jdbc:postgresql://localhost:5555/igoshev Локальная routing БД.
app.datasource-routing.sources.default.username postgres Локальный логин.
app.datasource-routing.sources.default.password password Локальный пароль.
app.datasource-routing.sources.default.driver-class-name org.postgresql.Driver PostgreSQL driver.
app.datasource-routing.sources.default.schema public Локальная схема.

4. Service storage DB

Ключ По умолчанию Комментарий
app.storage-db.url jdbc:postgresql://localhost:5544/ujin_dashboards JDBC URL сервисной БД.
app.storage-db.username postgres Логин сервисной БД.
app.storage-db.password password Пароль сервисной БД.
app.storage-db.driver-class-name org.postgresql.Driver JDBC driver class.
app.storage-db.changelog classpath:db/changelog/service-storage/db.changelog-master.yaml Liquibase changelog.
app.storage-db.liquibase-enabled true Включает Liquibase.

5. Логи и observability

Ключ По умолчанию Комментарий
logging.charset.console UTF-8 Кодировка консольных логов.
logging.charset.file UTF-8 Кодировка файловых логов.
logging.pattern.console кастомный шаблон Лог-шаблон с traceId, source, userId, bmsId.
spring.mvc.observation.enabled true MVC observations.
spring.web.observation.enabled true Web observations.
management.tracing.enabled true Глобальный tracing flag.
management.tracing.sampling.probability 1.0 Доля трасс для sampling.
management.tracing.propagation.type w3c Формат propagation headers.
management.observations.http.server.requests.enabled true HTTP server observations.

6. Metabase

Подключение и embedding

Ключ По умолчанию Комментарий
metabase.base-url https://metabase.unicorn.icu Базовый URL Metabase API.
metabase.api-key задан в application.yml API key для Metabase.
metabase.embedding.secret задан в application.yml Секрет для guest JWT.
metabase.embedding.ttl-seconds 3600 TTL embed token.

Коллекции и кеши

Ключ По умолчанию Комментарий
metabase.collections.root-names.token LK_UK Root-коллекция для token auth.
metabase.collections.root-names.tag-roots.* разные значения Маппинг tag code -> root collection name.
metabase.collections.root-ttl-seconds 60 TTL root-коллекций.
metabase.collections.collections-ttl-seconds 60 TTL дочерних коллекций.
metabase.collections.items-ttl-seconds 60 TTL элементов коллекций.
metabase.collections.metadata-ttl-seconds 300 TTL metadata dashboard/card.

Export и deploy

Ключ По умолчанию Комментарий
metabase.export.base-dir .tmp/metabase-export Каталог export snapshot.
metabase.deploy.enabled false Включает deploy token flow для POST /api/internal/metabase/deploy и fallback token access для POST /api/metabase/settings/admin/sql/deploy.
metabase.deploy.token пусто Shared secret token для обоих deploy endpoints.
metabase.deploy.token-header-name X-Metabase-Deploy-Token Имя заголовка, в котором ожидается deploy token.

7. Jira

Основные свойства

Ключ По умолчанию Комментарий
jira.base-url https://jira.ujin.tech Базовый URL Jira API.
jira.auth-type BEARER Тип авторизации Jira.
jira.username metabase@ujin.tech Technical user для Jira.
jira.api-token задан в application.yml Jira API token.
jira.project-key METR Проект Jira для analytics request.
jira.issue-type [New] Изменение Тип Jira issue.
jira.epic-key METR-700 Epic key.
jira.epic-link-field customfield_10101 Поле Epic Link.
jira.assignee-account-id пусто Предпочтительный assignee account id.
jira.assignee-username shipanova Fallback assignee по username.
jira.move-to-backlog true Отправка задачи в backlog.

Архитектурное ревью

Ключ По умолчанию Комментарий
jira.architect-review.enabled true Создавать architect review task по умолчанию.
jira.architect-review.project-key METR Проект Jira для architect review.
jira.architect-review.issue-type [New] Изменение Тип issue для architect review.
jira.architect-review.epic-key METR-700 Epic key architect review.
jira.architect-review.epic-link-field customfield_10101 Epic Link field architect review.
jira.architect-review.assignee-account-id пусто Assignee account id.
jira.architect-review.assignee-username shipanova Assignee username fallback.
jira.architect-review.move-to-backlog false Отправка architect review в backlog.
jira.architect-review.summary-prefix Архитектурное ревью MR Префикс summary.

8. GitLab

Ключ По умолчанию Комментарий
gitlab.base-url https://gitlab.unicorn.icu Базовый URL GitLab API.
gitlab.api-token задан в application.yml GitLab token.
gitlab.project-id 257 Проект для export snapshot и MR.
gitlab.target-branch main Целевая ветка.
gitlab.repo-path-prefix пусто Подпуть внутри repo для export.
gitlab.source-branch-prefix metabase-export Префикс source branch.
gitlab.remove-source-branch true Удалять source branch после merge.
gitlab.draft true Создавать Draft MR.
gitlab.author-name Metabase Export Bot Имя автора commit.
gitlab.author-email metabase-export@ujin.tech Email автора commit.
gitlab.labels analytics, metabase Labels MR.
gitlab.assignee-ids [210] Assignee IDs MR.
gitlab.reviewer-ids [210] Reviewer IDs MR.

9. Профиль local-metabase

Файл: src/main/resources/application-local-metabase.yml

Ключ По умолчанию Комментарий
metabase.base-url ${LOCAL_METABASE_BASE_URL:http://localhost:3001} URL локального Metabase.
metabase.api-key ${LOCAL_METABASE_API_KEY:} API key локального Metabase.
metabase.embedding.secret ${LOCAL_METABASE_EMBEDDING_SECRET:ujin-local-metabase-embedding-secret} Локальный embedding secret.

10. Что обязательно переопределять на окружениях

  • spring.ldap.*
  • app.ldap.adminLogins
  • app.datasource-routing.sources.*
  • app.storage-db.*
  • metabase.base-url
  • metabase.api-key
  • metabase.embedding.secret
  • metabase.deploy.token при использовании deploy token flow
  • jira.base-url
  • jira.api-token
  • gitlab.base-url
  • gitlab.api-token
  • gitlab.project-id

11. Переменные документации и Swagger

Эти переменные используются для навигации между MkDocs и Swagger UI.

Переменная По умолчанию Где используется Комментарий
UJIN_DOCUMENTATION_URL http://localhost:8082 приложение Маппится в app.docs.documentation-url и используется для обратной ссылки из Swagger UI на docs.
UJIN_APP_BASE_URL http://localhost:8080 mkdocs container Базовый URL приложения для построения ссылок из страниц документации.
UJIN_SWAGGER_UI_URL http://localhost:8080/api/docs/index.html mkdocs container Полный URL Swagger UI для ссылок на контроллеры и методы.
UJIN_OPENAPI_YAML_URL http://localhost:8080/openapi/api.yaml mkdocs container Полный URL OpenAPI YAML для ссылок из документации.