Skip to main content

Setup Blueprints

Define blueprint schemas to begin building your software catalog.

What is a blueprint?โ€‹

A Blueprint is the generic building block in Port. It represents assets that can be managed in Port, such as Microservice, Environments, Packages, Clusters, Databases, and many more.

Blueprints are completely customizable, and they support any number of properties the user chooses, all of which can be modified as you go.

๐Ÿ’ก Common blueprintsโ€‹

Blueprints can be used to represent any asset in your software catalog, for example:

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

In this live demo example, we can see the DevPortal Builder page with all of the blueprints. ๐ŸŽฌ

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.

Configure blueprints in Portโ€‹

{
"identifier": "myIdentifier",
"title": "My title",
"description": "My description",
"icon": "My icon",
"calculationProperties": {},
"schema": {
"properties": {},
"required": []
},
"relations": {}
}

Check out Port's API reference to learn more.

Full icon listโ€‹

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