GOAL: Document a deployment plan for the maps internationalization feature that we can confidently execute without causing any downtime and that supports rollback if anything goes wrong.
Proposed plan:
- 1. Introduce 'kartotherian_storage_id' and 'tilerator_storage_id' hiera variables with the current value of 'storage_id' (v3) and use them for their respective services.
- 2. Deploy tilerator@i18n (it is using keyspace v4)
- 3. Regenerate all tiles. In the meantime, kartotherian is serving tiles from keyspace vN, they may be getting a bit stale but that's ok
- 4. Deploy kartotherian with i18n code with existing sources serving tiles from keyspace vN+1 WITHOUT Babel and new sources serving from vN+1 WITH Babel
- To do official release on a wiki, set $wgKartographerUsePageLanguage = true and purge pages in Category:Pages_with_maps
- Eventually drop keyspace vN to save space
Alternate ending (after: Deploy kartotherian@i18n):
- Set kartotherian_storage_id to vN (v3) to serve tiles from old keyspace
- Set tilerator_storage_id to vN (v3), rewind and restart osm updates
All questions/comment/simplifications/warnings/etc are welcome.