Hello team! In my company we are using metaflow o...
# ask-metaflow
r
Hello team! In my company we are using metaflow on a day to day basis (aws step functions) and now we need to handle multi tenant environments: • Usually I deploy our flows via github actions to test them and then promote them in different environments -> Now I'm gonna need to deploy on different envs/tenants • We are trying to delegate all the ECS tasks or other aws resources to our CDK stacks to handle the deploy/promotion via codepipeline -> But I really don't want to delegate the deployment of our metaflow flows (step functions) to that stack as I would need basically re-invent the wheel of the Metaflow CLI. Does someone encounters this situation and found a simple way to handle it? I guess I could definitely use the github actions to get the list of the tenants and make the deployment generic (showing a promotion for different envs/tenants etc) but was wondering how people are handling this situation in general.
v
for additional context, are you going to have multiple independent Metaflow stacks too (independent SFNs, metadata service etc)?
r
Yes, everything isolated. And the goal would be to have the option of deploying different versions of the flows for different tenants (which is easily done thanks to your branch tags feature via the cli).
a
Just to clarify, I guess one (naive) option would be to continue using github actions but deploy to multple envs? Whats the biggest obstacle with that? switching between AWS creds?
r
its just in our AWS ecosystem, it would make sense to handle the versions (here tags/branches of the flows) at the stack level: • Github actions would be responsible to push the different images in S3 or ECR with differnet tags • CDK + Codepipeline would be responsible to assign those tags/versions to the different envs/tenants in order to centralize the versioning management at that level So was wondering if someone got the same situation when using codepipeline + metaflow