> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xsoar-6-multi-tenant-guides/6.13/configure-multi-tenant/remote-repositories-for-multi-tenant-deployments/configure-a-remote-repository-on-a-development-machine.md).

# Configure a Remote Repository on a Development Machine

To work with the remote repositories, you must have at least two machines, one for development and one for your [main account](/cortex-xsoar-6-multi-tenant-guides/6.13/configure-multi-tenant/remote-repositories-for-multi-tenant-deployments/configure-a-remote-repository-on-the-main-account.md).

**Prerequisites**

Before configuring the remote repository, review the following list of prerequisites:

* Ensure that you have enabled the Selective Propagation feature on the development machine.

  Navigate to Settings → About → **Troubleshooting**.

  In the **Server Configuration** section click **+Add Server Configuration**.

  Set the **`selective.propagation.enabled`** key to **`True`**.
* Ensure that you have network connectivity from the Cortex XSOAR server to your repository. All communication goes through the Cortex XSOAR server so it must have access to the remote repository.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Note</h3><p>You cannot configure a Cortex XSOAR engine to manage communication to the remote repository.</p></div>
* When creating a repository in your remote Git platform, verify that the repository contains branches. Defining the repository in Cortex XSOAR does not create the branches.
* Before toggling the remote repository feature on or off, or changing your repository configuration, make sure to back up your existing content to your local computer:

  Navigate to Settings → About → Troubleshooting → **Custom Content**.

  Click **Export**.
* You need to install a standard, single-server deployment of Cortex XSOAR on your development environment.

1. **Configure the environment**.
   1. On the machine that is designated to be the development environment, navigate to Settings → About → Troubleshooting → **Custom Content** and click **Import**.
   2. Verify that the content in both the development and production environments is synchronized before you proceed. If you do not synchronize the content, you might lose content in one of the environments.
2. **Define the repository**.

   1. Navigate to Settings → Advanced → **Content Repository**.
   2. Click the **On/Off** toggle to enable the remote repositories.
   3. Set the current machine as the development environment.
   4. Enter the URL and connection credentials to the repository. Only SSH connections are supported.

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Note</h3><p>If you are using a passphrase, only RSA private keys are supported.</p></div>

      If your SSH connection uses a port other than port 22 (the default SSH port), you must include the ssh string and port number in the url. In the following example, we use port 20017:

      **`ssh://git@content.demisto.com:20017/~/my-project.git`**
   5. Select the active branch on which you will be working.
   6. Click **Save**.
   7. In the Migrate server changes screen, determine whether or not you want to keep the content that is currently on the development server, or discard the changes and synchronize completely with the remote repository.

      **Selected content**: the current content on your server will be maintained and presented in the Local Changes window.

      **Cleared content**: the current content on the server will be overwritten by the content in the remote repository, if it exists.

      ![remote-rep.png](/files/YE6lzR444HC4NysVF6s8)
   8. Click **Continue**.

   Content from the remote repository is installed.

   This can take several minutes depending on the amount of content in the remote repository and your hardware configuration. Your custom content is automatically backed up to the Cortex XSOAR server any time you change one of the remote repository settings. The backup is located under `/var/lib/demisto/backups/content-backup-*.tar.gz`.
3. **Manage Classifiers**.

   1. Navigate to Settings → OBJECTS SETUP → Incidents → **Classification & Mapping**.
   2. Select the classifier that you want to keep.
   3. Make a small change and save the classifier.

   Each integration instance has its own classification. You can only push one classification per integration. When switching the remote repository to dev mode, if you have multiple instances of the same integration, the last classification that was saved appears in the Local Changes. You should decide which classification you want to keep, and make a small change to that classification.
4. Push Content to the Remote Repository.
   1. Navigate to Settings → **Local Changes**
   2. Select the changes that you want to push to the remote repository, and click **Push**

      ![remote-manage.png](/files/9U3LxsFf727F4LqSpjbH)

      You should not manually push content to the remote repository. Use only the procedures outlined in the documentation to ensure that your content is properly updated in the production environment.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xsoar-6-multi-tenant-guides/6.13/configure-multi-tenant/remote-repositories-for-multi-tenant-deployments/configure-a-remote-repository-on-a-development-machine.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
