As a developer of a supporting application to mediawiki I need to be able to make read-only api calls against private wikis.
The CirrusSearch streaming updater, due to replace the existing job-based search updater, needs to perform a specific api call to collect the information that needs to be indexed into the search engine. For the majority of wikis, such as mediawiki.org, we could query the public api. But that would fail on the private wikis.
As an additional constraint our current expectation is that these api calls will terminate into the job runner cluster, as these api calls are going to replace jobs that exist today and this will keep the load in the same place. Future work with mediawiki-on-k8s may see the exact cluster we submit to changed in the future. This is strictly due to scaling concerns, the existing updater runs hundreds of jobs per second, scaling down the job runners and up a different cluster is currently a bit complicated, but will hopefully be doable more easily with k8s soon.
Some options:
- Some sort of global bot account that has read access everywhere?
- A new endpoint in mediawiki-config, perhaps /rpc/read-api.php, that is only exposed internally and allows any read only api call.