Skip to content

Commit a873bfa

Browse files
authored
Merge branch 'main' into docs-k8s-refactor
2 parents 303ca41 + 019af80 commit a873bfa

File tree

59 files changed

+2423
-957
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2423
-957
lines changed

.github/scripts/initial-setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ curl -ks -w "\n" -XPOST \
207207
"contextLimit": null,
208208
"customHostnames":false,
209209
"staticAssets":false,
210-
"teamBroker":true
210+
"teamBroker":false
211211
},
212212
"instances": {
213213
"'"$projectTypeId"'": {

.github/workflows/branch-deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ on:
99
- closed
1010
paths-ignore:
1111
- 'docs/**'
12+
- '**/.github/workflows/**'
13+
- '!.github/workflows/branch-deploy.yaml'
1214

1315
concurrency:
1416
group: ${{ github.workflow }}-${{ github.event.number }}

.github/workflows/docs.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Publish Documentation
2+
on:
3+
push:
4+
branches: [ main, maintenance ]
5+
paths:
6+
- 'docs/**'
7+
pull_request:
8+
paths:
9+
- 'docs/**'
10+
jobs:
11+
test:
12+
runs-on: ubuntu-latest
13+
name: Test Documentation links
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
- name: Setup Node
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: '18'
21+
- name: Install Dependencies
22+
run: npm ci
23+
- name: Test Documentation Links
24+
run: npm run test:docs
25+
publish:
26+
if: github.ref == 'refs/heads/main'
27+
runs-on: ubuntu-latest
28+
needs: test
29+
name: Publish Documentation
30+
steps:
31+
- name: Generate token
32+
id: generate_token
33+
uses: tibdex/github-app-token@v2
34+
with:
35+
app_id: ${{ secrets.GH_BOT_APP_ID }}
36+
private_key: ${{ secrets.GH_BOT_APP_KEY }}
37+
38+
- name: Trigger website rebuild
39+
uses: benc-uk/workflow-dispatch@v1
40+
with:
41+
workflow: build.yml
42+
repo: flowfuse/website
43+
ref: main
44+
token: ${{ steps.generate_token.outputs.token }}

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
if: |
2727
( github.event.workflow_run.conclusion == 'success' && github.ref == 'refs/heads/main' ) ||
2828
( github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main' )
29-
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.36.0'
29+
uses: 'flowfuse/github-actions-workflows/.github/workflows/publish_node_package.yml@v0.37.0'
3030
with:
3131
package_name: flowfuse
3232
build_package: true

.github/workflows/test-docs.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

ci/ci-values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ forge:
44
localPostgresql: true
55
broker:
66
enabled: true
7+
teamBroker:
8+
uiOnly: true
79
cloudProvider: aws
810
email:
911
ses:
-3.98 KB
Loading
111 KB
Loading
63.4 KB
Loading

docs/cloud/introduction.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,27 +188,33 @@ platform.
188188

189189
#### Enterprise Team Broker
190190

191-
Enterprise level teams come with their own MQTT broker. You can provision clients from the broker tab in the left hand menu.
191+
Both Team and Enterprise level teams come with their own MQTT broker. You can provision clients from the broker tab in the left hand menu.
192192

193-
Teams can register up to 20 clients as part of their plan. The ability to purchase additional packs of clients will come in a future release.
193+
Enterprise level Teams can register up to 20 and Teams level Teams can register up to 5 clients as part of their plan. The ability to purchase additional packs of clients will come in a near future release.
194194

195195
The broker is available on `broker.flowfuse.cloud` and supports the following connection types:
196196

197197
- MQTT on port `1883`
198198
- MQTT over TLS on port `8883`
199199
- MQTT over secure WebSockets on port `443`
200200

201-
When creating clients you can specify a username, but it will prepended to the the Team's id e.g. `alice` will become `alice@abcd1234`.
201+
When creating clients you can specify a username, but it will prepended to the the Team's id e.g. `alice` will become `alice@32E4NEO5pY`.
202202
Clients must also use the username as the MQTT Client ID in order to connect.
203203

204204
![Create Broker Client](./images/create-broker-client.png)
205205

206206
e.g.
207207

208208
```
209-
mosquitto_sub -u "alice@abcd1234" -i "alice@abcd1234" -P "password" -h broker.flowfuse.cloud -t "#"
209+
mosquitto_sub -u "alice@32E4NEO5pY" -i "alice@32E4NEO5pY" -P "password" -h broker.flowfuse.cloud -t "#"
210210
```
211211

212+
Or in Node-RED as follows
213+
214+
![Node-RED MQTT Client Connection](./images/node-red-mqtt-connection.png)
215+
216+
![Node-RED MQTT Client Security](./images/node-red-mqtt-security.png)
217+
212218
### IP Addresses
213219

214220
Outbound connections from FlowFuse will always come from the IP address `63.33.85.112`.

docs/contribute/local/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,3 +284,8 @@ If you are running as your normal user you can drop the `sudo -u flowfuse` and j
284284

285285
[^2]: Assumes you are running FlowFuse as a Linux service.
286286
[^3]: Assumes you are running FlowFuse as the `flowfuse` user as created by the installer
287+
288+
289+
## Uninstall
290+
291+
To uninstall, stop all the running processes and then delete the `/opt/flowfuse` or `c:\flowfuse\` directory.
Loading

docs/device-agent/introduction.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ meta:
1212

1313
# FlowFuse Device Agent
1414

15-
The FlowFuse platform can be used to manage Node-RED instances running on remote Devices.
16-
A Device runs a software agent that connects back to FlowFuse in order to receive updates.
15+
![FlowFuse Device Agent Workflow](./images/device-agent-workflow.png){data-zoomable}
16+
_Workflow to onboard new Edge Devices through the FlowFuse Platform and Device Agent_
17+
18+
The FlowFuse platform can be used to manage Node-RED instances running on remote hardware, e.g. devices on your factory floor.
19+
20+
By installing the FlowFuse Device Agent, you can securely connect your hardware to FlowFuse in order to manage and deploy Node-RED flows remotely.
1721

1822
In order to connect your device to FlowFuse, and to allow FlowFuse to manage it, you'll need to do the following steps:
1923

docs/device-agent/quickstart.md

Lines changed: 61 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,60 +8,102 @@ meta:
88
- flowfuse
99
---
1010

11-
# Developing Flows on Your Device
11+
# Quick Start Guide: Device Agent
1212

13-
## Add Device to FlowFuse
13+
This guide will walk you through the process of adding a device to FlowFuse, connecting it to the platform, and deploying your Node-RED flows remotely. FlowFuse's Device Agent helps unlock the power of your devices by allowing you to manage and deploy Node-RED flows running on those devices securely and remotely.
1414

15-
### Prerequisites
15+
![FlowFuse Device Agent Workflow](./images/device-agent-workflow.png){data-zoomable}
16+
_Workflow to onboard new Edge Devices through the FlowFuse Platform and Device Agent_
1617

17-
If you do not already have the device agent installed, follow the [install instructions](./install.md), otherwise, proceed to the next step.
18+
## Setup & Installation
1819

19-
_NOTE: It is good practice to keep your Device Agent up to date. Update instructions are also provided in the link above._
20+
### Step 1: Install Device Agent (On Device)
2021

21-
_NOTE: If you prefer to use the Device Agent WEB UI, follow the [Quick Start with Web UI](./quickstart-web-ui.md) guide._
22+
NodeJS version 18 is supported but version 20 or later is recommended. However, if necessary, device agent version 2.8 does support NodeJS versions 14 and 16.
23+
24+
For full install instructions, follow the [install instructions here](/docs/device-agent/install.md).
25+
26+
#### Linux/MacOS
27+
28+
```bash
29+
sudo npm install -g @flowfuse/device-agent
30+
```
31+
32+
#### Windows
33+
34+
Issue the below command in an elevated command prompt:
35+
36+
```bash
37+
npm install -g @flowfuse/device-agent
38+
```
39+
40+
### Step 2: Register Device (On FlowFuse)
2241

23-
### Step 1: Add a new Device
2442
1. Open your web browser and go to your FlowFuse application page.
2543
2. Navigate to the **Devices** section.
2644
3. Click **Add Device.**
2745
4. Fill in the **Device Name** & **Device Type** and select an **Application**
2846

29-
<img src="images/add_device.png" />
47+
![Screenshot of the dialog form to fill out when registering a Device](./images/add_device.png){data-zoomable}
48+
_Screenshot of the dialog form to fill out when registering a Device_
49+
3050
5. Click **Add**
3151
6. You will be presented with a **Device Configuration** that you will need in the next step. _(Do not close this window just yet.)_
3252

33-
<img src="images/config_yml2a.png"/>
53+
![Screenshot of the dialog shown to a suer when a Device is registered](./images/config_yml2a.png){data-zoomable}
54+
_Screenshot of the dialog shown to a suer when a Device is registered_
55+
56+
### Step 3: Connect the Device (On Device)
3457

35-
### Step 2: Connect the Device
36-
1. Open a Terminal/Command Prompt.
37-
2. Paste the command copied from the previous step and run it.
58+
1. Open a Terminal/Command Prompt on the Device.
59+
2. Paste the command presented when you registered your Device, and run it.
60+
61+
![Example output in a Terminal showing a device agent successfully connecting to the FlowFuse Platform](./images/device_cli.png){data-zoomable}
62+
_Example output in a Terminal showing a device agent successfully connecting to the FlowFuse Platform_
63+
64+
### Step 4: Start the Device Agent (On Device)
65+
66+
1. Start the Device Agent using the command instructed by the device agent output e.g:
3867

39-
<img src="images/device_cli.png" />
40-
3. Start the Device Agent using the command instructed by the device agent output e.g:
4168
```bash
4269
flowfuse-device-agent
4370
```
4471

4572
Your device is now connected to FlowFuse and ready to be used.
4673

74+
## Deploy Flows to Device
75+
76+
There are two approaches to deploying flows to your Devices.
77+
78+
- **Developer Mode**: This mode allows you to edit and deploy flows directly from the FlowFuse platform.
79+
- **DevOps Pipelines**: FlowFuse provides [DevOps Pipelines](/docs/user/devops-pipelines.md) as a way of pushing flows from one Instance/Device to another (or several in the case of [Device Groups](/docs/user/device-groups.md)). This is the recommended approach if you're pushing from development environments (e.g. test devices) out to production devices.
80+
81+
### Developer Mode
4782

48-
## Develop on Device
49-
### Enable Developer Mode
5083
1. Navigate to **Applications** and select the application your device was added to.
5184
2. Go to the **Devices** tab within the application.
5285
3. Locate your newly added device and **click** on your device.
5386
4. Then Click **Developer Mode** toggle button on upper right.
5487

55-
<img src="images/developer.png" />
88+
![The "Developer Mode" toggle button available on the Device screen](./images/developer.png){data-zoomable}
89+
_The "Developer Mode" toggle button available on the Device screen_
5690

5791
5. This will enable editor access for your device.
5892

59-
<img src="images/editorEnabled.png"/>
93+
![The "Device Editor" button available on the Device screen](./images/editorEnabled.png){data-zoomable}
94+
_The "Device Editor" button available on the Device screen_
6095

6196
6. Clicking **Device Editor** will launch the editor.
6297

63-
<img src="images/nr_editor.png" />
98+
![Screenshot of a Node-RED Editor for a Device](./images/nr_editor.png){data-zoomable}
99+
_Screenshot of a Node-RED Editor for a Device_
100+
101+
### DevOps Pipelines
102+
103+
![Screenshot showing the user interface for creating and running DevOps Pipelines in FlowFuse](../user/images/ui-devops-pipelines.png){width=750}{data-zoomable}
104+
_Screenshot showing the user interface for creating and running DevOps Pipelines in FlowFuse_
64105

106+
To work with Pipelines, you need at least one other Instance or Device to push _from_/_to_. You can follow hte instructions on setting up a Pipeline and deploying your flows between Instances/Devices [DevOps Pipelines](/docs/user/devops-pipelines.md).
65107

66108
## Next Steps
67109

0 commit comments

Comments
 (0)