Skip to content

Commit

Permalink
Add Fleet as a method to deploy Cloudflare WARP client (#17606)
Browse files Browse the repository at this point in the history
* 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
4 people authored Nov 13, 2024
1 parent ffa4ed3 commit 6ec6f40
Showing 1 changed file with 142 additions and 0 deletions.
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/).

0 comments on commit 6ec6f40

Please sign in to comment.