Каталог — это раздел платформы, который содержит список всех ресурсов, их параметров и связей, а также предоставляет пользователям возможность запускать сценарии для сущностей ресурсов.
Наполнение каталога возможно в ручном режиме, либо автоматически с использованием источников данных или вебхуков.
Ресурсы
Ресурс — это шаблон или тип сущности в каталоге платформы. Ресурс определяет структуру данных, параметры и свойства, которые будут наследовать все сущности данного типа. Например, ресурс «Репозитории GitLab» описывает структуру данных для репозиториев GitLab, а каждая конкретная сущность этого ресурса представляет отдельный репозиторий.
Основной принцип, заложенный в платформу, заключается в том, что модель данных настраивается администратором платформы. Администратор может самостоятельно создавать те ресурсы, которые ему необходимы.
Именование ресурсов
При именовании ресурсов следуйте правилам:
- «Название ресурса» может быть любым и не требует специальных префиксов или разделителей.
- «Идентификатор ресурса» должен быть уникальным в пределах всей платформы.
Группировка ресурсов
Ресурсы в каталоге могут быть организованы в иерархическую структуру. Это позволяет логически группировать связанные ресурсы и улучшает навигацию в каталоге.
Для создания группы ресурсов необходимо:
«Создать ресурсы» — создать все необходимые ресурсы, которые будут входить в группу. Например, ресурс «GitLab» может быть родительским для ресурсов «Репозитории», «Группы» и т. д.
«Связать дочерние ресурсы с родительскими» — в сайдбаре каталога перетащить дочерний ресурс на родительский ресурс. Дочерние ресурсы будут автоматически привязаны к родительскому и отобразятся в интерфейсе как вложенные элементы.
«Настроить отображение» — в сайдбаре каталога родительские ресурсы отображаются с иконкой раскрытия/сворачивания, позволяющей показывать или скрывать дочерние элементы.
Для изменения группировки ресурсов (перетаскивания ресурсов в сайдбаре каталога) требуется глобальное разрешение update:resources-order. Подробнее о правах доступа — в разделе «Ролевая модель».
Для просмотра дочернего ресурса у пользователя должны быть права на просмотр (read:resources) всей иерархии родительских ресурсов. Подробнее о правах доступа — в разделе «Ролевая модель».
Отображение полного пути
В интерфейсе платформы (селекторы ресурсов, теги, графы связей) отображается полный путь ресурса с цепочкой родительских ресурсов, разделённых символом /. Например, если ресурс «Репозитории» является дочерним для ресурса «GitLab», то в интерфейсе будет отображаться «GitLab / Репозитории».
Страница ресурса
По умолчанию после создания ресурса на его странице будет отображаться таблица с сущностями ресурса. При клике на сущность в таблице можно перейти на её страницу.
Дашборды
В форме редактирования ресурса задаются три независимых варианта использования дашбордов:
«Использовать дашборд на странице ресурса» — выбранный дашборд выводится на странице ресурса вместо таблицы или карточек сущностей.
«Использовать дашборд на странице сущности» — выбранный дашборд выводится на странице сущности вместо встроенного содержимого вкладки «Обзор».
«Дополнительные вкладки с дашбордами» — дополнительные дашборды в виде вкладок на странице каждой сущности ресурса. Порядок отображения дашбордов зависит от порядка в конфигурации ресурса, доступно изменение порядка перетаскиванием. Один и тот же дашборд нельзя добавить несколько раз для одного и того же ресурса.
Режим просмотра сущностей
Когда на странице ресурса отображается список сущностей, над списком доступен переключатель «Таблица» и «Карточки».
«Таблица» — сущности в виде таблицы с сортировкой, пагинацией и поиском; при необходимости доступно массовое удаление.
«Карточки» — сущности в виде карточек с основными параметрами; список подгружается при прокрутке страницы.
Выбранный режим сохраняется в браузере отдельно для каждого ресурса.
Связи между ресурсами
Каждый ресурс может быть связан с другим ресурсом или сам с собой двусторонней связью. Связи настраиваются администратором платформы. После настройки связей для ресурса каждая сущность данного ресурса может быть связана с одной либо несколькими сущностями другого ресурса.
Допускается создание как вертикальных связей (сущность из одного ресурса связывается с сущностью из другого ресурса), так и горизонтальных (связываются сущности в рамках одного ресурса).
У каждой связи можно указать параметры родительского и дочернего ресурса, через которые будут связаны сущности. Данные параметры будут отображаться на графе связей при нажатии на соединительную линию между карточками ресурсов или сущностей.
Сущности
Сущность — это конкретная единица каждого ресурса. Например, если ресурс называется «Группы» и является дочерним для ресурса «GitLab», то каждая группа в GitLab, зарегистрированная в платформе, является сущностью этого ресурса.
Сущности наследуют параметры ресурсов, при этом возможно задание параметров отдельно для каждой сущности.
Именование сущностей
При именовании сущностей следуйте правилам:
- «Название сущности» может быть любым и не требует специальных префиксов или разделителей.
- «Идентификатор сущности» должен быть уникальным в пределах ресурса.
Страница сущности
Страница сущности состоит из встроенных панелей и вкладок с дашбордами. Встроенные панели:
- «Обзор» — содержит блоки с указанием владельца сущности, её описанием, параметрами и связями.
- «Запуски действий» — содержит список действий, которые запускались для данной сущности.
- «Запуски процессов» — содержит список процессов, которые запускались для данной сущности.
- «События» — содержит список событий, сгенерированных для данной сущности.
Вкладки с дашбордами из поля «Дополнительные вкладки с дашбордами» в настройках ресурса отображаются на странице сущности рядом со встроенными панелями; порядок вкладок соответствует порядку в настройках ресурса.
Связи между сущностями
Связи для каждой сущности отображаются на странице сущности в виде таблицы и в виде графа. Каждая сущность может быть связана с одной или несколькими сущностями того же или другого ресурса, в зависимости от настроенных связей между ресурсами.
Связи между сущностями могут создаваться в ручном режиме либо автоматически при помощи источников данных или вебхуков.
События
При создании, удалении либо изменении спецификации любой сущности генерируется событие соответствующего типа: ENTITY_CREATED, ENTITY_DELETED, ENTITY_UPDATED. Эти события нужны для следующих целей:
- «Аудит» — фиксация изменений, происходящих с сущностью в течение её жизненного цикла.
- «Настройка автоматизированных реакций» — настройка реакций на изменения спецификации сущности.
Время хранения событий ограничено и может быть настроено через файл конфигурации платформы.
Избранное
Пользователь может добавить любую сущность в избранное. Для этого на странице сущности нажмите на круглую кнопку со всплывающей подсказкой «Добавить в избранное» рядом с названием сущности. Посмотреть добавленные в избранное сущности можно в разделе каталога «Избранное».
Каждый пользователь видит в разделе «Избранное» только его добавленные сущности.
Выгрузка сущностей в CSV
Платформа предоставляет возможность выгрузки сущностей в CSV-файл для последующего анализа и обработки данных.
Выгрузка сущностей одного ресурса
Для выгрузки сущностей конкретного ресурса:
Откройте страницу ресурса в каталоге.
Рядом с названием ресурса нажмите на круглую кнопку со всплывающей подсказкой «Выгрузить сущности ресурса в CSV».
В выгруженный файл будут включены все сущности ресурса с учётом применённых фильтров, сортировки и пагинации.
Выгрузка сущностей нескольких ресурсов
Для выгрузки сущностей из нескольких ресурсов одновременно:
В сайдбаре каталога нажмите кнопку «Выгрузить сущности».
В открывшемся диалоге выберите один или несколько ресурсов.
Нажмите кнопку «Скачать .csv».
Все сущности выбранных ресурсов будут объединены в один CSV-файл.
Для выгрузки сущностей требуется глобальное разрешение read:entities. Подробнее о правах доступа — в разделе «Ролевая модель».