Replace the Toolforge Elasticsearch cluster with an OpenSearch deployment with multi-tenancy enabled. This will improve the isolation of tenants within the service.
Original feature request:
Currently, it looks like anyone with Elasticsearch credentials can make write requests on any index. And unlike toolforge redis, it is possible to list all indices, so using secret index names don't work out either.
Possible solutions:
- Put elasticsearch behind an HTTP proxy
- Allow write requests only if index name begins with tool name (or if the index name is legacy - to allow for migration)
- OR disallow listing of index names (GET /_cat/ calls) so that secret index name prefixes could be used for access control