|
| 1 | +--- |
| 2 | +title: Catalog |
| 3 | +weight: 30 |
| 4 | +--- |
| 5 | + |
| 6 | +The catalog is a section of the platform that contains a list of all resources, their parameters and relationships, and allows users to run scripts for resource entities. |
| 7 | + |
| 8 | +The catalog can be populated manually or automatically using data sources or webhooks. |
| 9 | + |
| 10 | +## Resources |
| 11 | + |
| 12 | +A resource is a template or entity type in the platform catalog. A resource defines the data structure, parameters, and properties that all entities of a given type will inherit. For example, the "GitLab Repositories" resource describes the data structure for GitLab repositories, and each specific entity of this resource represents a separate repository. |
| 13 | + |
| 14 | +The fundamental principle of the platform is that the data model is configured by the platform administrator. The administrator can independently create the resources they need. |
| 15 | + |
| 16 | +### Resource Naming |
| 17 | + |
| 18 | +When naming resources, follow these rules: |
| 19 | + |
| 20 | +- **Resource Name** can be any name and does not require special prefixes or separators. - The **Resource ID** must be unique across the entire platform. |
| 21 | + |
| 22 | +### Resource Grouping |
| 23 | + |
| 24 | +Resources in the catalog can be organized hierarchically, allowing for logical grouping of related resources and improving catalog navigation. |
| 25 | + |
| 26 | +To create a resource group, you need to: |
| 27 | + |
| 28 | +1. **Create Resources** — create all the necessary resources that will be included in the group. For example, the "Gitlab" resource could be the parent of "Repositories," "Groups," and other resources. |
| 29 | + |
| 30 | +2. **Link Child Resources to Parent Resources** — in the catalog sidebar, drag the child resource onto the parent resource. Child resources will be automatically linked to the parent and appear in the interface as nested elements. |
| 31 | + |
| 32 | +3. **Configure Display** — in the catalog sidebar, parent resources are displayed with an expand/collapse icon, allowing you to show or hide child elements. |
| 33 | + |
| 34 | +{{< alert level="info" >}} |
| 35 | +Changing resource grouping (dragging and dropping resources in the catalog sidebar) requires the global `update:resources-order` permission. For more information on access rights, see the ["Role Model"](../../admin/security/rbac/). |
| 36 | +{{< /alert >}} |
| 37 | + |
| 38 | +{{< alert level="info" >}} |
| 39 | +To view a child resource, the user must have `read:resources` permissions for the entire hierarchy of parent resources. For more information on access rights, see the ["Role Model"](../../admin/security/rbac/). |
| 40 | +{{< /alert >}} |
| 41 | + |
| 42 | +#### Displaying the Full Path |
| 43 | + |
| 44 | +The platform interface (resource selectors, tags, relationship graphs) displays the full resource path with the chain of parent resources separated by the `/` character. For example, if the "Repositories" resource is a child of the "Gitlab" resource, the interface will display "Gitlab / Repositories." |
| 45 | + |
| 46 | +### Resource Card |
| 47 | + |
| 48 | +By default, after creating a resource, its card will display a table of entities for that resource. Clicking on an entity in the table takes you to its card. |
| 49 | + |
| 50 | +If a dashboard is selected in the "Use Dashboard" field, it will be displayed on the resource card instead of the entity table. |
| 51 | + |
| 52 | +### Relationships between Resources |
| 53 | + |
| 54 | +Each resource can be linked to another resource or to itself via a two-way relationship. Relationships are configured by the platform administrator. After setting up relationships for a resource, each entity in that resource can be linked to one or more entities in another resource. |
| 55 | + |
| 56 | +You can create both vertical relationships (an entity from one resource is linked to an entity from another resource) and horizontal relationships (entities within a single resource are linked). |
| 57 | + |
| 58 | +## Entities |
| 59 | + |
| 60 | +An entity is a specific unit of each resource. For example, if a resource is called "Groups" and is a child of the resource "Gitlab," then each Gitlab group registered in the platform is an entity of that resource. |
| 61 | + |
| 62 | +Entities inherit resource parameters, but parameters can be specified separately for each entity. |
| 63 | + |
| 64 | +### Naming Entities |
| 65 | + |
| 66 | +When naming entities, follow these rules: |
| 67 | + |
| 68 | +- **The entity name** can be any name and does not require special prefixes or separators. |
| 69 | +- **The entity ID** must be unique within the resource. |
| 70 | + |
| 71 | +### Entity Card |
| 72 | + |
| 73 | +The entity card consists of built-in panels and custom panels. Built-in panels: |
| 74 | + |
| 75 | +- **Overview** — contains blocks indicating the entity's owner, description, parameters, and relationships. |
| 76 | +- **Action Triggers** — contains a list of actions that have been triggered for this entity. |
| 77 | +- **Process Starts** — Contains a list of processes that have started for this entity. |
| 78 | +- **Events** — Contains a list of events generated for this entity. |
| 79 | + |
| 80 | +New dashboards can be added to each entity card. |
| 81 | + |
| 82 | +Adding dashboards to one resource entity applies to all entities within that resource. |
| 83 | + |
| 84 | +### Relationships between entities |
| 85 | + |
| 86 | +Relationships for each entity are displayed in the entity card as a table and a graph. Each entity can be linked to one or more entities of the same or different resource, depending on the configured relationships between resources. |
| 87 | + |
| 88 | +Relationships between entities can be created manually or automatically using data sources or webhooks. |
| 89 | + |
| 90 | +### Events |
| 91 | + |
| 92 | +When the specification of any entity is created, deleted, or modified, an event of the corresponding type is generated: ENTITY_CREATED, ENTITY_DELETED, or ENTITY_UPDATED. These events serve the following purposes: |
| 93 | + |
| 94 | +- **Audit** — recording changes occurring to an entity during its lifecycle. |
| 95 | +- **Configure automated reactions** — configure reactions to changes in the entity specification. |
| 96 | + |
| 97 | +The event storage time is limited and can be configured through the platform configuration file. |
| 98 | + |
| 99 | +### Exporting Entities to CSV |
| 100 | + |
| 101 | +The platform provides the ability to export entities to a CSV file for subsequent data analysis and processing. |
| 102 | + |
| 103 | +#### Exporting Entities for a Single Resource |
| 104 | + |
| 105 | +To export entities for a specific resource: |
| 106 | + |
| 107 | +1. Open the resource card in the catalog. |
| 108 | +2. In the entity table, click the **Download .csv** button. |
| 109 | +3. The exported file will include all resource entities, taking into account the applied filters, sorting, and pagination. |
| 110 | + |
| 111 | +#### Exporting Entities from Multiple Resources |
| 112 | + |
| 113 | +To export entities from multiple resources simultaneously: |
| 114 | + |
| 115 | +1. In the catalog sidebar, click the **Download Entities** button. |
| 116 | +2. In the dialog box that opens, select one or more resources. |
| 117 | +3. Click the **Download .csv** button. |
| 118 | +4. All entities for the selected resources will be combined into a single CSV file. |
| 119 | + |
| 120 | +{{< alert level="info" >}} |
| 121 | +Unloading entities requires the global `read:entities` permission. For more information on access rights, see the [Role Model](../../admin/security/rbac/) section. |
| 122 | +{{< /alert >}} |
0 commit comments