feat: add n8n as a second workflow runtime alongside Node-RED#41
Open
feat: add n8n as a second workflow runtime alongside Node-RED#41
Conversation
azam-ismail
reviewed
Apr 24, 2026
| }, timeoutMs); | ||
| }); | ||
|
|
||
| await Promise.race([n8nReadyPromise, timeout]); |
Collaborator
There was a problem hiding this comment.
need reset timer when n8nReadyPromise return before timeout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebased from #38 onto v1.7.0 (after #34 reorganized the project structure).
What this adds
A second workflow runtime that runs alongside Node-RED. Solutions whose chain-declared
executionEnvironmentisN8nV1are installed into n8n; every other solution continues to run on Node-RED exactly as before. Both runtimes share the same vote submission pipeline.See docs/runtime-n8n.md for architecture details.
Review feedback from #38
All addressed in this branch:
getHealth();health.tsis pure iteration acrossALL_RUNTIMESstartAllRuntimes/deleteAllFromAllRuntimeshelpers inregistry.tsSolutionIdentifierdiscriminated type used inroutes/vote.tsandroutes/worker-config.tsRUNTIME-N8N.mdmoved todocs/runtime-n8n.mdTested end-to-end on mainnet
DEV_LOCAL_FLOW_OVERRIDESConfiguration
Three new optional env vars (see
.env.default):N8N_INTERNAL_PORT(default 5678)DEV_RUNTIME_OVERRIDES(dev-only)DEV_LOCAL_FLOW_OVERRIDES(dev-only)When no solution uses
executionEnvironment: N8nV1, the n8n child process still starts but stays idle. No manual setup required.