Skip to content

Data Catalog ​

Подключения к внешним базам, просмотр схем и датасеты — метаописание удалённых таблиц. Строки читаются и записываются в источник. Data Tables остаётся внутренним warehouse.

Порты ​

ПортНазначение
8109HTTP REST (PM2)
18109Docker host
  • БД: data_catalog_db
  • Gateway: /proxy/data-catalog/...

Драйверы ​

postgres, mysql, sqlserver, clickhouse.

DSN хранится зашифрованным (ENCRYPTION_KEY, AES-GCM). В ответах API секрет не возвращается.

ClickHouse: UPDATE/DELETE идут через ALTER TABLE ... UPDATE/DELETE (мутации). Новый датасет на ClickHouse по умолчанию read_only; INSERT доступен, если снять флаг и движок таблицы это позволяет.

API ​

Auth: JWT через gateway. Межсервисный запрос (dashboards) — Authorization: Service <SERVICE_TOKEN> и X-User-ID.

Подключения и датасеты общие для организации. Доступ: владелец и шаринг connection/dataset, роли admin, user, viewer. viewer читает схему и строки. admin и user меняют метаданные и строки, если датасет не read_only. Шарить может только владелец.

Connections ​

МетодПутьОписание
POST/api/v1/connectionsСоздать (name, driver, dsn)
GET/api/v1/connectionsСписок доступных
GET/api/v1/connections/:idКарточка
PATCH/api/v1/connections/:idИмя, драйвер, DSN
DELETE/api/v1/connections/:idУдалить
POST/api/v1/connections/:id/testПроверка соединения
GET/api/v1/connections/:id/schemasСхемы
GET/api/v1/connections/:id/schemas/:schema/tablesТаблицы
GET/api/v1/connections/:id/tables/:schema/:tableКолонки
GET/POST/api/v1/connections/:id/shareСписок / выдать доступ
DELETE/api/v1/connections/:id/share/:user_idСнять доступ

Datasets ​

МетодПутьОписание
POST/api/v1/datasetsДатасет на таблицу источника
GET/api/v1/datasetsСписок
GET/api/v1/datasets/:idКарточка и overlay колонок
PATCH/api/v1/datasets/:idНазвание, описание, теги, read_only
PATCH/api/v1/datasets/:id/columnsOverlay колонок
GET/api/v1/datasets/:id/schemaЖивая схема + overlay
GET/api/v1/datasets/:id/rowsСтраница строк
POST/api/v1/datasets/:id/rowsINSERT
PATCH/api/v1/datasets/:id/rowsUPDATE по PK (pk, values)
DELETE/api/v1/datasets/:id/rowsDELETE по PK
POST/api/v1/datasets/:id/queryСтруктурный запрос для dashboards
GET/POST/api/v1/datasets/:id/shareШаринг
DELETE/api/v1/datasets/:id/share/:user_idСнять доступ

Произвольный SQL не принимается. Идентификаторы сверяются со схемой, значения уходят параметрами. Лимит выборки — 1000 строк.

Env ​

ПеременнаяНазначение
PORT8109
DB_NAMEdata_catalog_db
ENCRYPTION_KEYbase64, 32 байта
SERVICE_TOKENприём запросов dashboards

Секция UI ​

space_data_catalog в правах Auth (none / view / edit). Пункт сайдбара: /catalog. Подключения и датасеты общие для организации; доступ — у владельца и пользователей из шаринга.