Hi all,
let me try to summarize what alternatives the IMHO quite valuable discussion brought so far.
At the end I voted for my favourite alternatives, maybe you can do the same so that we then only continue to discuss the points where we could not agree on.
All comes down to the questions:
-
Do we support authtenticated / unauthenticated devices at the same time?
-
Single devices vs. gateways acting for a set of devices
-
Same topic address for all use cases or different ones?
********************
Goal:
Define a topic address scheme for our protocol adapters with following principles:
- as simple as possible (no doubled information like tenantId or deviceId)
- intuitive
- secure
- supporting gateways (== act "on behalf" of sets of devices)
- receivers of device data do not need to know if the device was first handled by a gateway (and probably cannot know either)
Remarks:
- not to be confused with the Hono AMQP topic structure (remains unchanged)
- we focus on MQTT first (and apply the result to HTTP also then)
- we focus on telemetry (event endpoint is treated the same)
- we focus on multi tenancy (single tenancy should be straightforward)
MQTT adapter specific principles:
- not using the clientId for any Hono specific data (like deviceId)
- using username/password of MQTT (where appropriate)
- we expect that ALL MQTT clients support the usage of username/password
********************
Use Cases:
********************
Use Case 1) Single device authenticated
Topic scheme: "telemetry"
Username: authId@tenantId
Password: <password>
No alternatives.