Hey team, I'm trying to set up Metaflow services ...
# ask-metaflow
c
Hey team, I'm trying to set up Metaflow services on bare metal k8s, exposed via ingress. My usecase needs to support several instances of the Metaflow services for several teams, and I want the separate service instances to be available under a shared domain, e.g. metaflow.example.com. So, for example, team
X
would access the X instance UI with metaflow.example.com/X, and team
Y
would access the Y instance UI with metaflow.example.com/Y, and so on. For now I've been trying to do that with the UI service only, and I found some env vars that I tried to use (
PATH_PREFIX
,
MF_BASEURL
), but I think I'm confused about their purposes. Could you please provide me with some pointers on how to achieve this configuration and if it's even possible without modifying the codebase? Thanks
1
Some more context: I modified the UI Helm chart to append the new root path to every ingress resource rule - this of course works when the root path is "/", but breaks when it is anything else. From my observations the UI backend API responds correctly, but the frontend is misbehaving.
a
More typical setup is to use multiple (sub)domain names, ingresses and use ExternalDNS to manage DNS for them, so I'm afraid you're off the beaten path there. I'd try to set up Metadata Service (not ui or ui backend) first and see if that works. As for UI I think you're on the right path, you'd need PATH_PREFIX and then use METAFLOW_SERVICE on the UI container to point it to the right UI backend.
c
I see - I went with the multiple subdomain route, thanks for the help. I'd love to see the feature for customizing the root path for all the services implemented, it would make this config much cleaner IMO (without having to set up new subdomains for every new project). Nevertheless, it works like you suggested, cheers