At the moment, we have several locations where we store Kartotherian and Tilerator configurations, and it might get a bit confusing. This task is to possibly try to clean it up somehow, and decide on a better strategy.
- Kartotherian config.yaml (puppet)
- Kartotherian <code-dir>/sources.prod.yaml (code)
- Tilerator config.yaml (puppet)
- Tilerator <code-dir>/sources.prod.yaml (code)
- Script to update OSM DB and notify Tilerator of the new expired tiles (puppet)
All 5 share the ID of the storage source (currently its v3 for maps, and v5 for maps-test).
We need to be able to have more sources in Tilerator than in Kartotherian to allow various experiments and to prepare the new sources before making them public.
Proposal
Our code can load sources from a list of files. If more than one file has a source with the same name, the latest one will be used.
- a file with "production" sources - loaded by both Kartotherian & Tilerator
- a file with tile-generation sources - sources that help in creating tiles - loaded by Tilerator only
- a file with experimental sources - anything that is not used for production at the moment - could be both generating, filtering, and storing sources. When the source is ready, it should be moved to one of the above)
To implement this, we need to establish a common location for the source files, and a way to set needed paths in each configuration file.