Каталог — это раздел платформы, который содержит список всех ресурсов, их параметров и связей, а также предоставляет пользователям возможность запускать сценарии для сущностей ресурсов.

Наполнение каталога возможно в ручном режиме, либо автоматизированно с использованием источников данных или вебхуков.

Ресурсы

Ресурс — это шаблон или тип сущности в каталоге платформы. Ресурс определяет структуру данных, параметры и свойства, которые будут наследовать все сущности данного типа. Например, ресурс «Репозитории GitLab» описывает структуру данных для репозиториев GitLab, а каждая конкретная сущность этого ресурса представляет отдельный репозиторий.

Основной принцип, заложенный в платформу, заключается в том, что модель данных настраивается администратором платформы. Администратор может самостоятельно создавать те ресурсы, которые ему необходимы.

Именование ресурсов

При именовании ресурсов следуйте правилам:

  • Название ресурса может быть любым и не требует специальных префиксов или разделителей.
  • Идентификатор ресурса должен быть уникальным в пределах всей платформы.

Группировка ресурсов

Ресурсы в каталоге могут быть организованы в иерархическую структуру, это позволяет логически группировать связанные ресурсы и улучшает навигацию в каталоге.

Для создания группы ресурсов необходимо:

  1. Создать ресурсы — создать все необходимые ресурсы, которые будут входить в группу. Например, ресурс «Gitlab» может быть родительским для ресурсов «Репозитории», «Группы» и т.д.

  2. Связать дочерние ресурсы с родительскими — в сайдбаре каталога перетащить дочерний ресурс на родительский ресурс. Дочерние ресурсы будут автоматически привязаны к родительскому и отобразятся в интерфейсе как вложенные элементы.

  3. Настроить отображение — в сайдбаре каталога родительские ресурсы отображаются с иконкой раскрытия/сворачивания, позволяющей показывать или скрывать дочерние элементы.

Для изменения группировки ресурсов (перетаскивания ресурсов в сайдбаре каталога) требуется глобальное разрешение update:resources-order. Подробнее о правах доступа — в разделе «Ролевая модель».

Для просмотра дочернего ресурса у пользователя должны быть права на просмотр (read:resources) всей иерархии родительских ресурсов. Подробнее о правах доступа — в разделе «Ролевая модель».

Отображение полного пути

В интерфейсе платформы (селекторы ресурсов, теги, графы связей) отображается полный путь ресурса с цепочкой родительских ресурсов, разделенных символом /. Например, если ресурс «Репозитории» является дочерним для ресурса «Gitlab», то в интерфейсе будет отображаться «Gitlab / Репозитории».

Карточка ресурса

По умолчанию после создания ресурса в его карточке будет отображаться таблица с сущностями данного ресурса. При клике на сущность в таблице можно перейти на ее карточку.

Если в поле «Использовать дашборд» выбран дашборд, то он будет выводиться в карточке ресурса вместо таблицы сущностей.

Связи между ресурсами

Каждый ресурс может быть связан с другим ресурсом или сам с собой двусторонней связью. Связи настраиваются администратором платформы. После настройки связей для ресурса каждая сущность данного ресурса может быть связана с одной либо несколькими сущностями другого ресурса.

Допускается создание как вертикальных связей (сущность из одного ресурса связывается с сущностью из другого ресурса), так и горизонтальных (связываются сущности в рамках одного ресурса).

Сущности

Сущность — это конкретная единица каждого ресурса. Например, если ресурс называется «Группы» и является дочерним для ресурса «Gitlab», то каждая группа в Gitlab, зарегистрированная в платформе, является сущностью этого ресурса.

Сущности наследуют параметры ресурсов, при этом возможно задание параметров отдельно для каждой сущности.

Именование сущностей

При именовании сущностей следуйте правилам:

  • Название сущности может быть любым и не требует специальных префиксов или разделителей.
  • Идентификатор сущности должен быть уникальным в пределах ресурса.

Карточка сущности

Карточка сущности состоит из встроенных панелей и пользовательских панелей. Встроенные панели:

  • Обзор — содержит блоки с указанием владельца сущности, ее описанием, параметрами и связями.
  • Запуски действий — содержит список действий, которые запускались для данной сущности.
  • Запуски процессов — содержит список процессов, которые запускались для данной сущности.
  • События — содержит список событий, сгенерированных для данной сущности.

В карточке каждой сущности поддерживается добавление новых панелей (дашбордов).

Добавление дашбордов для одной из сущностей ресурса применяется ко всем сущностям данного ресурса.

Связи между сущностями

Связи для каждой сущности отображаются в карточке сущности в виде таблицы и в виде графа. Каждая сущность может быть связана с одной или несколькими сущностями того же или другого ресурса, в зависимости от настроенных связей между ресурсами.

Связи между сущностями могут создаваться в ручном режиме либо автоматически при помощи источников данных или вебхуков.

События

При создании, удалении, либо изменении спецификации любой сущности генерируется событие соответствующего типа: ENTITY_CREATED, ENTITY_DELETED, ENTITY_UPDATED. Эти события нужны для следующих целей:

  • Аудит — фиксация изменений, происходящих с сущностью в течение ее жизненного цикла.
  • Настройка автоматизированных реакций — настройка реакций на изменения спецификации сущности.

Время хранения событий ограничено и может быть настроено через файл конфигурации платформы.

Выгрузка сущностей в CSV

Платформа предоставляет возможность выгрузки сущностей в CSV-файл для последующего анализа и обработки данных.

Выгрузка сущностей одного ресурса

Для выгрузки сущностей конкретного ресурса:

  1. Откройте карточку ресурса в каталоге.

  2. В таблице сущностей нажмите кнопку Скачать .csv.

  3. В выгруженный файл будут включены все сущности ресурса с учетом примененных фильтров, сортировки и пагинации.

Выгрузка сущностей нескольких ресурсов

Для выгрузки сущностей из нескольких ресурсов одновременно:

  1. В сайдбаре каталога нажмите кнопку Выгрузить сущности.

  2. В открывшемся диалоге выберите один или несколько ресурсов.

  3. Нажмите кнопку Скачать .csv.

  4. Все сущности выбранных ресурсов будут объединены в один CSV-файл.

Для выгрузки сущностей требуется глобальное разрешение read:entities. Подробнее о правах доступа — в разделе «Ролевая модель».