> For the complete documentation index, see [llms.txt](https://docs.adaptiva.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adaptiva.com/patch/air-gap/install-airgap.md).

# Install Air Gap

Enable Air Gap for OneSite Patch and sync patches between the online and air gap environments.

In this walkthrough, you will need to have an existing OneSite Patch server deployed in your Internet-accessible network and a server with the OneSite Platform installed that will become your Air Gap server. These instructions will show you how to configure OneSite Patch in an air gap environment and enable autonomous patching of network isolated devices.

## Enable Licenses

***Perform the following on the online OneSite Patch and offline Air Gap servers***

1. On the online OneSite Patch server, navigate to the Adaptiva Admin Portal and sign-in as a Super Admin user.
2. Click **Product Licensing**.
3. Add your OneSite Patch license key first if it is not already installed, or click **Start Free Trial**.
4. In the **Target Collections** section, toggle **Use All Clients** or click **+ Browse** to specify a specific Group or Business Unit.
5. Scroll down to the **License Keys** section to make sure you have one license per client on the offline server.
6. Add the license key or start a free trial for the **Air Gap for OneSite Patch** addon. Ensure the license targets the appropriate clients.
7. Repeat these steps on the Air Gap server to enable the **OneSite Patch** and **Air Gap for OneSite Patch** licenses.

Note, your online Patch server may already be licensed and serve patches to an existing environment. You must still enable and configure the Air Gap for OneSite Patch add-on for this server.

## Configure an Air Gap Server

***Perform the following on the Air Gap server***

1. Click the **gear icon > Product Licensing**.
2. In the navigation pane, select **Air Gap for OneSite Patch**.
3. In the **Server Configuration** section, click **Configure**.
4. Click the **Online Server** toggle. The UI text will change to **Air-gapped Server** and the server configuration details will appear.
5. For **Zone Name**, enter a descriptive name for the shared environment of the server and client machines. The default value is the server name.
6. For **Superseded Patch Expiration Age**, either use the default of **365** days or set a custom number of days.

   This value determines how far back in time installers for product patches are retained. Typically you will want a time-span large enough to capture both the latest patch and one or more previous patches to enable roll back scenarios.

   * You’ll always get the “latest” patch, even if it is older than the expiration age.
   * You can change this value, but we recommend at least 60 days for the window.
7. Click **Update**.
8. In the **Server Configuration** section, **Current Server Status** should now say **Air-gapped**. This may take a few minutes, or you can refresh the portal.

   ![Confirm Air Gap](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-18a4e03cb37435cffce5064acf82c30e910d5b32%2Fconfirm-airgap.png?alt=media)

You need to perform these steps on any additional air gap environments in different physical or network locations. Each environment is represented as a Zone in OneSite Patch.

## Perform Initial Patch Sync

***Perform the following on the Air Gap server***

1. From within OneSite Patch, follow this guide to [create a patching strategy](https://docs.adaptiva.com/patch/get-started/strategies-v2).
2. In the left nav, click **AirGap**.
3. In the **Quick Actions** panel, under **Export Patch Sync Request**, click **Export**.

   ![Export Sync Request](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-23ff101f39d6ae9d2b416db1f7c17fb24ea92587%2Fexport-sync-request.png?alt=media)
4. On the **Export Patch Sync Request** screen, click **Download**.
5. You should now have a file called **PatchSyncRequest.txt**. If you've done this operation before, make sure the name matches exactly, i.e., no **(1)** in the file name or something to indicate it's a copy. Click to open this file and familiarize yourself with what's in it.

   ![Patch Sync Request File](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-5af3cc92ccd70944fff031b1861197df9c823060%2Fpatch-sync-request.png?alt=media)

   * **ZoneName** is the name of your zone for this request.
   * **ServerVersion** is required to ensure both servers have the same version of Patch.
   * **ClientCount** is used to verify the number of licensed clients.
   * **PatchExpirationDuration** communicates the time-span for product patches that are downloaded in the patch payload.
   * **Platform** indicates what metadata to retrieve for devices: Windows, Linux or MacOS.
   * In later patch syncs, the file will populate with a product list based on the devices scanned in the environment.
6. Follow your air gap protocols with this .txt file, i.e., print it out or save it to a remote drive that you can carry to your online server.

***Perform the following on the online Patch server***

1. Ensure the online OneSite Patch server has access to the Patch Sync Request file or be ready to type it out.
2. In the Admin Portal, in the left nav, click **Air Gap**, and then click **Import Patch Sync Request**.
3. Use the **Click or Drag Here to Upload** box to find the **PatchSyncRequest.txt** file, and then click **Upload**.
4. Click **OK**. The file will be parsed and the server will retrieve patch metadata for the platforms listed in the file.
5. You can view the progress in the **Configured Zones** section.
6. Expand the caret **>** to the left of the **Zone Name** to show a detail view. For a successful import, the **Message** section will give you the location of the patch payload (a .zip file) you'll need for the next step.
7. Copy the patch payload (.zip) file to the physical media you are using between the online and offline servers.

***Perform the following on the Air Gap server***

1. On the Air Gap server, copy the .zip payload file to a drive on the server. You cannot browse to a network drive for the import.
2. Navigate to **AirGap > Quick Actions > Import Patch Sync Response** and click **Import**.
3. Enter the path to .zip payload file. (If you use the Copy Path feature in Windows, you may need to remove the quotes around the path name.)
4. Click **OK**.
5. You can monitor progress using the **Current Sync Progress** bar in the **Patch Sync Response Import Status** pane.
6. Once the import finishes, the patch metadata feeds will be utilized by clients to determine their patch compliance.

## Perform Incremental Patch Sync

In order to start patching clients inside the air gap environment, you will need to create another Patch Sync Request once the metadata feeds are utilized by the clients to determine their compliance. When you generate the request, you will see a product list for which you will request update packages and installers on the online Patch server.

![Incremental Patch Sync Request](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-dd4ce1e6b7a17b9149aae7d89fda4ab46c53fbdf%2Fincremental-patch-sync-request.png?alt=media)

The payload generated by the online OneSite Patch server will be much larger, determined by the *PatchExpirationDuration* and the number of platforms and products in your environment (bu could be as much as 1TB of data). You can limit the size of the payload by editing the Patch Request file to remove specific software or operating systems. Just delete those lines from the .txt file generate additional requests to segment the payloads into manageable chunks.

Once patch content is delivered to the offline server, it will distribute the content to any air gap devices targeted by your patch strategy. Your autonomous patch infrastructure is now managed as you would in your online Patch environment.

## Related Topics

* [Overview: Air Gap](/patch/air-gap/airgap-overview.md)
* [Best Practices for Air Gap](/patch/air-gap/use-airgap.md)
