Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ This is a step-by-step guide for Platform Engineers to onboard IDP. Your mileage
- *Docs and Tutorials for Reference:* [List of curated plugins supported in the Internal Developer Portal](https://developer.harness.io/docs/category/available-plugins)
8. **Your First Scorecard**
1. Create a “Catalog Readiness” Scorecard which can help you ensure that the Catalog entries are fully updated and all annotations required by the Plugins are set
- *Docs and Tutorials for Reference:* [Getting Started with Scorecards](https://developer.harness.io/docs/internal-developer-portal/get-started/scorecard-quickstart)
- *Docs and Tutorials for Reference:* [Getting Started with Scorecards](https://developer.harness.io/docs/internal-developer-portal/scorecards/scorecard-quickstart)
9. **Invite your early users ✉️**
1. Send invites to 10-20 users that you have identified as early adopters. Collect feedback
10. **Setup Metadata Ingestion**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,13 @@ After enabling the integration, configure what to sync:
* **Entity fields populated (read-only in IDP):**
The following fields are fetched from the CD service and remain synced:

* `name`
* `identifier`
* `description`
* `tags`
| **Harness CD Field** | **IDP Entity Field** | **Editable in IDP** |
|---------------------|---------------------|---------------------|
| Service Name | `metadata.name` | ❌ No (synced from CD) |
| Service Identifier | `metadata.identifier` | ❌ No (synced from CD) |
| Service Description | `metadata.description` | ❌ No (synced from CD) |
| Service Tags | `metadata.tags` | ❌ No (synced from CD) |
| Additional Metadata | Custom fields | ✅ Yes (IDP-specific) |

These fields **cannot be edited in IDP**. Update them in Harness CD.

Expand All @@ -52,7 +55,6 @@ After enabling the integration, configure what to sync:
* **RBAC:**
You can view and sync services from the same projects and organizations you have access to in Harness CD.

---

#### Configure the sync scope

Expand Down
321 changes: 18 additions & 303 deletions docs/internal-developer-portal/get-started/catalog-2o.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import DocImage from '@site/src/components/DocImage';
import DocVideo from '@site/src/components/DocVideo';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';


## Auto-Discover Entities Using Harness CD

Harness IDP can automatically discover and import your Harness CD services into the Software Catalog. This feature allows you to quickly populate your catalog with existing services without any manual configuration.

### What is Auto-Discovery?

Auto-Discovery integration enables:
- **Automatic scanning** of your Harness account for all CD services across the selected scope (Account, Organization, or Project level)
- **Automatic conversion** of each CD service into a **Component** entity with the **Service** type in Harness IDP
- **Metadata mapping** from service configuration to IDP entity properties
- **Uni-directional sync** from CD service to IDP entity (changes in IDP don't affect the CD service)

For detailed information about the integration, go to [Auto-Discovery using Harness CD](/docs/internal-developer-portal/catalog/catalog-discovery/harness-cd.md).

---

### Prerequisites

Before you begin, ensure:
- The feature flag **`IDP_CATALOG_CD_AUTO_DISCOVERY`** is enabled on your account. Contact [Harness Support](mailto:support@harness.io) to enable it.
- **Harness CD** is enabled for your account (must be the **same account** you use for Harness IDP).
- You have appropriate RBAC permissions to view CD services in Harness CD.

---

### Configure Auto-Discovery Integration

<Tabs>
<TabItem value="Interactive Guide">

<DocVideo src="https://app.tango.us/app/embed/3c879999-6426-4bbb-8566-1d0e69612a7b" title="Configure Catalog Auto-Discovery" />

</TabItem>
<TabItem value="Step-by-Step">

#### Step 1: Enable the Harness CD Auto-Discovery Integration

1. In Harness IDP, navigate to **Configure** → **Integrations**.
2. Locate the **Harness CD services** integration card.
3. Click **Enable** to activate the integration.

---

#### Step 2: Configure and Sync Harness CD Services

After enabling the integration, configure what services to sync to your IDP Catalog. When you enable auto-discovery, each CD service is converted into an IDP entity with some specific characteristics. Go to [Sync Harness CD Services](/docs/internal-developer-portal/catalog/catalog-discovery/harness-cd#2-sync-harness-cd-services-to-the-idp-catalog) to learn more about this entity mapping.

1. On the **Harness CD services** integration card, click **Edit**.

2. Choose your sync scope:

**Option A: All Scopes**
- Syncs services across the entire account (all organizations and projects).

**Option B: Particular Organizations & Projects**
- Syncs only from selected organizations and/or projects
- Use the dropdown to select specific scopes

3. Click **Save Changes** to begin syncing.

That's it! Your CD services will now appear in the IDP Catalog.

</TabItem>
</Tabs>

---

### View and Manage CD Services in the IDP Catalog

Once the sync is complete, you can view and manage your auto-discovered services.

<Tabs>
<TabItem value="Interactive Guide">

<DocVideo src="https://app.tango.us/app/embed/a5531ee8-e0ba-4c8c-9cc6-2a9de6804be3" title="View & Manage Synced Services" />

</TabItem>
<TabItem value="Step-by-Step">

#### Viewing Synced Services:

1. Navigate to the **Catalog** in Harness IDP
2. Search for any CD service by name or identifier
3. Click on an entity to view all synced data from the CD service

---

#### Auto-Configured Features:

Auto-discovered entities come with built-in features:

**1. CI/CD Plugin:**
- The **CI/CD** plugin is automatically configured for each entity
- View deployment history, pipelines, and execution details directly in IDP

**2. Quick Navigation:**
- Use the **Open in Harness CD** button on the entity overview page
- Navigate directly to the service in Harness CD for detailed management

</TabItem>
</Tabs>


Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import DocImage from '@site/src/components/DocImage';
import DocVideo from '@site/src/components/DocVideo';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

The **Software Catalog** is a centralized registry of all your software assets — including components, services, websites, libraries, data pipelines, and more. Think of it as a curated directory of your **entities**, helping you efficiently track ownership, metadata, and dependencies across your software ecosystem.

Let's start by adding your software components to IDP. To do this, create a `catalog-info.yaml` file in your Git repository and register its URL to add the component to your catalog.

<DocVideo src="https://www.youtube.com/embed/YgtIMDGMzJE?si=AYnisVn-lHX-4STw" />

## Create a new catalog-info.yaml (IDP 1.0)

1. To add a software component, you need to create a `catalog-info.yaml` file in its repository. In the case of a mono-repo, this file should be created at the root of the repository. While the file can technically reside anywhere (e.g., `.harness/catalog-info.yaml`), placing it in a standard location ensures consistency. You can use the following YAML code as a template:

```YAML
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: my-new-service
description: Description of my new service
tags:
- java
links:
- url: https://admin.example-org.com
title: Admin Dashboard
icon: dashboard
type: admin-dashboard
spec:
type: service
lifecycle: production
owner: team-a
system: project-x
```

Following are the key fields that you must update:

- `metadata.name`. This should be a unique name for your component. Usually, it is the name of the service.
- `metadata.description` - A description for your new component.
- `spec.type` - The new software component could be a `service`, `library`, `website`, or any other type.
- `spec.owner` - The user group identifier of the team that owns the component.

2. Once the file is created in your Git repo, copy the full URL to the file. For example, `https://github.com/harness-community/idp-samples/blob/main/catalog-info.yaml`.

## Register the software component (IDP 1.0)

1. Next, navigate to your Harness IDP module, and from the left navigation menu, select **Register**.

<DocImage path={require('./static/register-url.png')} />

<Tabs queryString="Git-Provider">
<TabItem value="other-git-provider" label="Other Git Providers">

2. Enter the URL to your new `catalog-info.yaml`.

<DocImage path={require('./static/url-on-register-page.png')} />

</TabItem>
<TabItem value="harness-code-repo-enabled" label="Harness Code Repository">

2. Copy the URL for `catalog-info.yaml` and paste it on the field to Register the component.

<DocImage path={require('./static/register-software-component-hcr.gif')} />

</TabItem>
</Tabs>

3. Select **Import**.

<DocImage path={require('./static/finished-state.png')} />

The new component will be available in your catalog.

<DocImage path={require('./static/imported-entity.png')} />

## Delete/Unregister Software Components (IDP 1.0)

1. Navigate to the Catalog page and select Component under Kind. Here, we will deregister the software component registered above.

<DocImage path={require('./static/navigate-componenet-new.png')} />

2. Select the component name you want to Unregister from the list
3. Now on the component overview page, click on the 3 dots on top right corner and select **Unregister Entity**.

<DocImage path={require('./static/unregister-entity.png')} />

4. Now on the Dialog box select **Unregister Location**.

<DocImage path={require('./static/unregister-location.png')} />

5. This will delete the software component.

## Troubleshooting (IDP 1.0)

#### Failed to register

If, after registering an entity, you're unable to find the same in your catalog, check the Devtools Plugin for Unprocessed Entities. If it's under the **Pending** tab, wait a few minutes for registration to complete. If it's under the **Failed** tab. Try re-registering the entity.

<DocImage path={require('./static/devtools.png')} />

#### Missing required fields/Invalid YAML schema.

In case of a `InputError`, check for `missingProperty` details and add the required property to your `catalog-info.yaml`.

<DocImage path={require('./static/invalid-schema.png')} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import DocImage from '@site/src/components/DocImage';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import DynamicMarkdownSelector from '@site/src/components/DynamicMarkdownSelector/DynamicMarkdownSelector';

:::tip For IDP 2.0 Customers
If you're using Harness IDP 2.0, please ensure you have reviewed the [IDP 2.0 Overview guide](/docs/internal-developer-portal/idp-2o-overview/2-0-overview-and-upgrade-path) and are familiar with the key steps for [upgrading to IDP 2.0](/docs/internal-developer-portal/idp-2o-overview/migrating-idp-2o). To enable IDP 2.0, you must raise a support ticket to activate the `IDP_2_0` feature flag for your account.
:::

The **Software Catalog** is a centralized registry of all your software assets — including components, services, websites, libraries, data pipelines, and more. Think of it as a curated directory of your **entities**, helping you efficiently track ownership, metadata, and dependencies across your software ecosystem.

This guide walks you through the detailed steps to setup Catalog in IDP 2.0 and explains how to navigate the Catalog by creating and managing entities.

---

## Prerequisites

Before using the Software Catalog in IDP 2.0, ensure:
* You have reviewed the **[IDP 2.0 Overview](/docs/internal-developer-portal/idp-2o-overview/2-0-overview-and-upgrade-path)** and **[Upgrading to IDP 2.0](/docs/internal-developer-portal/idp-2o-overview/migrating-idp-2o)** guide.
* **IDP 2.0** is enabled behind the `IDP_2_0` Feature Flag. Contact [Harness Support](https://support.harness.io) to enable it on your account.
* You are familiar with the **[Catalog Data Model](/docs/internal-developer-portal/catalog/data-model)** and **[Catalog YAML](/docs/internal-developer-portal/catalog/catalog-yaml)** structure.

---

## Populate your Catalog

Once you have enabled the IDP module, there are three ways to populate your Software Catalog in IDP 2.0:

<DynamicMarkdownSelector
options={{
"Create Manually": {
path: "/internal-developer-portal/get-started/content/catalog-2o/create-entity-manually.md"
},
"Auto-Discovery": {
path: "/internal-developer-portal/get-started/content/catalog-2o/auto-discovery.md"
},
"Import from Git": {
path: "/internal-developer-portal/get-started/content/catalog-2o/import-from-git.md"
}
}}
toc={toc}
defaultSelection="Create Manually"
disableSort={true}
/>




## Next steps

Now that you've created your first entity, explore these next steps:
* [Create Workflows](/docs/internal-developer-portal/get-started/workflows-2o.md) to automate common development tasks.
* [Configure Plugins](/docs/internal-developer-portal/plugins/overview) to enhance your entities with additional capabilities.
* [Set up Scorecards](/docs/internal-developer-portal/scorecards/scorecard-quickstart) to track entity quality and compliance.
* [Enable TechDocs](/docs/internal-developer-portal/techdocs/enable-docs) to publish documentation alongside your entities.
Loading