Skip to main content

IaCM Plugin for Internal Developer Portal

Last updated on

The Harness IaCM plugin for Internal Developer Portal (IDP) enables developers to view and manage infrastructure workspaces directly from the IDP service catalog. By connecting your IaCM workspaces to Backstage services, teams gain unified visibility into provisioned resources, data sources, outputs, workspace status, and infrastructure context without leaving their developer portal.

Open Source Plugin

The IaCM plugin is available as an open-source plugin in the Backstage Plugin Directory and hosted at github.com/harness/backstage-plugins. It's natively integrated into Harness IDP and requires no additional installation.

For detailed plugin configuration, layout setup, and advanced options, see the IaCM Plugin documentation in the IDP section.

Prerequisites

Before connecting IaCM workspaces to IDP, ensure you have:


Quick Start

Add Workspace Annotation to Your Service

Connect your IaCM workspace to an IDP service by adding the harness.io/workspace-url annotation to your service's catalog-info.yaml file:

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: payment-service
annotations:
harness.io/workspace-url: https://app.harness.io/ng/account/<ACCOUNT_ID>/module/iacm/orgs/<ORGANIZATION_ID>/projects/<PROJECT_ID>/workspaces/<WORKSPACE_ID>/resources
spec:
type: service
lifecycle: production
owner: team-platform

To get your workspace URL:

  1. Navigate to your IaCM workspace in Harness
  2. Copy the full URL from your browser's address bar (must end with /resources)
note

Each service connects to one IaCM workspace. For multi-environment services, create separate catalog entries (e.g., payment-service-dev, payment-service-prod) or use a single workspace managing all environments.

Access infrastructure information directly from the service catalog:


Use IaCM Plugin

The IaCM plugin enables several common workflows for developers working in the IDP:

View Infrastructure Context

  • Resources: See all provisioned infrastructure including compute, storage, networking, and databases
  • Data Sources: View external data being referenced (API calls, external state, etc.)
  • Outputs: Access exported values like IP addresses, URLs, connection strings, and resource identifiers
  • Workspace Status: Check if the workspace is healthy, has pending changes, or requires attention
  • Track Changes: View recent provisioning activity and execution history

Click View in IaCM or the workspace label to open the full workspace in the IaCM module, where you can:

  • Execute plan and apply operations
  • Review detailed execution logs
  • Manage workspace configuration
  • Approve policy violations
  • Analyze cost estimates

Troubleshooting

IACM tab not appearing in service catalog

Verify that:

  1. The harness.io/workspace-url annotation is present in the service's catalog-info.yaml
  2. The workspace URL is complete and properly formatted (see format example below)
  3. The IACM layout is configured for the Service entity type (see Step 3)
"Access Denied" or "401 Unauthorized" error

Ensure that:

  1. Your Harness user account has permission to view the workspace in IaCM
  2. The workspace exists and is not deleted
  3. The workspace URL points to the correct account, org, and project
  4. You are logged into both IDP and IaCM with the same Harness account
Workspace shows "No Resources Found"

This may occur when:

  1. The workspace has never been successfully provisioned
  2. All resources have been destroyed
  3. The workspace is in an error state
  4. The workspace URL points to the wrong workspace ID

Navigate to the workspace in IaCM to verify its state and recent execution history.

Workspace URL format issues

Ensure the workspace URL:

  1. Is a complete, fully-qualified URL from your browser's address bar
  2. Ends with /resources to display the resources view
  3. Contains the correct account, org, project, and workspace identifiers
  4. Uses https://app.harness.io as the base domain

Example format:

https://app.harness.io/ng/account/<ACCOUNT_ID>/module/iacm/orgs/<ORGANIZATION_ID>/projects/<PROJECT_ID>/workspaces/<WORKSPACE_ID>/resources

Next Steps

You've successfully connected your IaCM workspaces to the IDP service catalog. Enhance your IDP setup further: