Device labels are the main unit of organization for devices. Labels are simply user-defined key value pairs that are assignable to devices individually, or in bulk, as part of a provisioning workflow.
The primary use of labels is to model the organization your devices. Each differentiating feature of your devices can be labeled, some common examples may be:
|Can be used for scheduling different application builds to different types of devices (e.g. thin clients vs edge servers)|
|To allow specific customers to run a specific application version, or to separate metrics based on a customer, for easier debugging during incidents|
|To always run the latest application build on selected "canary" devices, while letting other devices run more stable application builds|
By themselves, labels are informational, and only moderately useful. However, labels are heavily incorporated into various Deviceplane features. Now, using your labels, you can query devices, from the UI and CLI, as well as conditionally scheduling applications and pinning application releases.