FlowFuse / FlowFuse/flowfuse

Install nodes that require significant memory

Open
#626 4 comments 0 reactions 0 assignees View on GitHub
epic scope:node-red
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 21h
Merged PRs (30d)
146

Description

Some nodes in the Node-RED ecosystem have a larger install-time memory requirement than others. This can lead to installs failing when running in a Stack with a limited memory footprint.

For example, the 256 memory limit we have in FFCloud is fine for most cases, but will fail for a module like `node-red-contrib-graphql-server`.

This issue is to track how we can improve the user experience around this scenario

- Node-RED
- When running `npm`, node-red doesn't capture the full log output. That can make it hard to know why an install failed. Capturing the full log could produce a *lot* of noise. It would be interesting to see if the exit code of a killed process is distinct enough for Node-RED to detect and log appropriately

- FlowForge
- Memory is defined by the Project Stack. In a k8s environment, that doesn't give an admin any discretion to increase an individual project's memory allocation on an ad hoc basis.
- One solution would be to define a second stack with more memory allocated.
- If that was made generally available, we would want to consider attaching an additional cost to the stack to reflect the larger resource usage. This would require #380.
- An alternative would be to create the stack but mark it 'inactive' - this means it doesn't show up for users. We could then allow an admin to modify the project to use that stack (overriding the checks we have about applying an inactive stack). The user wouldn't be able to modify the stack (because they cannot select inactive stacks) - which would make upgrading their project something admins would have to do for them... the maintenance cost of that is not practical.
```[tasklist]
### Tasks
- [ ] https://github.com/FlowFuse/flowfuse/issues/3630
- [ ] https://github.com/FlowFuse/flowfuse/issues/3631
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.