Actually, another concern I'm thinking through tha...
# ask-metaflow
b
Actually, another concern I'm thinking through that is maybe more urgent It looks like the production token is viewable in the manifest.. Does this mean anybody can override anything if they can see the manifest ?
f
it's not really private in that sense – it's less about security and more of a guardrail just to make sure that people don't accidentally step on each others toes. So yes, if someone went and looked up an existing prod token, they could authorize themselves – but they also wouldn't need to go through that to begin with, if they just wanted to "force" a redeploy they can generate a new token all together per the docs, you can pass in
--generate-new-token
to ignore and recreate a new production token
if the goal is security, I think the most common way to do that today is to have completely separate stacks provisioned, and access can be locked down to the production stack
b
Hey! Thanks for getting back Can you elaborate on the separate stacks ideas? We do have a separate production cluster. But even if we lock that down, the token is viewable inside of the argo workflow template manifests, so it is pretty easily accessible
f
the other stack can have a separate metaflowconfig with different authentication and so on you could go all the way to have isolated VPCs with separate metadata databases, API, UI service – it really just depends how isolated you want to make things and how you want it to tie into your existing infra
I believe the Outerbounds hosted offering also many options around this sort of thing if you aren't trying to manage all that complexity yourself, so they'd be able to go into more depth
m
The production token is to stop fat fingering during deployments. We have a GitOps deployment process, so the production token was redundant for us. All deployments are reviewed through a normal Git PR review process. For this reason, we just set the token to the Git commit hash of the deployment.