Skip to main content

What you defend with · Onboarding

Getting your kit in

Pick the product you own. The catalog already knows the protocols it speaks, so nothing is typed that the protocol determines.

A vehicle announces itself and waits to be adopted. Most sensors cannot. An acoustic node has no way to say hello, I am here and I would like to be part of your picture. It publishes what it hears to somewhere it has been told to publish.

So the two flows run in opposite directions, and both start in the same place.

1 · Find the product

Settings → Assets → ADD.

The add-asset catalog browse screen
The add-asset catalog browse screen
Search is the primary control. Anything already heard on a link is pinned to the top of this same list, so adopting a discovered device and adding a declared one are the same screen.

Search first. A catalog of any real size is unbrowsable, and discovery is a shortcut through this screen rather than a separate door.

2 · Choose how it connects

One product usually has several ways in. A DJI aircraft can arrive over the vendor cloud or over a telemetry decoder. Each of those is a connection recipe, and picking one generates the form.

The configure step of adding an asset
The configure step of adding an asset
The configure step. Fields come from the adapter and the transport, so the only things asked are the ones neither can know.

The fields change with the connection you pick. Choosing the vendor cloud asks for a tenant account; choosing the local decoder asks for an address instead.

3 · Say where it stands

Required for an emplaced sensor, and the step people skip.

A sensor's configuration is two halves: what it can see, and from where. Only the first comes from the catalog. A 300 m acoustic node with no position is a coverage radius with no origin. Its detections constrain nothing, no track forms from them, and the row looks healthy the whole time.

DomeCommand marks an unplaced sensor on its row and again on its own page, at the field where you would fix it.

A position is a place you click. Latitude and longitude stay typeable, because a surveyed coordinate has to be enterable, but they are not the primary control.

Aircraft are not asked. A drone knows where it is and tells you.

4 · Take the credential, if there is one

Whether a credential is minted is derived from the connection, not declared per product. There are three answers and all three are honest:

ScopeWhenWhat you get
NoneOne shared carrier, many devices: MAVLink on a bound port, ASTERIX multicast, the in-process simulatorNothing. Inventing a per-device secret here would invent a protocol.
IntegrationA tenant account somebody gave you, or one broker account shared across a vendor workspaceAsked once, on the integration, never again.
Per assetWe are the server and the topic is oursA username and password for this device alone.

Where a per-device credential is issued, the token is the identity. Each device gets its own subtree and its own password, so a compromised node can publish as itself and nothing else.

It is shown once. Copy it to the device then, or reissue it later.

Or import a manifest

If you already have a deployment described as a file, paste it. A manifest lists links first, then the assets attached to them.

assets.yaml
apiVersion: dome/v1
kind: AssetManifest
metadata:
name: north-site
spec:
links:
- id: north-mast
adapter: mqtt
direction: inbound
discovery: off
assets:
- name: ACOUSTIC-01
product: batear/acoustic-node
recipe: our-broker
link: north-mast
config:
lat: "1.3521"
lon: "103.8198"

A secret in a manifest holds a reference rather than a value, which is what makes the file safe to commit. An inbound endpoint is filled in on apply from the receiving deployment's own configuration, so a manifest exported at one site imports at another and points at that site's broker.

See Publishing & exporting for exporting a manifest from a site you have already set up.

What can go wrong

SymptomCause
The row is healthy and holds zero tracksAn emplaced sensor with no position. Step 3.
Endurance reads as a percentageThe model string does not match a catalog row exactly. See Catalog.
A device is connected and nothing arrivesPublishing to the wrong topic. The link's own subtree is the only one routed.
The protocol row cannot be switched onThe current environment cannot carry it. See Environments.

Where to go next