Multi-tenancy with Argo Workflows & Argo Events #3479
Unanswered
smashingraph
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello!
I'm seeking advice on designing a multi-tenant architecture using Argo Workflows and Argo Events with a JetStream-based EventBus. My primary goals are strong tenant isolation (preventing access to unintended messages) and minimizing resource consumption.
I can think of several scenarios, but none seems perfect.
Based on following architecture assumption:
1st Scenario
Having a single argo-events EventBus running in argo-events namespace
Every tenant create EventSources and Sensors in argo-events namespace
2nd Scenario
Each tenant is running and managing its own EventBus
And they can create EventSources and Sensors in their dedicated tenant namespace.
3rd Scenario
Deploy a shared jetstream bus with helm chart from https://github.com/nats-io/k8s/tree/main/helm/charts (not using EventBus CRD), in a dedicated namespace, and configure accounts per tenants (based on https://docs.nats.io/running-a-nats-service/configuration#authentication-and-authorization)
Configure in each tenant namespace an EventBus with spec.jetstreamExotic configuration and proper credentials for an account.
Pros
Cons
3rd Scenario Bis
Instead of deploying Jetstream with helm chart from https://github.com/nats-io/k8s/tree/main/helm/charts, configure EventBus with a specific configuration for multi-accounts, would this work ?
Thanks in advance if you have some input to share on how you may have implemented this, and I think It would be incredibly valuable to have some recommendations in the ArgoEvents documentation about this subject.
Best Regards,
Beta Was this translation helpful? Give feedback.
All reactions