> 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/platform/platform-integrations/smp.md).

# Self-Managed Platform (SMP)

{% hint style="info" %}
**BETA STATUS**

IaCM is available on the Self-Managed Platform (SMP) as a **Beta** feature. While generally available for certain use cases, IaCM on SMP has a few important caveats:

* **Cost estimation is not currently supported**.
* **Airgapped environments may require additional configuration** to access providers and modules.
  {% endhint %}

### Before You Begin <a href="#before-you-begin" id="before-you-begin"></a>

Make sure your SMP deployment is installed with the latest version of the Helm chart. Follow the [SMP installation instructions](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-installationupgrade/helm-installation/upgrade-helm-chart.md).

You’ll also need:

* A valid IaCM Enterprise or Trial license.
* Access to your Harness deployment values.
* Ability to set feature flags and override container images.

Go to [SMP basic configuration](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-basic-configuration.md) or contact [Harness Support](mailto:support@harness.io) for help retrieving your prerequisites.

***

### Enable IaCM in values.yaml <a href="#enable-iacm-in-valuesyaml" id="enable-iacm-in-valuesyaml"></a>

In your `values.yaml`, add the following to enable the IaCM module:

```yaml
global:
  iacm:
    enabled: true
```

{% hint style="info" %}
**SMP INSTALLATION EXAMPLE**

Go to [SMP basic configuration](/self-managed-enterprise-edition/use-self-managed-enterprise-edition/smp-basic-configuration.md#installation) for an example of a `values.yaml` file.
{% endhint %}

#### Update Your License <a href="#update-your-license" id="update-your-license"></a>

Replace your existing license with one that includes IaCM (Enterprise or Trial). Update this block in your values.yaml:

```yaml
global:
  ng: <insert your new license string>
```

You can request a new license from your Harness support representative.

#### Add Required Feature Flags <a href="#add-required-feature-flags" id="add-required-feature-flags"></a>

Include the following feature flags to enable IaCM capabilities. These may become default in future releases.

```yaml
platform:
  harness-manager:
    featureFlags:
      ADDITIONAL: "IACM_CLONE_SUBMODULES,IACM_WORKSPACE_SHA_CLONE,IACM_ENABLE_DEFAULT_PIPELINES,IACM_ENABLE_MODULE_REGISTRY"
```

#### Use a Custom Image for IaCM Steps (Airgapped workaround) <a href="#use-a-custom-image-for-iacm-steps-airgapped-workaround" id="use-a-custom-image-for-iacm-steps-airgapped-workaround"></a>

If your environment blocks external network access, the default pipeline step images may fail when trying to download your [OpenTofu](https://opentofu.org/) or Terraform binary.

To resolve this:

1. Build a custom version of the `plugins/harness_terraform` image with the required terraform binary embedded.
2. Follow the steps in [custom images](/infrastructure-as-code-management/platform/iacm-pipelines/plugin-images.md) to configure the `iacm-manager` to use your image.

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

Once your SMP deployment is configured, return to the [IaCM Get Started](/infrastructure-as-code-management/new-to-iacm/get-started.md) guide to connect a repo, create a workspace, and build your first pipelines.
