|
| 1 | +--- |
| 2 | +pcx_content_type: how-to |
| 3 | +title: Fleet |
| 4 | +sidebar: |
| 5 | + order: 1 |
| 6 | +--- |
| 7 | + |
| 8 | +This guide covers how to deploy the Cloudflare WARP client using [Fleet](https://fleetdm.com/) device management software. |
| 9 | + |
| 10 | +## macOS |
| 11 | + |
| 12 | +### 1. Create a custom MDM file |
| 13 | + |
| 14 | +1. [Download](/cloudflare-one/static/mdm/CloudflareWARP.mobileconfig) an example `.mobileconfig` file. |
| 15 | +2. Modify the file with your desired [deployment parameters](/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/). |
| 16 | + |
| 17 | +### 2. Upload MDM file to Fleet |
| 18 | + |
| 19 | +1. In the Fleet admin console, go to **Controls**. |
| 20 | +2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. |
| 21 | +3. Select **OS settings** > **Custom settings**. |
| 22 | +4. Select **Add profile** and upload the custom `.mobileconfig`. |
| 23 | +5. Select the hosts which require Cloudflare WARP: |
| 24 | + - **All hosts**: Deploys WARP to all hosts in the team. |
| 25 | + - **Custom**: Deploys WARP to a subset of the hosts in the team. Use [labels](https://fleetdm.com/guides/managing-labels-in-fleet#basic-article) to define the hosts that should be included or excluded. |
| 26 | +6. Select **Add profile**. |
| 27 | + |
| 28 | +The defined hosts will immediately receive the deployment profile, but WARP is not yet installed. |
| 29 | + |
| 30 | +### 3. Download WARP package for macOS |
| 31 | + |
| 32 | +Visit the [Download page](/cloudflare-one/connections/connect-devices/warp/download-warp/#macos) to review system requirements and download the installer for your operating system. |
| 33 | + |
| 34 | +### 4. Upload WARP package to Fleet |
| 35 | + |
| 36 | +To add the WARP client installer package for distribution to your hosts enrolled in Fleet: |
| 37 | + |
| 38 | +1. In the Fleet admin console, go to **Software**. |
| 39 | +2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. |
| 40 | +3. Select **Add Software** and upload the `.pkg` file that was previously downloaded. |
| 41 | + |
| 42 | +### 5. Install WARP with Fleet |
| 43 | + |
| 44 | +To deploy the uploaded `.pkg` file to your hosts: |
| 45 | + |
| 46 | +1. In the Fleet admin console, go to **Hosts**. |
| 47 | +2. Select the host that requires the WARP client. |
| 48 | +3. Go to **Software** and search for `Cloudflare`. |
| 49 | +4. Select **Actions** > **Install**. |
| 50 | + |
| 51 | +Installation will happen automatically when the host comes online. To deploy with REST API or GitOps, refer to the [Fleet documentation](https://fleetdm.com/guides/deploy-software-packages). |
| 52 | + |
| 53 | +### 6. Uninstall WARP with Fleet |
| 54 | + |
| 55 | +To uninstall the Fleet-deployed WARP client: |
| 56 | + |
| 57 | +1. In the Fleet admin console, go to **Hosts**. |
| 58 | +2. Select the host that requires the WARP client to be uninstalled. |
| 59 | +3. Go to **Software** and search for `Cloudflare`. |
| 60 | +4. Select **Actions** > **Uninstall**. |
| 61 | + |
| 62 | +## Windows |
| 63 | + |
| 64 | +### 1. Download WARP package for Windows |
| 65 | + |
| 66 | +Visit the [Download page](/cloudflare-one/connections/connect-devices/warp/download-warp/#windows) to review system requirements and download the installer for your operating system. |
| 67 | + |
| 68 | +### 2. Upload WARP package to Fleet |
| 69 | + |
| 70 | +To add the WARP client installer package for distribution to your hosts enrolled in Fleet: |
| 71 | + |
| 72 | +1. In the Fleet admin console, go to **Software**. |
| 73 | +2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. |
| 74 | +3. Select **Add Software** and upload the `.msi` file that was previously downloaded. |
| 75 | +4. (Optional) To allow users to install WARP from Fleet Desktop, select **Self-service**. |
| 76 | +5. Select **Advanced options**. |
| 77 | +6. In **Install script**, replace the default script with the following: |
| 78 | + |
| 79 | +```bash |
| 80 | +$logFile = "${env:TEMP}/fleet-install-software.log" |
| 81 | + |
| 82 | +try { |
| 83 | + |
| 84 | +$installProcess = Start-Process msiexec.exe ` |
| 85 | + -ArgumentList "/quiet /norestart ORGANIZATION=your-team-name SUPPORT_URL=https://example.com /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" ` |
| 86 | + -PassThru -Verb RunAs -Wait |
| 87 | +
|
| 88 | +Get-Content $logFile -Tail 500 |
| 89 | +
|
| 90 | +Exit $installProcess.ExitCode |
| 91 | +
|
| 92 | +} catch { |
| 93 | + Write-Host "Error: $_" |
| 94 | + Exit 1 |
| 95 | +} |
| 96 | +``` |
| 97 | +
|
| 98 | +Refer to [deployment parameters](/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/) for a description of each argument. |
| 99 | +
|
| 100 | +### 3. Install WARP with Fleet |
| 101 | +
|
| 102 | +To deploy the uploaded `.pkg` file to your hosts: |
| 103 | +
|
| 104 | +1. In the Fleet admin console, go to **Hosts**. |
| 105 | +2. Select the host that requires the WARP client. |
| 106 | +3. Go to **Software** and search for `Cloudflare`. |
| 107 | +4. Select **Actions** > **Install**. |
| 108 | +
|
| 109 | +Installation will happen automatically when the host comes online. To deploy with REST API or GitOps, refer to the [Fleet documentation](https://fleetdm.com/guides/deploy-software-packages). |
| 110 | +
|
| 111 | +### 4. Uninstall WARP with Fleet |
| 112 | +
|
| 113 | +To uninstall the Fleet-deployed WARP client: |
| 114 | +
|
| 115 | +1. In the Fleet admin console, go to **Hosts**. |
| 116 | +2. Select the host that requires the WARP client to be uninstalled. |
| 117 | +3. Go to **Software** and search for `Cloudflare`. |
| 118 | +4. Select **Actions** > **Uninstall**. |
| 119 | +
|
| 120 | +## Linux |
| 121 | +
|
| 122 | +Fleet allows you to [execute custom scripts](https://fleetdm.com/guides/scripts) on Linux hosts. The following example script creates an [MDM file](/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/#linux) and installs WARP on an Ubuntu 22.04 host: |
| 123 | +
|
| 124 | +```sh |
| 125 | +#!/bin/sh |
| 126 | +
|
| 127 | +# Write the mdm.xml file |
| 128 | +touch /var/lib/cloudflare-warp/mdm.xml |
| 129 | +echo -e "<dict>\n <key>organization</key>\n <string>your-team-name</string>\n</dict> |
| 130 | +" > /var/lib/cloudflare-warp/mdm.xml |
| 131 | +
|
| 132 | +# Add cloudflare gpg key |
| 133 | +curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg |
| 134 | +
|
| 135 | +# Add this repo to your apt repositories |
| 136 | +echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list |
| 137 | +
|
| 138 | +# Install |
| 139 | +sudo apt-get -y update && sudo apt-get -y install cloudflare-warp |
| 140 | +``` |
| 141 | +
|
| 142 | +To install WARP on other Linux distributions, refer to the [package repository](https://pkg.cloudflareclient.com/). |
0 commit comments