v0.157.0 — Nonprod on Google Cloud
The second milestone of the Google Cloud program (M2). One thing changes on production: large uploads (below). Everything else is the test environments: next and alpha now run on Google Cloud, deployed and applied from CI, and alpha moved there with its real data on 2026-11-11. The program's documents are in docs/programs/gcp/; this milestone's tasks, decisions and test script are in docs/programs/gcp/m2-nonprod-on-gcp.md.
On every deployment
- [x] Large files go straight to storage. A file over 30 MiB (a big image or texture, a map import, a
.catarchive, a library import, a generated map's data) is sent by the browser directly to the bucket on a short-lived signed address, then picked up by the same upload, with every check and limit it had before. Smaller files are sent exactly as before. It's what makes large uploads work on Google Cloud, whose server refuses any request over 32 MiB, and it works the same on AWS. - [x] A texture that fails to load no longer takes down the map. The map draws, with a plain fallback where that texture was.
- [x] The
scenesmodule (0.1.2) loads its server part in the image, with its campaign routes refusing until they get a real access check.
On Google Cloud
- [x] next and alpha run on Google Cloud: Cloud Run behind a load balancer each, Postgres on Cloud SQL (alpha on 17, like AWS's), images in a private bucket behind Cloud CDN. The app's hashed bundles are cached at the edge.
- [x] CI deploys and applies. A push to
program/gcpor a version branch deploys next; an infrastructure change applies when the owner merges it, and refuses to delete anything unless asked to. Nothing on larissa holds cloud credentials. - [x] Alpha moved, with its data, on 2026-11-11: about 4 minutes down. Its certificates were issued before its DNS moved (Certificate Manager, proven by DNS), so there was no certificate gap; the same method serves prod's move in M3.
- [x] Uptime alerts email the owners when an environment stops answering (on next for now, to prove it; on prod from M3).
- [x] The old Google Cloud project from an earlier attempt is closed.
Still to come
- Bug reports on Google Cloud (C10) wait for Issues B2 to reach main; until then Google Cloud's environments log them. Moved to M3.
- AWS's nonprod stops a week after this release (C7), and its last pieces are removed in M4. Until then, AWS's nonprod Terraform must not be applied: it still owns alpha's DNS records.