From fe2b89099021a16f48214ffc648bbd8796a54d9c Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 14 Nov 2024 15:26:19 +0000 Subject: [PATCH 1/2] Add links to MQTT docs This adds some links to the MQTT docs for the Team Broker. Also includes new user docs section to cover self hosted rather than just FFC --- docs/user/introduction.md | 3 ++ docs/user/team/README.md | 4 +++ docs/user/teambroker.md | 39 ++++++++++++++++++++++++ frontend/src/pages/team/Broker/index.vue | 1 + 4 files changed, 47 insertions(+) create mode 100644 docs/user/teambroker.md diff --git a/docs/user/introduction.md b/docs/user/introduction.md index 28ca36dae6..4bc700c1cb 100644 --- a/docs/user/introduction.md +++ b/docs/user/introduction.md @@ -80,3 +80,6 @@ FlowFuse supports reading and writing persistent files and persistent context. - [High Availability mode](/docs/user/high-availability.md) - Run multiple copies of your instance for scaling and availability. - [FlowFuse Assistant](/docs/user/assistant.md) - A plugin for Node-RED that helps you code faster. + ## Working with MQTT + + - [Team Broker](/docs/users/teambroker.md) - Working with the FlowFuse bundled MQTT Broker diff --git a/docs/user/team/README.md b/docs/user/team/README.md index 0ef3f782f1..80437a6808 100644 --- a/docs/user/team/README.md +++ b/docs/user/team/README.md @@ -78,6 +78,10 @@ table summaries what actions are available to the different roles. | • Add an item | ✓ | ✓ | - | - | | • Modify an item | ✓ | ✓ | - | - | | • Delete an item | ✓ | ✓ | - | - | +| **Team Broker** | | | | | +| • Create Client | ✓ | ✓ | - | - | +| • Delete Client | ✓ | ✓ | - | - | +| • List Clients | ✓ | ✓ | - | - | Notes: - **§1** A user in any role can remove themselves from a team diff --git a/docs/user/teambroker.md b/docs/user/teambroker.md new file mode 100644 index 0000000000..e42a9cea57 --- /dev/null +++ b/docs/user/teambroker.md @@ -0,0 +1,39 @@ +--- +navTitle: Team Broker +--- + +# Getting Started with Team Broker + +When FlowFuse is deployed with an Enterprise license from v2.11.0 onwards comes with the option to enable a MQTT broker for each Team. + +This is a single shared MQTT broker, but each team has their own separate topic space and the ability to provision credentials for clients. + +## Creating Clients + +When creating clients you can specify a username, it will prepended to the the Team's id e.g. `alice` will become `alice@32E4NEO5pY`. + +This username should also be used as the MQTT Client ID in order to connect to the broker. Examples of how to do this are in the [next section](#connecting-to-the-broker). + +![Create Broker Client](../cloud/images/create-broker-client.png) + +## Connecting to the Broker + +The broker for FlowFuse Cloud is available on `broker.flowfuse.cloud` and supports the following connection types: + + - MQTT on port `1883` + - MQTT over TLS on port `8883` + - MQTT over secure WebSockets on port `443` + + For Self Hosted instances, please ask your Administrator for hostname and ports. + + You can connect to the broker using any MQTT client, for example `mosquitto_sub` + + ``` + mosquitto_sub -u "alice@32E4NEO5pY" -i "alice@32E4NEO5pY" -P "password" -h broker.flowfuse.cloud -t "#" + ``` + + Or in Node-RED as follows + + ![Node-RED MQTT Client Connection](../cloud/images/node-red-mqtt-connection.png) + + ![Node-RED MQTT Client Security](../cloud/images/node-red-mqtt-security.png) \ No newline at end of file diff --git a/frontend/src/pages/team/Broker/index.vue b/frontend/src/pages/team/Broker/index.vue index 60a87fe0c3..93ea779751 100644 --- a/frontend/src/pages/team/Broker/index.vue +++ b/frontend/src/pages/team/Broker/index.vue @@ -12,6 +12,7 @@

The MQTT Broker page offers a streamlined interface for managing your broker instance and defining client connections.

You can create and manage MQTT clients, each with customizable Access Control List (ACL) rules to ensure secure and controlled communication. The ACL rules allow for fine-grained control over each client’s access to specific topics, supporting both publishing and subscribing actions.

This overview provides a clear and organized view of your broker’s configuration, helping you manage client connections, security settings, and message flow efficiently.

+

Documentation here

From 799a95bd12eac77d4c33e6968c036836766c4a5a Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 14 Nov 2024 15:31:40 +0000 Subject: [PATCH 2/2] Fix lint --- docs/user/introduction.md | 2 +- frontend/src/pages/team/Broker/index.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user/introduction.md b/docs/user/introduction.md index 4bc700c1cb..6c3b5d8753 100644 --- a/docs/user/introduction.md +++ b/docs/user/introduction.md @@ -82,4 +82,4 @@ FlowFuse supports reading and writing persistent files and persistent context. ## Working with MQTT - - [Team Broker](/docs/users/teambroker.md) - Working with the FlowFuse bundled MQTT Broker + - [Team Broker](/docs/user/teambroker.md) - Working with the FlowFuse bundled MQTT Broker diff --git a/frontend/src/pages/team/Broker/index.vue b/frontend/src/pages/team/Broker/index.vue index 93ea779751..223b9af1aa 100644 --- a/frontend/src/pages/team/Broker/index.vue +++ b/frontend/src/pages/team/Broker/index.vue @@ -12,7 +12,7 @@

The MQTT Broker page offers a streamlined interface for managing your broker instance and defining client connections.

You can create and manage MQTT clients, each with customizable Access Control List (ACL) rules to ensure secure and controlled communication. The ACL rules allow for fine-grained control over each client’s access to specific topics, supporting both publishing and subscribing actions.

This overview provides a clear and organized view of your broker’s configuration, helping you manage client connections, security settings, and message flow efficiently.

-

Documentation here

+

Documentation here