Skip to content

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.

PlatformArchitectureBinary
Linuxamd64breeze-agent-linux-amd64
Linuxarm64breeze-agent-linux-arm64
macOSamd64 (Intel)breeze-agent-darwin-amd64
macOSarm64 (Apple Silicon)breeze-agent-darwin-arm64
Windowsamd64breeze-agent-windows-amd64.exe
Terminal window
# Download the agent
curl -fsSL -o breeze-agent \
https://breeze.yourdomain.com/api/v1/agents/download/linux/amd64
chmod +x breeze-agent
# Enroll and install as a service
sudo ./breeze-agent enroll YOUR_ENROLLMENT_KEY \
--server https://breeze.yourdomain.com \
--enrollment-secret YOUR_ENROLLMENT_SECRET
sudo ./breeze-agent service install

During enrollment, the agent:

  1. Sends system information (hostname, OS, architecture) to the API
  2. Validates the enrollment secret
  3. Receives a unique brz_ bearer token
  4. Stores configuration in /etc/breeze/agent.yaml (Linux), /Library/Application Support/Breeze/agent.yaml (macOS), or C:\ProgramData\Breeze\agent.yaml (Windows)
  5. Stores secrets in a separate secrets.yaml file with 0600 permissions
  6. Sets file permissions: 0750 for directory, 0640 for config file (agent.yaml), 0600 for secrets file (secrets.yaml)
Terminal window
# Check service status
sudo systemctl status breeze-agent # Linux
sudo launchctl list | grep breeze # macOS
Get-Service breeze-agent # Windows
# Check agent version
breeze-agent version
# View agent logs
sudo journalctl -u breeze-agent -f # Linux
sudo log show --predicate 'process == "breeze-agent"' --last 1h # macOS

The device should appear in your Breeze dashboard within 60 seconds of enrollment.

After enrollment, the agent stores its configuration at:

OSConfig PathSecrets Path
Linux/etc/breeze/agent.yaml/etc/breeze/secrets.yaml
macOS/Library/Application Support/Breeze/agent.yaml/Library/Application Support/Breeze/secrets.yaml
WindowsC:\ProgramData\Breeze\agent.yamlC:\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_..."