I’m exploring n8n and trying to understand if this can fit my needs. Since this project appears to be amazing but huge, I’d love and appriciate hearing you feedback.
n8n will be deployed on kubernetes, using postgres as persistence layer. The deployment must be high available and fault tolerant, I suppose this can be easily achieved since I’ve seen that there’s a great community helm chart.
Here it comes the tricky part, I’ll try to be as clear as I can.
My goal is to be able to define a workflow like the following:
- start the workflow based on time (cron-like) OR based on event, if the event could be received through kafka it would be the best, but it could also be an http/grpc trigger.
- n8n-nodes-base.kafkaTrigger to start with and event?
- n8n-nodes-base.cron time-based start?
- n8n-nodes-base.webhook http call-based start?
- make an http/grpc call (at the moment, but could also be a message sent over kafka)
- n8n-nodes-base.httpRequest for http request, what about grpc? Do I need a custom node?
- n8n-nodes-base.kafka to send a message over kafka?
- wait for feedback/command execution result: this could be a matter of minutes, hours or even days. The “feedback” should be received through a kafka message, but in case this wouldn’t be possible, can be replaced with ad http/grpc call. That’s the part I really don’t know how to do, expecially if it can be done.
- proceed making a new http/grpc call or producing a kafka message
- wait again for the reusult
- an so on…
- each “wait action” must have a known timeout
- if something fails, the workflow must be stopped and the error reported via http/grpc/kafka
- each worflow must be created/deleted/managed programmatically (does n8n expose some APIs? I’ve only seen the CLI)
And last but not least: where is the how-to-use documentation of each node?
Thank you very much