Ingest Data Into The Software Catalog
Port offers several integrations, allowing you to easily ingest and manage data with the tools you are already use in your infrastructure.
Introductionโ
Port's integration methods allow you to ingest both blueprints and entities.
By using Port's integrations you ensure that the software catalog is always up to date, and that live data is ingested directly from your systems, which is the most reliable source-of-truth for your environment.
Creating entitiesโ
An entity is an object that matches the type defined by a blueprint, and it represents the data of the software components which is defined by the blueprint properties.
Entity JSON structureโ
This is the basic structure of an entity:
{
"identifier": "unique-ID",
"title": "Title",
"team": [],
"blueprint": "blueprintName",
"properties": {
"property1": "",
"property2": ""
},
"relations": {}
}
Structure tableโ
Field | Type | Description |
---|---|---|
identifier | String | Unique identifier. Note that while the identifier is unique, it can be changed after creation. |
title | String | Entity name that will be shown in the UI. |
team | Array | Optional Field. An array of the associated teams. Note that group permissions are handled according to this array, see Teams and ownership. |
blueprint | String | The name of the blueprint that this entity is based on. |
properties | Object | An object containing key-value pairs, where each key is a property as defined in the blueprint definition, and each value applies the type of the property. |
relations | object | An object containing key-value pairs. Each key is the identifier of the relation that is defined on the blueprint. See more in the related entities section. |
Teams and ownershipโ
The team
key defines ownership over an entity and controls who can modify or delete an existing entity.
To Explore more about ownership in Port see our permissions section.
Related entitiesโ
When two blueprints are connected, creating an entity of the source
blueprint will show an additional option - a relation
.
This option is shown under the relations
section as follows:
Single relation exampleโ
When a relation between blueprints is configured with many = false
, you can add a relation to an entity by adding the relationIdentifier
as key, and the relatedEntityIdentifier
as value:
"relations": {
"relation-identifier": "relatedEntityIdentifier"
}
Many relation exampleโ
When a relation between blueprints is configured with many = true
, you can add a relation to an entity by adding the relationIdentifier
as key, and an array of relatedEntityIdentifier
(s) as value:
"relations": {
"relation-identifier": ["relatedEntityIdentifier1", "relatedEntityIdentifier2"]
}
Click for more details about relations.
Ingestion integration methodsโ
Port offers a variety of data ingestion integrations and methods, these make it easy to ingest data to the catalog and keep it up to date.
Use the links below to learn about the different data ingestion methods Port offers:
- REST;
- CI/CD;
- Kubernetes & ArgoCD & K8s CRDs;
- IaC;
- Git providers;
- AWS, Azure, GCP;
- Cloud Cost;
- Event Processing;
- Incident Management - PagerDuty, Opsgenie, FireHydrant;