I have an internal tools site hosting tools that people use to streamline their workflows. It's currently a Flask app with a blueprint for each tool (Ex. site.com/spreadsheets/, site.com/email-parser/ etc.) with varying access based on users permissions. Each tool is isolated and doesn't depend on each other for anything. Now the project has grown quite a bit, and there are a lot of tools all under one large monorepo and monolith. I want to outsource development of each tool, but I need them to work in their own separate repo. I am also not a fan of having all these unrelated tools under the same project folder. Can I simply move each blueprint into its own repo, centralize auth to some external service, and deploy the repos inside app platforms/containers? Can I still route to these using the above paths? The closest thing I can describe this project to is Office 365 or Google Workspace, and they use a subdomain for each service (Ex. docs.google.com, outlook.office.com, etc.) but this seems hard to maintain plus the DNS is public. If I move from 1 VPS/monolith to separate deployment for each app, would I need some kind of reverse proxy in front of all of them so they get the same public IP? Continue reading...