Admin UI for Zoekt
Problem to solve
As of now we only have an API for enabling indexing for a namespace. This was added in !116650 (merged) . When we start encouraging self-managed users to enable these features they may prefer a UI for doing this. We can wait until we get some feedback from users or design/PM about whether the existing API will be good enough for now, since longer term it may just be all automated and you won't need to roll it out per namespace.
https://docs.gitlab.com/ee/development/application_settings.html#add-a-new-application-setting
Proposal
Setting will live in a new setting section Settings - Exact Code Search
Add three boolean settings, all three will be toggles
- Indexing enabled
- Indexing pause/unpause
- Search enabled
- Automatically index all namespaces(We don't have this task yet. We can skip this in this issue)
The first setting is going to signal scheduling worker to create Search::Zoekt::EnabledNamespace
records automatically.
The feature flags will need to be converted into application settings using a new jsonb field in application settings for zoekt_settings.
Stretch goal
Add some counters (what counters?) to the page