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:
- Tag devices with labels like
hackrf,gps,monitoring - Create profiles with scripts that target specific tags
- 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
- Click + New Profile
- Fill in:
- Name — descriptive name (e.g., "Install HackRF Tools")
- Description — what this profile does
- Tags — comma-separated list of tags this profile matches (e.g.,
hackrf,sdr) - Script — the bash script to execute on matching devices
- Toggle Enabled to activate
- 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:
- Go to Devices → click a Device ID to open the detail modal
- Scroll to the Tags section
- Click Edit
- Enter tags (comma-separated, e.g.,
hackrf, monitoring, london) - Click Save
How Matching Works
When a device checks in (during provisioning or every 5 minutes via the agent), the server:
- Looks at the device's tags
- Finds all enabled profiles whose tags overlap with the device's tags
- Sends unexecuted profiles to the device
- The agent runs each script via
bash -c - 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.
- Tag the HackRF devices:
hackrf, monitoring - Tag the GPS devices:
gps, monitoring - Tag the remaining devices:
monitoring - Quick-add the HackRF Tools, GPS Sensor, and Monitoring Stack bundles
- All devices automatically receive the correct software on their next check-in