> 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

These instructions show how to configure OneSite Patch in an air-gapped environment and enable autonomous patching of network isolated devices.

## Enable Licenses

***Perform the following on both servers***

1. On either 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. Repeat the **Product Licensing** step, and then repeat the **Use All Clients** step and the **License Keys** step for the AirGap for OneSite Patch add-on.
7. Repeat this section on the other server.

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

## Configure the Air-gapped Server

On the server that will become your air-gapped server, do the following:

1. Click the **gear icon > Product Licensing**.
2. In the navigation pane, select **AirGap 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 AirGap](/files/qmEtTty4Vibbs8whQG6R)

Perform these steps for 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-gapped 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](/files/ITHpCNS6nvuW7Kyin24O)
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](/files/cqFTZyztBB59nSH4nQbY)

   * **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. For the initial request, you may want to create a more lightweight version of this .txt file as an unedited initial request could be as much as 1TB of data. To remove specific software or operating systems, delete that line from the .txt file.
7. 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 server**

1. From within OneSite Patch, on the online server, in the left nav, click **AirGap**, and then click **Import Patch Sync Request**.
2. Use the **Click or Drag Here to Upload** box to find the **PatchSyncRequest.txt** file, and then click **Upload**.
3. Click **OK**. The file will be parsed and the server will retrieve patch metadata for the platforms listed in the file.
4. You can view the progress in the **Configured Zones** section.
5. 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 .zip patch payload you'll need for the next step.
6. Copy the .zip payload file to the physical media you are using between the online and offline servers.

**Perform the following on the air-gapped server**

1. On the air-gapped 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 imported patches will roll out according to the patching strategy you created.
7. In the left-nav, click **Advanced Settings > Flex Controls > Cycle Operations > Patching Cycles**. Confirm that patching is scheduled per your patch strategy.

## Related Topics

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