IaCM Plugin for Internal Developer Portal
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.
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:
- IDP Module Access: Harness Internal Developer Portal must be enabled in your account. Learn how to set up IDP
- IaCM Workspaces: At least one active IaCM workspace with provisioned resources. Learn how to create workspaces
- Service Catalog: Services registered in your IDP catalog where you want to display infrastructure information. Learn how to register services
- Workspace Access: Appropriate permissions to view IaCM workspaces and resources. Learn about IDP RBAC and IaCM permissions
- Workspace URL: The full URL to your IaCM workspace (found in the Harness platform)
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:
- Navigate to your IaCM workspace in Harness
- Copy the full URL from your browser's address bar (must end with
/resources)
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:
- Interactive guide
- Step-by-step
- Navigate to Internal Developer Portal > Catalog
- Select a service with the
harness.io/workspace-urlannotation - Click the IACM tab to view:
- Resources (17): All provisioned infrastructure (VMs, databases, networks, storage, etc.)
- Data Sources (0): External data referenced by the workspace
- Outputs (6): Exported values from the workspace state
- Workspace Details: Current state, last execution status, and quick actions
Recent enhancements to the IaCM plugin include:
- Rich Resource Context: Detailed metadata and configuration for each resource
- Drill-Down Navigation: Click through to specific resources and execution details
- High-Level Overview: Summary cards showing resource counts, workspace health, and recent activity
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
Navigate to Full Workspace
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:
- The
harness.io/workspace-urlannotation is present in the service'scatalog-info.yaml - The workspace URL is complete and properly formatted (see format example below)
- The IACM layout is configured for the Service entity type (see Step 3)
"Access Denied" or "401 Unauthorized" error
Ensure that:
- Your Harness user account has permission to view the workspace in IaCM
- The workspace exists and is not deleted
- The workspace URL points to the correct account, org, and project
- You are logged into both IDP and IaCM with the same Harness account
Workspace shows "No Resources Found"
This may occur when:
- The workspace has never been successfully provisioned
- All resources have been destroyed
- The workspace is in an error state
- 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:
- Is a complete, fully-qualified URL from your browser's address bar
- Ends with
/resourcesto display the resources view - Contains the correct account, org, project, and workspace identifiers
- Uses
https://app.harness.ioas 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:
- IDP scorecards - Track infrastructure compliance and standards
- IDP workflows - Automate workspace provisioning with self-service actions
- Module registry - Share reusable infrastructure modules across services
- IaCM pipeline operations - Automate infrastructure provisioning and updates