> 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/internal-developer-portal/use-idp/software-catalog/create-entity/catalog-discovery/initial-config.md).

# Initial Configuration for Integrations

Before you create catalog discovery integrations (say GitHub, PagerDuty, SonarQube and many more), you need to configure the infrastructure that runs the data collection tasks.

This is a one-time setup done from the **Integrations** section of IDP, and can be updated at any time.

{% hint style="info" %}
**POINTS TO REMEMBER**

* If you attempt to create an integration without completing this initial configuration, your integration will not be created. Additionally, you may see an **Infra configuration required** notification in the Integrations section.
* Platform integrations like **Harness CD** run directly and do not require this setup.
* [Custom Integrations](/internal-developer-portal/use-idp/software-catalog/create-entity/catalog-discovery/custom-integrations/overview.md) do not require this setup either. Your systems push data to Harness, so no data collection runs in your cluster.
  {% endhint %}

### Access the configuration <a href="#access-the-configuration" id="access-the-configuration"></a>

1. In Harness IDP, go to **Configure** → **Integrations**.
2. Click the **Configuration** button at the top.

   <figure><img src="/files/HSWvaYgW6DpDA2FquRR8" alt=""><figcaption></figcaption></figure>
3. The **Infra Configuration** panel opens with three steps in the sidebar: [Kubernetes Configurations](#kubernetes-configurations), [Docker Configurations](#docker-configurations), and [Sync Configurations](#sync-configurations).

   <figure><img src="/files/yLRFiDeCMjbcI9fAvkMd" alt=""><figcaption></figcaption></figure>

***

### Kubernetes configurations <a href="#kubernetes-configurations" id="kubernetes-configurations"></a>

Data collection for each integration runs as pods inside your Kubernetes cluster. IDP sends collection tasks to a [delegate](/harness-ai/use-harness-platform/delegates/delegate/delegate-concepts/delegate-overview.md) running in your cluster, which executes them using credentials stored in your own environment. The Kubernetes Configurations tell IDP which cluster and namespace to use for these pods.

<figure><img src="/files/8ax3v1D305b4Hl9rBOVg" alt=""><figcaption></figcaption></figure>

1. In the **K8s Connector** field, pick an existing connector from your account or click **+ New Connector** to create one. Go to [Add a Kubernetes Cluster Connector](/harness-ai/use-harness-platform/connectors/cloud-providers/add-a-kubernetes-cluster-connector.md) to create a Kubernetes connector.
2. After selecting the connector, enter the **Namespace** where data collection pods will be spun up. This is a Kubernetes namespace and must already exist in the cluster before you configure this.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The Harness delegate you are using (the one you set up when you created your K8s connector in Harness) must have permissions on this namespace.</p></div>
3. Click **Continue** to proceed to [Docker Configurations](#docker-configurations).

***

### Docker configurations <a href="#docker-configurations" id="docker-configurations"></a>

Data collection pods run as containers that need images to start. By default, IDP pulls these images from the public Harness container registry.

{% hint style="info" %}
Docker Configurations can only be configured at the account level and are not editable at the [organization or project scope](/internal-developer-portal/admin-and-customization/rbac/scopes.md#scopes-idp-20).
{% endhint %}

{% hint style="info" %}
All fields in this section are optional. Configure them if any of the following apply:

* **Rate limiting**: Without credentials, Docker Hub throttles unauthenticated pulls after a number of requests. A Docker connector with credentials bypasses this limit.
* **Private registry**: If your organization's security policy prohibits pulling from public Docker Hub, you can mirror the required images to your private registry and point IDP to it here.
  {% endhint %}

<figure><img src="/files/fNY29OEixLKM8DDNL4bd" alt=""><figcaption></figcaption></figure>

1. In the **Docker Connector** field, select an existing Docker Registry connector or click **+ New Connector** to create one. Go to [Add a Docker Registry Connector](/harness-ai/use-harness-platform/connectors/artifact-repositories/connect-to-an-artifact-repo.md#add-a-docker-registry) to create a Docker Registry connector.
2. Under **Connector images**, you can specify custom image pull paths for these components:
   * **Individual Connector Images** (Bitbucket Cloud, GCP, GitHub, Datadog, Dynatrace, PagerDuty, ServiceNow, SonarQube): Only specify image paths (sample format: `<your-registry-url>/<image-name>:<image-tag-version>`) for the integrations you actually use. Leave all others blank.
   * **Lite Engine and Addon**: These two components are a must for every data collection run. IDP pulls them from the [public Harness registry](https://hub.docker.com/u/harness). If you do not wish to use the public images or your environment cannot access public Docker Hub, you must provide your custom image paths for these two components.

     <figure><img src="/files/OvUTzEe2JSeIxSht9MOK" alt=""><figcaption></figcaption></figure>
3. Click **Continue** to proceed to [Sync Configurations](#sync-configurations).

***

### Sync Configurations <a href="#sync-configurations" id="sync-configurations"></a>

{% hint style="info" %}
Sync Configurations can only be configured at the account level and are not editable at the [organization or project scope](/internal-developer-portal/admin-and-customization/rbac/scopes.md#scopes-idp-20).

This is an optional configuration.
{% endhint %}

By default, integration sync data travels through the default endpoint (i.e., `accounts.harness.io`, `app.harness.io`, or `app3.harness.io`). This section lets you override that behavior if your network restricts outbound traffic to your account's vanity URL only.

<figure><img src="/files/YgYW29LisNHoeqemNkr8" alt=""><figcaption></figcaption></figure>

1. Toggle on the **Use vanity URL for sync traffic** checkbox if your network whitelists your custom vanity URL (e.g., `yourcompany.harness.io`) and does not allow the default endpoint.

   Once enabled, the sync traffic routes through your vanity URL. No manual URL input is needed.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>If your account has no vanity URL configured, the default endpoint is used regardless of this setting.</p></div>
2. Click **Save**.

The initial configuration is now complete and you may create your integrations successfully.
