Seeking Node-RED expert for developing a remote update procedure

Hi There!

I have some Node-RED experience myself (3yrs?), but I usually use it as a rapid prototyping tool. For that I love it. However, at scale it's become a headache for me, since I lack a really deep understanding of the runtime and configuration. At the moment, I have a need to be able to reliably sync the development and staging environment with the production environment via a robust remote update procedure that the end user can initiate.

Some more information:
I have a working node-red project deployed at 40+ remote locations for an enterprise application. It is chugging along pretty happily, but I lack a robust, remote-update procedure. I am currently just updating the flows.json file from a git repository, but this doesn't handle some additional requirements for a truly enterprise-grade update workflow:

  • End-user initiated updates (right now it's just me manually updating the host machine when needed). This could be a local utility that the end user uses to trigger the update over ssh or HTTP, or something on the existing node-red UI that is part of this project.
  • Bulletproof, complete update, including dependencies, node version, with automated roll-back for the unforeseeable.

The goal is to give the end-user some kind of mechanism to sync the production application to the current stable version of the flow with high reliability and resilience.

I would be happy to connect with any folks who can take on developing the update procedure. We can discuss requirements and details to get a sense of next steps as needed. Thought I would feel out the waters on the forum first.

Thanks!

Hi, there is a project called FlowFuse that was developed for this very purpose (and more). It has a concept named "Devices" which provides a means of remote instance management (from individual deployments to device group deployments and pipeline deployments).

On top of that, it has a concept of snapshots which are a essentially point in time captures of flows, installed nodes & env vars) that can be deployed (and rolled back) to your remote instances.

You can read more here: https://flowfuse.com/

I will ask @zackwasli to get in touch and he can let you know how it could work for you and even arrange a demo of controlling 40 remote devices if required.

Full disclosure, I work for FlowFuse.

Thanks @Steve-Mcl

Hi @raspberrydev12 - would be happy to discuss further and see if FlowFuse can help here. This is a link to my calendar: https://meetings-eu1.hubspot.com/flowfuse/sales

A lot depends on what node-red is running on. Raspberry Pi, virtual machine, pc, etc. since you may be required to update the whole machine. If it were a Raspberry Pi or virtual machine it might be easier to just provide an image or sd card of the entire system.

To handle the worst case scenario my first thought would be to run Ansible playbooks locally and trigger all of this by mqtt messages.