Skip to main content

Create Entities Manually

Last updated on

IDP 2.0 Only

This documentation is only relevant to IDP 2.0. This will not be valid for IDP 1.0 since the experience there is different.

In IDP 2.0, entity creation is simplified with full UI support and optional YAML-based creation. Entities are now "inline," which means their entire lifecycle can be managed through the UI or API, without Git integration.

You can create entities directly via the Harness IDP UI; no YAML required for a streamlined, code-free experience. Alternatively, you can use your existing catalog YAML files, and Harness will automatically convert legacy Backstage YAML into the new Harness Catalog Entity Model.


Prerequisites

Before creating entities manually, ensure:

  • You have the necessary permissions to create entities at your desired scope (Account, Organization, or Project)
  • You are familiar with the Catalog Data Model and entity types
  • IDP 2.0 is enabled behind the IDP_2_0 Feature Flag. Contact Harness Support to enable it on your account.

Method 1: Visual View (UI-Based Creation)

The Visual View provides an intuitive interface for creating entities without writing YAML.


Method 2: YAML View

You can also use the Catalog YAML to create entities in Harness IDP. With IDP 2.0, you are required to follow the new Harness-native Data Model and structure when defining entities in Catalog YAML. If you have existing entities defined using legacy Backstage YAML, you can still use them—Harness will automatically convert them into the Harness-native Data Model format. Learn more about the new data model here. To create a new entity, navigate to the Harness IDP portal and click "Create" from the side-bar menu.

info

If you have a legacy Backstage YAML, you can still use it to create an entity. Harness will automatically convert it into the native Catalog Entity Model format.

Convert Existing YAMLs

If you have existing entities defined using legacy Backstage YAML (from IDP 1.0), you can convert them to the new Harness-native data model schema. For detailed instructions on converting your existing entity YAMLs, refer to Convert Existing Entity YAMLs.


YAML Template Examples

Component YAML Example
apiVersion: harness.io/v1
kind: Component
name: anomaly-detection
identifier: anomaly-detection
type: service
owner: group:ccmplayacc
spec:
lifecycle: production
dependsOn:
- component:ng-manager
metadata:
description: CCM anomaly detection backend service
annotations:
backstage.io/kubernetes-label-selector: app=anomaly-detection
github.com/project-slug: wings-software/ce-anomalyDetection
pagerduty.com/service-id: PFVOX97
jira/project-key: CCM
backstage.io/source-location: url:https://github.com/wings-software/ce-anomalyDetection/tree/main
links:
- title: repo
url: https://github.com/wings-software/ce-anomalyDetection
tags:
- python
API YAML Example
apiVersion: harness.io/v1
kind: API
type: openapi
identifier: cenextgen
name: cenextgen
owner: johndoe
spec:
lifecycle: production
definition:
$text: https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v2.0/json/api-with-examples.json
metadata:
description: The official CE NEXTGEN service REST APIs
Resource YAML Example
apiVersion: harness.io/v1
kind: Resource
name: Payment Database
identifier: payment-database
type: database
owner: group:ccmplayacc
spec:
system:
- system:account/ccm_platform
dependsOn:
- resource:account/ccm-backup-storage
metadata:
description: MongoDB database for CCM platform data storage
annotations:
harness.io/db-instance: mongodb-ccm-prod-01
harness.io/db-region: us-east-1
harness.io/backup-schedule: daily-2am-UTC
links:
- title: Database Dashboard
url: https://harness-monitoring.grafana.net/d/mongodb-ccm
- title: Backup Policy
url: https://harness.atlassian.net/wiki/spaces/CCM/pages/123456/Database+Backup+Policy
tags:
- mongodb
- database
- production

Next Steps

After creating your entities manually, you can refer to: