Agent Installation
The Breeze agent is a single Go binary (~8 MB) with no runtime dependencies. It runs as a system service and communicates with your Breeze server over HTTPS/WSS.
Supported Platforms
Section titled “Supported Platforms”| Platform | Architecture | Binary |
|---|---|---|
| Linux | amd64 | breeze-agent-linux-amd64 |
| Linux | arm64 | breeze-agent-linux-arm64 |
| macOS | amd64 (Intel) | breeze-agent-darwin-amd64 |
| macOS | arm64 (Apple Silicon) | breeze-agent-darwin-arm64 |
| Windows | amd64 | breeze-agent-windows-amd64.exe |
Quick Install
Section titled “Quick Install”# Download the agentcurl -fsSL -o breeze-agent \ https://breeze.yourdomain.com/api/v1/agents/download/linux/amd64chmod +x breeze-agent
# Enroll and install as a servicesudo ./breeze-agent enroll YOUR_ENROLLMENT_KEY \ --server https://breeze.yourdomain.com \ --enrollment-secret YOUR_ENROLLMENT_SECRET
sudo ./breeze-agent service install# Download the agentcurl -fsSL -o breeze-agent \ https://breeze.yourdomain.com/api/v1/agents/download/darwin/arm64chmod +x breeze-agent
# Enroll and install as a LaunchDaemonsudo ./breeze-agent enroll YOUR_ENROLLMENT_KEY \ --server https://breeze.yourdomain.com \ --enrollment-secret YOUR_ENROLLMENT_SECRET
sudo ./breeze-agent service install# Download the agentInvoke-WebRequest -Uri "https://breeze.yourdomain.com/api/v1/agents/download/windows/amd64" ` -OutFile "breeze-agent.exe"
# Enroll (run as Administrator).\breeze-agent.exe enroll YOUR_ENROLLMENT_KEY ` --server https://breeze.yourdomain.com ` --enrollment-secret YOUR_ENROLLMENT_SECRET
# Install as a Windows Service.\breeze-agent.exe service installAlternatively, use the MSI installer for silent deployment:
msiexec /i breeze-agent.msi /qn ` SERVER_URL=https://breeze.yourdomain.com ` ENROLLMENT_KEY=YOUR_ENROLLMENT_KEYThe MSI installer enrolls the agent by invoking breeze-agent.exe enroll directly during installation — there is no PowerShell wrapper script in the install path. If enrollment fails, the installer surfaces the underlying agent error message instead of a generic Windows error.
Pre-Configured Installers
Section titled “Pre-Configured Installers”Instead of running manual enrollment commands, you can download a ready-to-run installer from the Breeze dashboard.
- Open the Add Device dialog from the Devices page.
- Select Download Installer and choose Windows MSI or macOS PKG.
- Set a device count to control how many devices can enroll with this installer.
- Run the installer on the target machine. The agent enrolls automatically with the correct organization and site — no enrollment commands needed.
Public Installer Links
Section titled “Public Installer Links”You can generate a shareable download URL for an enrollment key so that site contacts can install the agent without needing access to the Breeze dashboard.
- From the enrollment key details, click Copy Public Link or use the API (
POST /enrollment-keys/:id/installer-link). - Share the link with on-site contacts via email, chat, or documentation.
- Links are token-authenticated and rate-limited to prevent abuse.
Short Enrollment Links
Section titled “Short Enrollment Links”Public installer links can also be issued as short, human-friendly URLs of the form https://breeze.yourdomain.com/s/<code>. The short link automatically delivers the right installer for the requester’s platform (Windows MSI or macOS PKG), respects the enrollment key’s usage limits, and is one-time-use by default.
Short codes are issued alongside long-form public links — copy the short URL from the enrollment key details page and share it however you like. Each visit increments the underlying enrollment key’s usage count atomically, so you cannot exceed the configured maxUsage.
macOS GUI Installer
Section titled “macOS GUI Installer”For onboarding Macs the same way you’d install any other native macOS app, Breeze provides a Swift-based GUI installer (Breeze Installer.app). A site contact opens the app, confirms the install with Touch ID, and the agent is enrolled and started — no Terminal commands.
The GUI installer uses bootstrap tokens generated server-side from an enrollment key, so the same usage-limit and site-pinning guarantees as MSI/PKG installers apply.
What Gets Installed
Section titled “What Gets Installed”All platform installers (MSI, PKG, and manual service install) include two components:
| Component | Description |
|---|---|
| Breeze Agent | The main service that communicates with the Breeze server, runs commands, and reports device status. |
| Watchdog | A companion service that monitors the agent and automatically restarts it after crashes or hangs. |
The watchdog runs alongside the agent as a separate process. You do not need to configure it — it starts automatically with the agent service. See the Watchdog documentation for details.
When running breeze-agent service install manually, the agent fetches the matching-version watchdog binary from GitHub releases if one is not already present next to the agent executable. If you need to skip this (for example on an air-gapped host), pass --no-watchdog:
sudo ./breeze-agent service install --no-watchdog.\breeze-agent.exe service install --no-watchdogIf a previously agent-only install needs the watchdog added, re-run breeze-agent service install. This reinstalls the agent binary and restarts the agent service (safe for upgrades) and registers the missing watchdog. To add only the watchdog without touching the agent service, run breeze-watchdog service install directly.
What Enrollment Does
Section titled “What Enrollment Does”During enrollment, the agent:
- Sends system information (hostname, OS, architecture) to the API
- Validates the enrollment secret
- Receives a unique
brz_bearer token - Stores configuration in
/etc/breeze/agent.yaml(Linux),/Library/Application Support/Breeze/agent.yaml(macOS), orC:\ProgramData\Breeze\agent.yaml(Windows) - Stores secrets in a separate
secrets.yamlfile with0600permissions - Sets file permissions:
0750for directory,0640for config file (agent.yaml),0600for secrets file (secrets.yaml)
Verifying Installation
Section titled “Verifying Installation”# Check service statussudo systemctl status breeze-agent # Linuxsudo launchctl list | grep breeze # macOSGet-Service breeze-agent # Windows
# Check agent versionbreeze-agent version
# View agent logssudo journalctl -u breeze-agent -f # Linuxsudo log show --predicate 'process == "breeze-agent"' --last 1h # macOSThe device should appear in your Breeze dashboard within 60 seconds of enrollment.
Configuration File
Section titled “Configuration File”After enrollment, the agent stores its configuration at:
| OS | Config Path | Secrets Path |
|---|---|---|
| Linux | /etc/breeze/agent.yaml | /etc/breeze/secrets.yaml |
| macOS | /Library/Application Support/Breeze/agent.yaml | /Library/Application Support/Breeze/secrets.yaml |
| Windows | C:\ProgramData\Breeze\agent.yaml | C:\ProgramData\Breeze\secrets.yaml |
# agent.yaml (0640 — readable by Breeze Helper)server_url: "https://breeze.yourdomain.com"agent_id: "hex-agent-id"auth_token: "brz_..."org_id: "uuid-..."site_id: "uuid-..."# secrets.yaml (0600 — root only)auth_token: "brz_..."