Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

hawkBit Compatibility

raptor implements a subset of hawkBit, chosen to cover the device update workflow first. This page is the source of truth for what exists today.

Device API (DDI v1)

The DDI v1 contract is implemented field-for-field and verified with golden fixtures and an end-to-end test against a real hawkBit DDI client.

FeatureStatus
Poll root, config.polling.sleep, _links
deploymentBase (download/update modes, chunks, artifacts)
Deployment feedback state machine
cancelAction + cancel feedback
configData (attributes: merge / replace / remove)
installedBase
Artifact download with HTTP Range (resume)
.MD5SUM companion endpoint
Auto-registration (gateway token / anonymous)
confirmationBase confirmation flow
Maintenance windows
DMF (AMQP) device path

Management API

AreaStatus
Targets CRUD, assignedDS, installedDS, actions, attributes
Software modules CRUD + multipart artifact upload/list/download/delete
Distribution sets CRUD + module composition
Actions (per-target and fleet-wide list/filter)
Rollouts (create/start/pause/resume/delete, deploy groups)
Target filters + auto-assignment
Per-target auto-confirm
Paging (offset/limit), sort=, q= FIQL on lists
Software-module / distribution-set / target types CRUD (composition drives complete; target-type/DS-type compatibility enforced)
Target / distribution-set tags CRUD, assign/unassign, q=tag==x
Metadata endpoints (targets / modules / DS, targetVisible on module entries)
All four action types + force escalation (PUT .../actions/{id}) and force-quit (DELETE ...?force=true)
Rollout approval workflow, dynamic rollouts
Maintenance windows
Multi-assignment / action weights

Action types

hawkBit has forced, soft, downloadonly, and timeforced. raptor models all four. timeforced starts out soft and escalates once its deadline passes; downloadonly forces the download and never asks the device to install. An operator can escalate a running action to forced with PUT /rest/v1/targets/{controllerId}/actions/{actionId}, and force-quit one that the device is not acknowledging with DELETE …/actions/{actionId}?force=true.

Auth

MechanismStatus
DDI target security token
DDI shared gateway token
DDI anonymous mode
Management API HTTP Basic (single admin)
Session cookie for the web console
mTLS / certificate DDI auth
Multiple users / roles, OIDC

Tenancy

raptor is single-tenant. The DDI URL’s /{tenant}/controller/v1/... segment is accepted and ignored; all generated links use the tenant name DEFAULT. There is no per-tenant data isolation — run one raptor instance per fleet.

Note: Items marked ❌ are tracked as issues on the GitHub repository. The schema is designed so these can be added without breaking existing deployments.