A Pairing is one bond: this controller holds link keys with this adapter. The operator creates the object when a pairing succeeds, and when it finds a bond bluetoothd already held. The keys are in a Secret this object owns. Deleting a Pairing is the unpair: the operator disconnects the controller, waits for the claim that holds it to release, retires the device from the ResourceSlice, and removes the bond from bluetoothd, and the Secret is collected with the object. Edit spec.alias to rename a controller and spec.trusted to say whether it may reconnect on its own.

One paired controller, named for its own address in the same form the ResourceSlice names it. The object owns the Secret that holds this bond’s keys.

spec

What the operator makes true about the device.

Field Type Required Description
alias string no The name for this controller, written into BlueZ’s Device1.Alias. bluetoothd stores the alias in the bond’s own file, so the name is stored with the keys. Leave it empty to keep the name the controller reports for itself.
trusted boolean no Whether the controller may reconnect on its own, written into BlueZ’s Device1.Trusted. With this off, BlueZ asks an agent to authorize each service on every connection, and no agent is registered outside a pairing window, so the controller does not reconnect. Default: true.

status

What the operator observes about the bond.

Field Type Required Description
address string no The controller’s Bluetooth address, in the uppercase form the label on the hardware shows.
deviceName string no The name the controller reports for itself.
adapter string no The address of the adapter this bond belongs to.
node string no The machine whose operator holds this bond now. The value changes when the adapter moves.
connected boolean no Whether the controller holds a connection now.
bonded boolean no Whether bluetoothd still holds this bond. It goes false when the keys are gone from the daemon, which the operator reports and never acts on.
secret string no The namespace and name of the Secret that holds this bond’s keys. The Secret is owned by this object, so deleting the Pairing collects it.
pairedAt string no When the operator first recorded this bond, which is the pairing for a bond it made and the adoption for one it discovered.
request string no The namespace and name of the PairingRequest that produced this bond. It is empty for a bond the operator adopted. A finished request is collected after its TTL, and this field outlasts it.