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
-
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