Функциональные разделы¶
Эта страница описывает основные функциональные блоки сервиса app-metabase-embedding на уровне продукта,
а не отдельных контроллеров.
1. Выдача embedded-виджетов¶
Основной runtime-сценарий сервиса:
- получение дерева доступных папок и виджетов;
- получение одного виджета по
id; - получение набора виджетов по списку
ids; - генерация guest embed JWT для Metabase dashboard/card;
- применение locked filters для
bms_id,bms_ids,instance_ids.
Связанные endpoints:
GET /api/metabase/widgetsGET /api/metabase/widgets/{id}GET /api/metabase/widgets/by-ids
Подробности: Виджеты
2. Управление доступом для token auth¶
Role-based access для внешних пользователей хранится отдельно от LDAP-модели и работает по связке:
source_keybms_idrole_idwidget_id
Связанные endpoints:
GET /api/metabase/settings/widgets/accessPATCH /api/metabase/settings/widgets/access
Подробности: Settings
3. LDAP admin и теговая модель доступа¶
Для внутренних пользователей сервис поддерживает отдельный административный контур:
- список LDAP-сотрудников;
- назначение тегов пользователям;
- управление tag-based доступом к виджетам;
- deny-list подпапок внутри root-коллекций;
- on-prem routing boxes;
- SQL preview/export/publish/deploy для аналитики Metabase.
Связанные endpoints:
/api/metabase/settings/admin/users/api/metabase/settings/admin/tags/api/metabase/settings/admin/widgets/access/api/metabase/settings/admin/on-prem-boxes/api/metabase/settings/admin/sql/*
Подробности: Admin
4. Пользовательское избранное¶
Избранное хранится в сервисной БД и работает как отдельное приватное дерево:
- системная root-вкладка favorites;
- группы пользователя;
- элементы dashboard/widget;
- reorder как элементов, так и mixed-узлов.
Связанные endpoints:
GET /api/metabase/favoritesPOST /api/metabase/favorites/itemsPATCH /api/metabase/favorites/items/{itemId}/reorderPATCH /api/metabase/favorites/nodes/{nodeType}/{nodeId}/reorderPOST /api/metabase/favorites/groupsPATCH /api/metabase/favorites/groups/{groupId}DELETE /api/metabase/favorites/groups/{groupId}
Подробности: Favorites
5. Jira action buttons¶
Сервис умеет инициировать Jira-задачи из пользовательских сценариев Metabase:
- analytics request из action button;
- архитектурное ревью merge request в publish flow.
Связанные endpoints и сценарии:
POST /api/metabase/action-buttons/analytics-requestPOST /api/metabase/settings/admin/sql/publishс опциейcreateArchitectReviewTask
Подробности: Analytics Request
6. Git-based export / publish / deploy¶
Сервис поддерживает workflow для аналитики как кода:
- preview SQL и структуры ресурса;
- export в git-ready файловую структуру;
- publish изменений в GitLab с MR;
- deploy snapshot обратно в Metabase.
Связанные endpoints:
GET /api/metabase/settings/admin/sql/previewPOST /api/metabase/settings/admin/sql/exportPOST /api/metabase/settings/admin/sql/publishPOST /api/metabase/settings/admin/sql/deployPOST /api/internal/metabase/deploy
По авторизации:
POST /api/metabase/settings/admin/sql/deployпринимает либо LDAP adminBasicAuth, либо shared secret header изmetabase.deploy.*;POST /api/internal/metabase/deployиспользует только shared secret header изmetabase.deploy.*.
Подробности:
Практический пример переноса коллекции между стендами через publish -> MR -> merge -> deploy
описан в разделе Git-flow пример.