Device Labels

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.

Organization

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:

Key Example Values Usage
device-type for the type of a device device-type=raspberry-pi or device-type=dell-precision-7920 Can be used for scheduling different application builds to different types of devices (e.g. thin clients vs edge servers)
customer for the customer a device was sent to customer=NASA or customer=SpaceX To allow specific customers to run a specific application version, or to separate metrics based on a customer, for easier debugging during incidents
canary for canary devices canary=true or canary=false To always run the latest application build on selected "canary" devices, while letting other devices run more stable application builds

Usage

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.