FlowFuse / FlowFuse/nr-project-nodes
Enable interop between Project Nodes and MQTT Broker service
- Dominant language
- JavaScript
- Stars
- 7
- Forks
- 1
- Avg merge
- 8d 6h
- Merged PRs (30d)
- 2
Description
### Description
With the first iteration of the MQTT Broker service, we require users to register MQTT Clients in order to connect to the broker. This is true whether they are connecting from an external device, or a managed Node-RED instance.
Each registered client can only connect once to the broker; they cannot be shared. This makes things awkward when working with the DevOps pipeline; the credentials have to be provided via ENV vars to ensure each instance stage gets its own unique credentials.
The proposal here is to enhance the Project nodes as *the* way to pub/sub on the broker from within a managed Node-RED instance. The user does not need to worry about connection details - they just plug in topics to use and its done.
I suggest, but open to alternatives, adding a third 'use team broker' option to the node:
Above mock up is the Project In node - the Project Out node should be updated to match. The Project Call node does not feature here.
Some requirements:
- Only show the option if the Team Broker is available to the team - will require additional flag to be passed over instance/device settings and settings updated to include.
- Update ACL checks for project node connection to permit access to the MQTT Topic space
- Given we chose to expose ACLs to the clients, we need to define the story here as we don't have a mechanism to grant project nodes ACL access to the shared topic space.
```[tasklist]
### Tasks
- [ ] https://github.com/FlowFuse/flowfuse/pull/4789
- [ ] https://github.com/FlowFuse/nr-launcher/pull/302
- [ ] https://github.com/FlowFuse/device-agent/pull/328
- [ ] Update project nodes to offer Team Broker action
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.