Add API for Advanced Search rake tasks

Proposal

Automating rake tasks on either a rails node or the Task Runner pod in a GitLab chart would be easier if an API was available for the following rake tasks:

A new API file should be created ee/lib/api with API endpoints implementing the tasks below. Each of the rake tasks below should be added in a separate MR.

  • gitlab-rake gitlab:elastic:delete_index
  • gitlab-rake gitlab:elastic:clear_index_status
  • gitlab-rake gitlab:elastic:create_empty_index
  • gitlab-rake gitlab:elastic:index_projects
  • gitlab-rake gitlab:elastic:index_projects_status

The rake tasks can be found in: ee/lib/tasks/gitlab/elastic.rake. Some of the rake tasks are also available in the Admin UI and you may review how they are implemented in the controller: ee/app/controllers/admin/elasticsearch_controller.rb

Edited by Terri Chu