Skip to main content

Setup Blueprints


Blueprints are the most basic building block in Port. They are used to represent assets in your organization, and the relationships between them.

Blueprints are comprised of properties, which are used to define the structure of the data they represent. Port supports a wide variety of property types, allowing you to model your data in the most accurate way possible.

Blueprints are completely customizable, and support any number of properties. They are created and managed in the builder page of the portal.

Common blueprints​

Blueprints can be used to represent any asset in your software catalog, some common examples are:

  • Microservices
  • Packages
  • Package versions
  • CI jobs
  • K8s Clusters
  • Cloud accounts
  • Cloud environments
  • Developer environments
  • Service deployment
  • Pods
  • VMs

Check out our live demo to see an example of a fleshed-out builder with a variety of blueprints.

Configure blueprints in Port​

Port offers a variety of ways to create and edit blueprints:

To edit an existing blueprint:

  1. Go to your Builder page.
  2. Expand your desired blueprint by double-clicking on it.
  3. Here you can add, remove, or edit this blueprint's properties and relations.
  4. To edit the blueprint's metadata (title, icon, etc.), click on the ... icon in the top right corner of the blueprint card, and choose Edit blueprint.

To create a new blueprint:

  1. Go to your Builder page.
  2. Click on + Blueprint in the top right corner:


  1. Choose a name, icon, and description for your blueprint, then click Create.
  2. Your blueprint has been created, the next step is to ingest data into it.

Blueprint structure​

Each blueprint is represented by a Json schema, as shown in the following section:

{
"identifier": "myIdentifier",
"title": "My title",
"description": "My description",
"icon": "My icon",
"calculationProperties": {},
"schema": {
"properties": {
"myProp1": {
"type": "my_type",
"title": "My title"
},
"myProp2": {
"type": "my_special_type",
"title": "My special title"
}
},
"required": []
},
"relations": {}
}

Structure table​

FieldDescriptionNotes
identifierUnique identifierRequired. The identifier is used for API calls, programmatic access and distinguishing between different blueprints
titleNameRequired. Human-readable name for the blueprint
descriptionDescriptionThe value is visible as a tooltip to users when hovering over the info icon in the UI
iconIcon for the blueprint and entities of the blueprint.See the full icon list below
calculationPropertiesContains the properties defined using calculation propertiesRequired
mirrorPropertiesContains the properties defined using mirror properties
schemaAn object containing two nested fields: properties and required.Required. See the schema structure here
Available properties

All available properties are listed in the properties page

Schema object​

"schema": {
"properties": {},
"required": []
}
Schema fieldDescription
propertiesSee the properties section for more details.
requiredA list of the required properties, out of the properties object list.
These are mandatory fields to fill in the UI form.

Full icon list​

Full icon list (click to expand)

API, Airflow, AmazonEKS, Ansible, ApiDoc, Aqua, Argo, ArgoRollouts, Aws, Azure, BitBucket, Bucket, Buddy, CPU, CPlusPlus, CSharp, Clickup, Cloud, Cluster, Codefresh, Confluence, Coralogix, Crossplane, Datadog, Day2Operation, DeployedAt, Deployment, DevopsTool, EC2, EU, Environment, Falcosidekick, Fluxcd, GKE, GPU, Git, GitLab, GitVersion, Github, GithubActions, Go, Google, GoogleCloud, GoogleCloudPlatform, GoogleComputeEngine, Grafana, Graphql, HashiCorp, Infinity, Istio, Jenkins, Jira, Kafka, Kiali, Kotlin, Lambda, Launchdarkly, Link, Lock, LucidCharts, Matlab, Microservice, MongoDb, Moon, NewRelic, Node, NodeJS, Notion, Okta, Package, Pearl, PostgreSQL, Prometheus, Pulumi, Python, R, React, RestApi, Ruby, S3, SDK, SQL, Scala, Sentry, Server, Service, Slack, Swagger, Swift, TS, Terraform, TwoUsers, Youtrack, Zipkin, checkmarx, css3, html5, java, js, kibana, logz, pagerduty, php, port, sonarqube, spinnaker