Flowforge device online or offline?

I would like to clarify a doubt with the Flow Forge team.

About 4 months ago I had the experience of using flowforge and applying a snapshot to a device. But I noticed that the flowforge agent doesn't work if the server doesn't have internet access.

In tests I performed today. It works without the internet.

I would like to know if something has changed since then or am I checking something wrong?

My application works in a place where I don't have internet access 90% of the time.

But when internet access is ok, I would like to be able to apply updates if necessary.

How does this work in flowforge agent concepts?

@knolleary @Steve-Mcl

I also have one more question: What would be the importance of caching these packages on the server in the application above?

As per instructions below:

@knolleary @Steve-Mcl

Originally the device agent would not start Node-RED until the agent had made an initial check-in with the platform to verify it was still running the right code.

In version 0.6.2 of the Device Agent we changed the agent so that it would start Node-RED with the last known configuration if that initial check-in fails.

You can read more of the details on the PR here (which also links to the issue raised by a user in the community with feedback on the original behaviour).

The module cache can be used where:

  1. you know ahead of time exactly what npm modules you will need on the device
  2. you are able to preinstall them on the device
  3. you don't want the device agent to try to install anything itself

This cache issue was not very clear.

These circumstances don't seem very different to me from the previous one where he starts node-red even if he doesn't have access to the internet.

I'm still a little unsure which real cases I would use the cache considering I'm using flow-forge.

Is it a module that has been discontinued? after changing the flow-forge operation?

The module cache feature was added to address a very specific use case where a customer's production environment allowed access to FlowForge, but not to the public npm repository. So for them, the devices are 'online', but are restricted in what they can access. The module cache allows them to pre-build docker images that include the device agent and all modules preinstalled. The device agent is then just responsible for updating the flows.

This is quite a specific use-case, so may not be of use to you.

The access to the public npm repository is only needed when a new Instance snapshot is deployed to the device. The only way a device knows there is a new snapshot is if it is currently online and connected to the platform - so if it has network access to connect to the platform, it will have network access to install from npm.

1 Like

Now yes, it makes perfect sense to use the cache.

Thanks for clarifying and once again congratulations you are a genius. I'm your big fan!! Congratulations on Node-Red and Flow-forge.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.