Port Product Updates: May 2024

May 31, 2024

Port Product Updates: May 2024

Ready to start?

Port Product Updates: May 2024

These release notes mark a significant milestone for Port: automations. Ever since we began developing Port, we knew that the software catalog is at the core of the portal, that it is real-time, and that it contains important context other tools don’t have. The next logical step was leveraging this power for automations, which were possible in Port but complex. These release notes contain the automations feature. It is meant to help you realize the power of the portal. Stay tuned: we have more to do on the automations front, and we will.

Biggest

Automations

automation

  We are excited to unveil our new Automations feature, designed to streamline and enhance your developer workflows. Automations allow you to automatically trigger workflows, alerts, and notifications based on changes within the software catalog, such as a new entity being created, a timer that expired, a scorecard change, or any other change in existing entity data. See docs to learn how to set up your first automation.

AWS and Datadog integrations powered by Ocean

Frame 1261152344

AWS

integration is now better, allowing you to display an accurate, real-time representation of your AWS resources as part of your software catalog and customize the integration in Port. See docs.

With the new Datadog integration, you can import monitors (also known as alerts), SLOs, and services from your Datadog account into the Port software catalog. See docs.

Custom scorecard levels

product image-1

You can now define custom levels and colors for scorecards. For example, you can use A-F levels with stoplight colors. See docs.  

Medium

Mapping playground for data sources

product image-2

Creating and tweaking how data sources map to your software catalog is now a much better experience, as we introduced a playground to test your mapping on real examples. See docs.

IaC support improvements

  • Terraform data sources:
  • We now support Search API through Terraform, which allows users to apply automation and resource creation based on the software catalog data in Port. See docs
  • Integration configurations:
  • You can now manage all organizational integrations from one central location, including Ocean, K8s, and GitHub. For example, in case you manage multiple exporters of the same integration and you want it to have the same mapping, you can now efficiently manage mapping using IaC, setting mapping in a variable file as a single source of truth. See docs
  • Actions resource:
  • Updated our actions resource to include customizing the action payload and adding filters on day-2 actions. See docs
  • Blueprint permissions:
  • You can now manage Blueprint Permissions. See docs
  • Skip catalog page creation when adding a new blueprint:
  • You can now skip catalog page creation during blueprint creation, preventing state discrepancies caused by unintended page creations. This can also be determined when creating a blueprint via the API. See docs

New API docs experience

As an API-first company, we are proud of our API and its capabilities. Today, we improved our API Reference so you can explore, learn, and test the API routes more efficiently than ever. Visit the new API docs

Ability to filter entities for self-service actions

You can now apply filters and conditions to day-2 actions so that they appear only on the relevant entity actions list. See docs.

Small

Delete entities via a webhook integration

You can now delete entities using a webhook integration definition. See docs.

More relevant results in global search

We improved the order in which global search results appear, making it easier to find what you need. See docs

Automatically rotate organization secret

You can now rotate your Port organization secret/s using the UI or the API. See docs

Update/create Port entity invocation type

As part of the automation feature, we added an invocation method to create or update entities in the software catalog based on the automation context or user inputs. This is useful for automating changes based on events in the software catalog or creating self-service actions to update specific properties of an entity utilizing RBAC for self-service actions. See docs.

{{cta_1}}

Check out Port's pre-populated demo and see what it's all about.

Check live demo

No email required

{{cta_2}}

Contact sales for a technical product walkthrough

Let’s start
{{cta_3}}

Open a free Port account. No credit card required

Let’s start
{{cta_4}}

Watch Port live coding videos - setting up an internal developer portal & platform

Let’s start
{{cta_5}}

Check out Port's pre-populated demo and see what it's all about.

(no email required)

Let’s start
{{cta_6}}

Contact sales for a technical product walkthrough

Let’s start
{{cta_7}}

Open a free Port account. No credit card required

Let’s start
{{cta_8}}

Watch Port live coding videos - setting up an internal developer portal & platform

Let’s start
{{cta-demo}}
{{reading-box-backstage-vs-port}}

Example JSON block

{
  "foo": "bar"
}

Order Domain

{
  "properties": {},
  "relations": {},
  "title": "Orders",
  "identifier": "Orders"
}

Cart System

{
  "properties": {},
  "relations": {
    "domain": "Orders"
  },
  "identifier": "Cart",
  "title": "Cart"
}

Products System

{
  "properties": {},
  "relations": {
    "domain": "Orders"
  },
  "identifier": "Products",
  "title": "Products"
}

Cart Resource

{
  "properties": {
    "type": "postgress"
  },
  "relations": {},
  "icon": "GPU",
  "title": "Cart SQL database",
  "identifier": "cart-sql-sb"
}

Cart API

{
 "identifier": "CartAPI",
 "title": "Cart API",
 "blueprint": "API",
 "properties": {
   "type": "Open API"
 },
 "relations": {
   "provider": "CartService"
 },
 "icon": "Link"
}

Core Kafka Library

{
  "properties": {
    "type": "library"
  },
  "relations": {
    "system": "Cart"
  },
  "title": "Core Kafka Library",
  "identifier": "CoreKafkaLibrary"
}

Core Payment Library

{
  "properties": {
    "type": "library"
  },
  "relations": {
    "system": "Cart"
  },
  "title": "Core Payment Library",
  "identifier": "CorePaymentLibrary"
}

Cart Service JSON

{
 "identifier": "CartService",
 "title": "Cart Service",
 "blueprint": "Component",
 "properties": {
   "type": "service"
 },
 "relations": {
   "system": "Cart",
   "resources": [
     "cart-sql-sb"
   ],
   "consumesApi": [],
   "components": [
     "CorePaymentLibrary",
     "CoreKafkaLibrary"
   ]
 },
 "icon": "Cloud"
}

Products Service JSON

{
  "identifier": "ProductsService",
  "title": "Products Service",
  "blueprint": "Component",
  "properties": {
    "type": "service"
  },
  "relations": {
    "system": "Products",
    "consumesApi": [
      "CartAPI"
    ],
    "components": []
  }
}

Component Blueprint

{
 "identifier": "Component",
 "title": "Component",
 "icon": "Cloud",
 "schema": {
   "properties": {
     "type": {
       "enum": [
         "service",
         "library"
       ],
       "icon": "Docs",
       "type": "string",
       "enumColors": {
         "service": "blue",
         "library": "green"
       }
     }
   },
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "system": {
     "target": "System",
     "required": false,
     "many": false
   },
   "resources": {
     "target": "Resource",
     "required": false,
     "many": true
   },
   "consumesApi": {
     "target": "API",
     "required": false,
     "many": true
   },
   "components": {
     "target": "Component",
     "required": false,
     "many": true
   },
   "providesApi": {
     "target": "API",
     "required": false,
     "many": false
   }
 }
}

Resource Blueprint

{
 “identifier”: “Resource”,
 “title”: “Resource”,
 “icon”: “DevopsTool”,
 “schema”: {
   “properties”: {
     “type”: {
       “enum”: [
         “postgress”,
         “kafka-topic”,
         “rabbit-queue”,
         “s3-bucket”
       ],
       “icon”: “Docs”,
       “type”: “string”
     }
   },
   “required”: []
 },
 “mirrorProperties”: {},
 “formulaProperties”: {},
 “calculationProperties”: {},
 “relations”: {}
}

API Blueprint

{
 "identifier": "API",
 "title": "API",
 "icon": "Link",
 "schema": {
   "properties": {
     "type": {
       "type": "string",
       "enum": [
         "Open API",
         "grpc"
       ]
     }
   },
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "provider": {
     "target": "Component",
     "required": true,
     "many": false
   }
 }
}

Domain Blueprint

{
 "identifier": "Domain",
 "title": "Domain",
 "icon": "Server",
 "schema": {
   "properties": {},
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {}
}

System Blueprint

{
 "identifier": "System",
 "title": "System",
 "icon": "DevopsTool",
 "schema": {
   "properties": {},
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "domain": {
     "target": "Domain",
     "required": true,
     "many": false
   }
 }
}
{{tabel-1}}

Microservices SDLC

  • Scaffold a new microservice

  • Deploy (canary or blue-green)

  • Feature flagging

  • Revert

  • Lock deployments

  • Add Secret

  • Force merge pull request (skip tests on crises)

  • Add environment variable to service

  • Add IaC to the service

  • Upgrade package version

Development environments

  • Spin up a developer environment for 5 days

  • ETL mock data to environment

  • Invite developer to the environment

  • Extend TTL by 3 days

Cloud resources

  • Provision a cloud resource

  • Modify a cloud resource

  • Get permissions to access cloud resource

SRE actions

  • Update pod count

  • Update auto-scaling group

  • Execute incident response runbook automation

Data Engineering

  • Add / Remove / Update Column to table

  • Run Airflow DAG

  • Duplicate table

Backoffice

  • Change customer configuration

  • Update customer software version

  • Upgrade - Downgrade plan tier

  • Create - Delete customer

Machine learning actions

  • Train model

  • Pre-process dataset

  • Deploy

  • A/B testing traffic route

  • Revert

  • Spin up remote Jupyter notebook

{{tabel-2}}

Engineering tools

  • Observability

  • Tasks management

  • CI/CD

  • On-Call management

  • Troubleshooting tools

  • DevSecOps

  • Runbooks

Infrastructure

  • Cloud Resources

  • K8S

  • Containers & Serverless

  • IaC

  • Databases

  • Environments

  • Regions

Software and more

  • Microservices

  • Docker Images

  • Docs

  • APIs

  • 3rd parties

  • Runbooks

  • Cron jobs

Starting with Port is simple, fast and free.

Let’s start