You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/device-agent/register.md
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -147,7 +147,6 @@ flowfuse-device-agent
147
147
You will see the Device Agent start and perform a 'call-home' where it connects back
148
148
to the platform to check what it should be running.
149
149
150
-
151
150
#### Additional Information
152
151
153
152
If you copy or download a **Device Provisioning Configuration** file to your hardware,
@@ -164,12 +163,12 @@ you've followed [Single Device Registration](#single-remote-instance-registratio
164
163
[Bulk Registration](#bulk-registration) to register your device, it will
165
164
automatically be assigned to an Application or Instance.
166
165
167
-
### Applications (Recommended)
168
-
169
-
#### Assign to Application
166
+
### Applications
170
167
171
168
This step will permit you to push Snapshots to your Remote Instance via [DevOps Pipelines](/docs/user/devops-pipelines.md), or via a [Target Snapshot](/docs/user/snapshots/#application-owned-devices) from the Application.
172
169
170
+
#### Assign to Application
171
+
173
172
1. Go to your teams's **Remote Instances** page.
174
173
2. Open the dropdown menu to the right of the Remote Instance you want to assign and
175
174
select the **Add to Application** option.
@@ -206,14 +205,17 @@ NOTE: If you wish to keep the flows currently running on the Remote Instance, it
206
205
207
206
### Hosted Instances
208
207
209
-
This method permits you to set a [Target Snapshot](/docs/user/snapshots/#instance-owned-devices) from the Hosted Instance to the Remote Instance. Note though, you can only push nodes and flows that are supported by _both_ Hosted and Remote Instances. The best use case for Remote Instances are generally to be assigned by an Application instead.
208
+
This method establishes a deployment relationship where a Hosted Instance becomes the source for snapshot deployments to your Remote Instance(s).
209
+
210
+
**Important:** This is a legacy feature; [assigning to Applications](./register.md#applications) is the recommended approach as it provides better fleet management and DevOps Pipeline capabilities. For guidance, see [when to use each approach](/docs/user/concepts.md#when-to-use-instance-assignment-vs-devops-pipelines).
210
211
211
212
#### Assign to Hosted Instance
212
213
213
-
1. Go to your teams's **Remote Instances** page.
214
-
2. Open the dropdown menu to the right of the Remote Instance you want to assign and
215
-
select the **Add to Hosted Instance** option.
216
-
3. Select the instance in the dialog and click **Add** to continue.
214
+
1. Go to your team's **Remote Instances** page.
215
+
2. Open the dropdown menu to the right of the Remote Instance you want to assign and select the **Add to Instance** option.
216
+
3. Select the Hosted Instance in the dialog and click **Add** to continue.
217
+
218
+
**Note:** There are constraints on which instances can be assigned to each other. For detailed information, refer to [Assignment Rules and Constraints](/docs/user/concepts.md#assignment-rules).
If the Remote Instance is behind a HTTP proxy, the agent can be configured to use the proxy by setting the `http_proxy`, `https_proxy` or `all_proxy` environment variables.
@@ -146,4 +153,4 @@ OS and Architecture as your target device, and then copy the modules on to your
146
153
2. Place this file in an empty directory on your local device.
147
154
3. Run `npm install` to install the modules. This will create a `node_modules` directory.
148
155
4. On your target Remote Instance, create a directory called `module_cache` inside the Device Agent Configuration directory.
149
-
5. Copy the `node_modules` directory from your local instance to the target instance so that it is under the `module_cache` directory.
156
+
5. Copy the `node_modules` directory from your local instance to the target instance so that it is under the `module_cache` directory.
Copy file name to clipboardExpand all lines: docs/user/concepts.md
+37-4Lines changed: 37 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ navOrder: 2
5
5
6
6
# FlowFuse Concepts
7
7
8
-
FlowFuse makes it easy to create, manage, and scale Node-RED instances. The platform introduces a few core concepts to help you organize and work with it effectively. Throughout the platform, you’ll also see ⓘ icons that you can click on to get pop-up explanations for different features and terms.
8
+
FlowFuse makes it easy to create, manage, and scale Node-RED instances. The platform introduces a few core concepts to help you organize and work with it effectively. Throughout the platform, you'll also see ⓘ icons that you can click on to get pop-up explanations for different features and terms.
9
9
10
10
## Table of Contents
11
11
@@ -25,7 +25,11 @@ FlowFuse makes it easy to create, manage, and scale Node-RED instances. The plat
-[Assigning Remote Instances to Hosted Instances](#assigning-remote-instances-to-hosted-instances)
30
+
-[How It Works](#how-it-works)
31
+
-[Assignment Rules](#assignment-rules)
32
+
-[When to Use Instance Assignment vs DevOps Pipelines](#when-to-use-instance-assignment-vs-devops-pipelines)
29
33
-[Device](#device)
30
34
-[Device Agent](#device-agent)
31
35
-[Fleet Mode vs Developer Mode](#fleet-mode-vs-developer-mode)
@@ -50,7 +54,7 @@ To organize your Node-RED instances, they are grouped within Applications. With
50
54
51
55
Applications provide logical organization of related instances, support for DevOps pipeline workflows, simplified device group management, application-level audit logging, and clear organizational boundaries for managing multiple instances and devices.
52
56
53
-
With FlowFuse’s Granular RBAC, Applications can now also act as an authorization boundary. This means user roles and permissions can be managed at the application level, providing finer control over access to instances, snapshots, and devices within a given application.
57
+
With FlowFuse's Granular RBAC, Applications can now also act as an authorization boundary. This means user roles and permissions can be managed at the application level, providing finer control over access to instances, snapshots, and devices within a given application.
54
58
55
59
### DevOps Pipeline
56
60
@@ -125,6 +129,35 @@ A user can create an hosted instance snapshot and then mark it as the *target* s
125
129
126
130
Similar to instance snapshots, a device snapshot is a point-in-time backup of a Node-RED instance running on a remote device. It captures the flows, credentials, and runtime settings. The difference is that local changes made on a device during developer mode are pulled into the FlowFuse platform and stored as a snapshot. The dashboard also allows you to see and manage these snapshots. With devices assigned to an application, a user can create a device snapshot from the remote device.
127
131
132
+
### Assigning Remote Instances to Hosted Instances
133
+
134
+
**Note:** This is a legacy feature that predates DevOps Pipelines. For new deployments, consider using [DevOps Pipelines](#devops-pipeline) instead, which provide more flexible and powerful deployment workflows.
135
+
136
+
Instance assignment establishes a parent-child deployment relationship between a hosted instance and remote instances. When assigned, the hosted instance becomes the source of truth and automatically pushes snapshots to the remote instance. You can only push nodes and flows that are supported by both Hosted and Remote Instances. For more information on how this works, see [How Instance Assignment Works](/docs/user/concepts.md#how-it-works).
137
+
138
+
#### How It Works
139
+
140
+
Instance assignment creates a parent-child deployment relationship with the following behavior:
141
+
142
+
-**Hosted Instance (Parent)**: Acts as the deployment controller and source of truth for snapshots
143
+
-**Remote Instance (Child)**: Receives and applies snapshot updates from the parent
144
+
-**Deployment Flow**: When you set a [Target Snapshot](/docs/user/snapshots/#instance-owned-devices) on the hosted instance, all assigned remote instances automatically restart on that snapshot
145
+
-**One-Way Relationship**: Changes flow exclusively from the hosted instance to remote instances, ensuring consistent deployments across your fleet
146
+
147
+
#### Assignment Rules
148
+
149
+
FlowFuse enforces specific constraints on instance assignment:
150
+
151
+
- Remote instances can be assigned to hosted instances
152
+
- Remote instances cannot be assigned to other remote instances
153
+
- Hosted instances cannot be assigned to any other instances
154
+
155
+
#### When to Use Instance Assignment vs DevOps Pipelines
156
+
157
+
Instance assignment suits straightforward scenarios where you need to push snapshots from a single hosted instance directly to one or more remote instances. It works well for maintaining existing deployments or when you simply need one hosted instance deploying to multiple remote instances without staging environments.
158
+
159
+
DevOps Pipelines are recommended for most deployment workflows. They support staged environments for testing changes in development before promoting to production, enable deployment to device groups for easier fleet management, and offer more flexibility aligned with modern development practices. If you're setting up a new deployment process, use DevOps Pipelines.
160
+
128
161
## Device
129
162
130
163
The FlowFuse platform can be used to manage Node-RED applications running on remote devices. A Device is essentially a **Remote Instance** that runs a software agent to connect back to the platform and receive updates.
@@ -155,4 +188,4 @@ Device groups allow you to organize your devices into logical groups. These grou
155
188
156
189
Device groups provide logical organization of devices by location, function, environment, or other criteria. They enable simplified mass deployments through DevOps pipelines, allow you to target specific device groups for staged rollouts, and let you manage subsets of devices independently.
157
190
158
-
Read more [about Device Groups](./device-groups.md).
191
+
Read more [about Device Groups](./device-groups.md).
<spanclass="block leading-none">This feature is currently in <ahref="https://flowfuse.com/handbook/development/releases/#beta-release">the beta state</a></span>
8
+
<spanclass="block leading-none">This feature is currently in <ahref="https://flowfuse.com/handbook/engineering/releases/#beta-release">the beta state</a></span>
9
9
</div>
10
10
11
11
From FlowFuse v2.20.0 Teams (Enterprise teams only) can create a relational database to use to store data.
0 commit comments