FAQ
Is raptor a drop-in replacement for hawkBit?
For the DDI v1 device protocol, yes — devices using SWUpdate, the RAUC hawkbit-updater, or other hawkBit DDI clients work unchanged. For the Management API, raptor implements the core workflow but not every endpoint; see hawkBit Compatibility.
Which databases are supported?
SQLite and Postgres, selected by the database_url scheme. Migrations run
automatically at startup. SQLite is great for small/single-node deployments;
Postgres for larger fleets or when you want an external managed database.
Does raptor need RabbitMQ?
No. raptor implements only the HTTP-based DDI device path, not hawkBit’s DMF (AMQP) path, so there is no broker to run.
Can I run multiple tenants on one raptor?
No. raptor is single-tenant: it answers to exactly one tenant name (the
tenant config key, default DEFAULT) and rejects any other DDI tenant
segment with 404. Run one raptor instance per fleet. See
the design doc
for why.
How do devices authenticate?
Per-target security tokens, a shared gateway token (which also enables auto-registration), or anonymous mode for development. See Authentication.
Where does raptor store artifacts?
In a content-addressed store on local disk under artifact_dir, laid out as
<sha256[0..2]>/<sha256>. Identical content is stored once. The Debian package
defaults this to /var/lib/raptor/artifacts.
Can I offload artifact storage to S3?
Not yet — storage is local disk only. S3/object-storage backends are a tracked enhancement.
How do I change the admin password?
Generate a new hash with raptor hash-password, put it in mgmt.password_hash
(or the RAPTOR_MGMT__PASSWORD_HASH env var), and restart. There is a single
admin user in this version.
How do I make a deployment wait for approval?
Two different gates, depending on what you want to hold back:
- Every assignment, waiting on the device. Enable the
confirmation flow
(
[ddi] confirmation_flow = true). Assignments then wait for the device (or an operator via auto-confirm) before deploying. - Each rollout, waiting on an operator. Set
rollout_approval_enabled = true. A new rollout lands inwaiting_for_approvaland cannot be started until someone approves it — see Approval workflow.
Why is my deploymentBase returning 404?
The action is not in a state that serves a deployment. If the confirmation flow
is on, the device should be using confirmationBase until the action is
confirmed; deploymentBase only serves running actions. Check the action’s
detailStatus via GET /rest/v1/targets/{cid}/actions/{aid}.
How do I upgrade raptor?
Install the new binary/package and restart. Schema migrations apply automatically
on startup. With the Debian package, your /etc/raptor/config.toml edits are
preserved (it’s a dpkg conffile).
Where do I report bugs or request features?
On the GitHub repository. The compatibility matrix lists what’s not yet implemented; most of those items have tracking issues.