-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Fleet as a method to deploy Cloudflare WARP client (#17606)
* Create fleet.mdx modify base managed distribution instructions, create fleet.mdx file. * Added deployment instructions... ...for macOS, Windows, and Linux operating systems. * Apply suggestions from code review Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> * PCX content review - Made changes to align with our [documentation style guide](https://developers.cloudflare.com/style-guide/). - Removed reference to third-party .mobileconfig editor, as we’re not in the position to recommend any particular tool. - Reorganize Windows section to align with Fleet instructions in https://fleetdm.com/guides/deploy-software-packages#step-by-step-instructions. * add UI install instructions * add example Linux script --------- Co-authored-by: Claire W <78226508+crwaters16@users.noreply.github.com> Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> Co-authored-by: ranbel <101146722+ranbel@users.noreply.github.com>
- Loading branch information
1 parent
ffa4ed3
commit 6ec6f40
Showing
1 changed file
with
142 additions
and
0 deletions.
There are no files selected for viewing
142 changes: 142 additions & 0 deletions
142
...e/connections/connect-devices/warp/deployment/mdm-deployment/partners/fleet.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
--- | ||
pcx_content_type: how-to | ||
title: Fleet | ||
sidebar: | ||
order: 1 | ||
--- | ||
|
||
This guide covers how to deploy the Cloudflare WARP client using [Fleet](https://fleetdm.com/) device management software. | ||
|
||
## macOS | ||
|
||
### 1. Create a custom MDM file | ||
|
||
1. [Download](/cloudflare-one/static/mdm/CloudflareWARP.mobileconfig) an example `.mobileconfig` file. | ||
2. Modify the file with your desired [deployment parameters](/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/). | ||
|
||
### 2. Upload MDM file to Fleet | ||
|
||
1. In the Fleet admin console, go to **Controls**. | ||
2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. | ||
3. Select **OS settings** > **Custom settings**. | ||
4. Select **Add profile** and upload the custom `.mobileconfig`. | ||
5. Select the hosts which require Cloudflare WARP: | ||
- **All hosts**: Deploys WARP to all hosts in the team. | ||
- **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. | ||
6. Select **Add profile**. | ||
|
||
The defined hosts will immediately receive the deployment profile, but WARP is not yet installed. | ||
|
||
### 3. Download WARP package for macOS | ||
|
||
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. | ||
|
||
### 4. Upload WARP package to Fleet | ||
|
||
To add the WARP client installer package for distribution to your hosts enrolled in Fleet: | ||
|
||
1. In the Fleet admin console, go to **Software**. | ||
2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. | ||
3. Select **Add Software** and upload the `.pkg` file that was previously downloaded. | ||
|
||
### 5. Install WARP with Fleet | ||
|
||
To deploy the uploaded `.pkg` file to your hosts: | ||
|
||
1. In the Fleet admin console, go to **Hosts**. | ||
2. Select the host that requires the WARP client. | ||
3. Go to **Software** and search for `Cloudflare`. | ||
4. Select **Actions** > **Install**. | ||
|
||
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). | ||
|
||
### 6. Uninstall WARP with Fleet | ||
|
||
To uninstall the Fleet-deployed WARP client: | ||
|
||
1. In the Fleet admin console, go to **Hosts**. | ||
2. Select the host that requires the WARP client to be uninstalled. | ||
3. Go to **Software** and search for `Cloudflare`. | ||
4. Select **Actions** > **Uninstall**. | ||
|
||
## Windows | ||
|
||
### 1. Download WARP package for Windows | ||
|
||
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. | ||
|
||
### 2. Upload WARP package to Fleet | ||
|
||
To add the WARP client installer package for distribution to your hosts enrolled in Fleet: | ||
|
||
1. In the Fleet admin console, go to **Software**. | ||
2. From the **Teams** dropdown, select the team (group of hosts) that requires Cloudflare WARP. | ||
3. Select **Add Software** and upload the `.msi` file that was previously downloaded. | ||
4. (Optional) To allow users to install WARP from Fleet Desktop, select **Self-service**. | ||
5. Select **Advanced options**. | ||
6. In **Install script**, replace the default script with the following: | ||
|
||
```bash | ||
$logFile = "${env:TEMP}/fleet-install-software.log" | ||
|
||
try { | ||
|
||
$installProcess = Start-Process msiexec.exe ` | ||
-ArgumentList "/quiet /norestart ORGANIZATION=your-team-name SUPPORT_URL=https://example.com /lv ${logFile} /i `"${env:INSTALLER_PATH}`"" ` | ||
-PassThru -Verb RunAs -Wait | ||
Get-Content $logFile -Tail 500 | ||
Exit $installProcess.ExitCode | ||
} catch { | ||
Write-Host "Error: $_" | ||
Exit 1 | ||
} | ||
``` | ||
Refer to [deployment parameters](/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/) for a description of each argument. | ||
### 3. Install WARP with Fleet | ||
To deploy the uploaded `.pkg` file to your hosts: | ||
1. In the Fleet admin console, go to **Hosts**. | ||
2. Select the host that requires the WARP client. | ||
3. Go to **Software** and search for `Cloudflare`. | ||
4. Select **Actions** > **Install**. | ||
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). | ||
### 4. Uninstall WARP with Fleet | ||
To uninstall the Fleet-deployed WARP client: | ||
1. In the Fleet admin console, go to **Hosts**. | ||
2. Select the host that requires the WARP client to be uninstalled. | ||
3. Go to **Software** and search for `Cloudflare`. | ||
4. Select **Actions** > **Uninstall**. | ||
## Linux | ||
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: | ||
```sh | ||
#!/bin/sh | ||
# Write the mdm.xml file | ||
touch /var/lib/cloudflare-warp/mdm.xml | ||
echo -e "<dict>\n <key>organization</key>\n <string>your-team-name</string>\n</dict> | ||
" > /var/lib/cloudflare-warp/mdm.xml | ||
# Add cloudflare gpg key | ||
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | ||
# Add this repo to your apt repositories | ||
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 | ||
# Install | ||
sudo apt-get -y update && sudo apt-get -y install cloudflare-warp | ||
``` | ||
To install WARP on other Linux distributions, refer to the [package repository](https://pkg.cloudflareclient.com/). |