Skip to content

Provisioning Profiles

Provisioning profiles let you define automated setup scripts that run on devices based on tag matching. This separates core OS provisioning from customer-specific packages.


Concept

Instead of installing everything on every device, you:

  1. Tag devices with labels like hackrf, gps, monitoring
  2. Create profiles with scripts that target specific tags
  3. Devices automatically receive and execute matching profiles during provisioning or on the next agent check

This way, a device tagged hackrf gets HackRF tools installed, while a device tagged monitoring gets Prometheus exporters — without manual intervention.


Managing Profiles

Go to System → Profiles to manage provisioning profiles.

Creating a Profile

  1. Click + New Profile
  2. Fill in:
  3. Name — descriptive name (e.g., "Install HackRF Tools")
  4. Description — what this profile does
  5. Tags — comma-separated list of tags this profile matches (e.g., hackrf,sdr)
  6. Script — the bash script to execute on matching devices
  7. Toggle Enabled to activate
  8. Click Save

Quick Add Bundles

Eight pre-built templates are available for common setups:

Bundle Tags What It Installs
HackRF Tools hackrf HackRF SDR software + GNU Radio
GPS Sensor gps gpsd + GPS utilities
Kismet Wireless kismet Kismet wireless network detector
RTL-SDR rtl-sdr RTL-SDR USB receiver drivers
Nzyme Tap nzyme Nzyme wireless security monitoring tap
Docker Engine docker Docker CE runtime
Monitoring Stack monitoring Prometheus node exporter
Bluetooth LE Scanner bluetooth BlueZ + BLE scanning tools

Click any Quick Add button to instantly create a profile from the template. You can also select Start from template when creating a new profile to pre-fill the editor.

Editing and Deleting

  • Click Edit on any profile to modify its name, tags, script, or enabled state
  • Click Delete to remove a profile (with confirmation)

Tagging Devices

Assign tags to devices through the Devices page:

  1. Go to Devices → click a Device ID to open the detail modal
  2. Scroll to the Tags section
  3. Click Edit
  4. Enter tags (comma-separated, e.g., hackrf, monitoring, london)
  5. Click Save

How Matching Works

When a device checks in (during provisioning or every 5 minutes via the agent), the server:

  1. Looks at the device's tags
  2. Finds all enabled profiles whose tags overlap with the device's tags
  3. Sends unexecuted profiles to the device
  4. The agent runs each script via bash -c
  5. Results (success/failure + output) are reported back to the server

A profile runs once per device. After successful execution, it won't run again on the same device (tracked in the database). If a profile fails, it can be retried by resetting the run record.


Example Workflow

Scenario: You have 50 Raspberry Pis. 10 need HackRF tools, 20 need GPS, and all need monitoring.

  1. Tag the HackRF devices: hackrf, monitoring
  2. Tag the GPS devices: gps, monitoring
  3. Tag the remaining devices: monitoring
  4. Quick-add the HackRF Tools, GPS Sensor, and Monitoring Stack bundles
  5. All devices automatically receive the correct software on their next check-in