> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/infrastructure-as-code-management/3.0/troubleshooting-and-resources/whats-supported.md).

# What's supported in Harness IaCM

This page describes supported platforms and technologies for Harness IaCM specifically.

For information on what's supported for other Harness modules and the Harness Platform overall, see [Supported platforms and technologies](/harness-ai/new-to-harness-platform/platform-whats-supported.md).

### Deployment models <a href="#deployment-models" id="deployment-models"></a>

Harness IaCM is supported on the following deployment models:

* **Harness SaaS:** Fully managed; all IaCM features are available. No infrastructure to run or maintain.
* **Self-Managed Enterprise Edition (SMP):** On-premises or private cloud with full control. Go to [IaCM SMP](/infrastructure-as-code-management/3.0/platform/platform-integrations/smp.md) for setup and any SMP-specific feature flags or image overrides.

### Before you begin <a href="#prerequisites" id="prerequisites"></a>

To configure an IaCM workspace and create pipelines, you must have the following:

* An active cloud provider account
* A Git repository

### Supported IaC frameworks <a href="#supported-iac-frameworks" id="supported-iac-frameworks"></a>

Harness IaCM supports the following IaC frameworks:

* [**OpenTofu**](https://opentofu.org/)
* **Terraform** (up to v1.5.x)
* [**Terragrunt**](https://terragrunt.gruntwork.io/)

{% hint style="info" %}
**OPENTOFU / TERRAFORM**

Harness IaCM currently supports integration with all **OpenTofu** versions.\
For **Terraform**, we support all MPL versions up to **1.5.x**; any BSL versions (from 1.6.0) are not supported.

Go to [OpenTofu migration](https://opentofu.org/docs/intro/migration/) to migrate from Terraform to OpenTofu.
{% endhint %}

#### Limitations <a href="#limitations" id="limitations"></a>

* **Terraform:** Only MPL-licensed versions up to 1.5.x are supported. Terraform 1.6+ (BSL) is not supported; use [OpenTofu](https://opentofu.org/docs/intro/migration/) for a drop-in replacement.
* **Terragrunt:** Supported at the workspace level. Go to [Get started with Terragrunt](/infrastructure-as-code-management/3.0/new-to-iacm/get-started.md#terragrunt) for setup steps.

### Supported workspace connectors <a href="#supported-workspace-connectors" id="supported-workspace-connectors"></a>

#### Configuration management <a href="#configuration-management" id="configuration-management"></a>

* **Ansible**: Harness IaCM integrates with Ansible, allowing you to define your target machines (**inventories**) and apply automation tasks (**playbooks**) as part of your CI/CD pipelines. Go to [Ansible in IaCM](/infrastructure-as-code-management/3.0/use-iacm/configuration-management.md).

#### Cloud providers <a href="#cloud-providers" id="cloud-providers"></a>

* **AWS**: Connect via your AWS account to leverage extensive IaCM features.
* **Azure**: Integration supports multiple Azure services.
* **Google Cloud Platform (GCP)**: Offers tailored IaCM functionalities for GCP resources.

#### Secrets management <a href="#secrets-management" id="secrets-management"></a>

* **Vault**: HashiCorp Vault connector for secrets management

**Key features:**

* **Workspace-level attachment**: Vault connectors are attached at the workspace level
* **Authentication methods**: Currently supports **Token** and **JWT** authentication
* **Flexible configuration**: Can be added to workspaces after creation or through variable sets
* **Runtime injection**: Secrets are automatically injected into runtime environments as environment variables
* **Provider initialization**: Harness automatically adds environment variables based on the selected authentication type; you must consume them to initialize the Vault provider in your OpenTofu/Terraform code.

#### Git providers <a href="#git-providers" id="git-providers"></a>

Harness IaCM supports the following source providers for seamless code management:

* [**Harness Code Repository**](https://app.gitbook.com/s/oTP6ysjQCQlt5GlFHRfs/README): Provides direct integration for streamlined operations.
* **GitHub**: Ideal for managing projects hosted on GitHub with options for branch-specific operations.
* **GitLab**: Connects easily with GitLab for comprehensive repository management.
* **Bitbucket**: Integrates smoothly for managing Bitbucket repositories.
* **Azure Repos**: Supports Azure Repos for direct access to Microsoft’s DevOps tools.

Git options include `Latest from Branch` (specifying a branch) and `Git Tag` fetch types. Users can set a configuration file path, such as a Terraform (.tf) file.

### IaCM feature flags <a href="#iacm-feature-flags" id="iacm-feature-flags"></a>

Beta and feature-flagged capabilities are marked as such in the docs; contact [Harness Support](mailto:support@harness.io) to request access.

### Supported integrations <a href="#supported-integrations" id="supported-integrations"></a>

* [**SMP (Service Management Platform)**](/infrastructure-as-code-management/3.0/platform/platform-integrations/smp.md)**:** Run IaCM on Self-Managed Enterprise Edition.
* [**Variable Sets**](/infrastructure-as-code-management/3.0/platform/iacm-connectors-variables/variable-sets.md)**:** Reusable variables and connector references across workspaces.
* [**Module Registry**](/infrastructure-as-code-management/3.0/registry/module-registry/module-registry.md)**:** Store and manage private OpenTofu/Terraform modules.
* [**Private Provider Registry**](/infrastructure-as-code-management/3.0/registry/provider-registry.md)**:** Store and manage private OpenTofu/Terraform providers.
* [**MCP (Model Context Protocol)**](/harness-ai/use-harness-ai/harness-ai/connect-with-ai/harness-mcp-server.md)**:** Use IaCM context with AI assistants and tools that support MCP.

### Supported plugins <a href="#supported-plugins" id="supported-plugins"></a>

* [**IDP (Internal Developer Portal)**](/internal-developer-portal/use-idp/plugins/available-plugins/harness-native-plugins/harness-iacm.md)**:** Use the IaCM plugin in IDP for resource visibility, drill-downs, and workspace context.

#### Security scanners <a href="#security-scanners" id="security-scanners"></a>

IaCM integrates with multiple security scanning tools to check your infrastructure code for security vulnerabilities, compliance issues, and misconfigurations:

* [**Checkov**](/security-testing-orchestration/use-sto/sto-scanner-configuration/checkov-iac-scan.md): Open-source static code analysis tool for Infrastructure as Code that detects security and compliance misconfigurations.
* [**Wiz**](/security-testing-orchestration/use-sto/sto-scanner-configuration/wiz/iac-scans-with-wiz.md): Cloud security platform that scans your infrastructure changes for security vulnerabilities and compliance violations.
* [**Snyk**](/security-testing-orchestration/use-sto/sto-scanner-configuration/snyk/snyk-scanner-reference.md): A developer security platform that identifies vulnerabilities and security issues in your IaC configurations.
* [**Checkmarx One**](/security-testing-orchestration/use-sto/sto-scanner-configuration/checkmarx/checkmarxone-scanner-reference.md): Application security testing platform that provides comprehensive security scanning for infrastructure code.
* **Custom Scans**: IaCM also supports integration with custom security scanning tools through the [Harness STO module](https://app.gitbook.com/s/na57sNwixrWxOX8cOMRg/README).

{% hint style="info" %}
Security scanning features are part of the [Harness STO module](https://app.gitbook.com/s/na57sNwixrWxOX8cOMRg/README) and require an STO license.
{% endhint %}

### Next steps <a href="#next-steps" id="next-steps"></a>

* [**Get started with IaCM**](/infrastructure-as-code-management/3.0/new-to-iacm/get-started.md)**:** Set up your first workspace and run Plan/Apply.
* [**Connectors and variables**](/infrastructure-as-code-management/3.0/platform/iacm-connectors-variables/connectors-variables.md)**:** Configure cloud, Git, and secrets connectors.
* [**IaCM pipelines**](/infrastructure-as-code-management/3.0/platform/iacm-pipelines/default-pipelines.md)**:** Create pipelines with Plan, Apply, Destroy, and approval steps.
