Deploying NodeRED project support

I’m wondering how to put the project feature to good use in a cloud environment (currently on Heroku). I can securely deploy ssh keys, so I wouldn’t need to use ssh-keygen.

What I’d love to do:

  • Use a sshkey I provided
  • Tell the runtime (e.g. headless deployed) what Project to checkout at startup. Eventually use a git deploy key to retrieve
  • Have an admin command to tell a runtime to load a different project (that would make an interesting CI: on deploy to the ‘master’ branch send a command to all instances to load that one

Has this been given some thought? Areas I could help?

Hi,

yes, this is something we’ve been thinking about. There are some notes on the wiki about it: https://github.com/node-red/node-red/wiki/Design%3A-Runnable-Project

I’ve also recently write a post on how to setup a CI pipeline between Node-RED running locally and Node-RED running on the IBM Cloud - https://medium.com/@knolleary/creating-a-node-red-deployment-pipeline-to-ibm-cloud-9a8e9d5113de

Nick

EDIT: I saw jun 18, and I thought this post was June 18th :slight_smile:

Hi,
I ran to that same question today so let me mention couple of things:

I have NR deployed with a CI on AWS. Flows and file were stored on S3. That was before I activated project, so far so good.

When I activated the project feature, I had to remove the S3 storage option in settings.js, otherwise the GUI would not load.

But when removed, obviously any local settings like the project remotes, or ssh keys, are lost the moment I change instance on AWS.

Wouldn't combining S3 storage (for configs not just for flows) and projects (for flows on remote git rep) be a good start?