Avoid 1 process having to deal with multiple versions of things if possible.
Only allow write for the latest api endpoint (so just /api and /api/vLATEST). Forces dependencies to either be maintained or dropped, keeps db tidy
Tag releases with MM.mm versions
Each MM version gets a running uvicorn process in prod, for MM more recent than some 'oldest supported version'
Nginx proxies to correct upstream based on /vMM in path, /api goes to latest
Avoid 1 process having to deal with multiple versions of things if possible. Only allow write for the latest api endpoint (so just /api and /api/vLATEST). Forces dependencies to either be maintained or dropped, keeps db tidy
Tag releases with MM.mm versions Each MM version gets a running uvicorn process in prod, for MM more recent than some 'oldest supported version' Nginx proxies to correct upstream based on /vMM in path, /api goes to latest