feat: Add gitlab-zoekt chart
As part of our effort to improve code search in GitLab we will be graually rolling out Zoekt as a search engine to replace Elasticsearch.
Our initial efforts will focus on a small internal rollout and as part
of that we expect to develop more maturity in our infrastructure as we
expand internally and before reaching customers. Primarily the early
rollout will not include
replication or sophisticated sharding
but we'll need these soon enough so we want to ensure what we build can
scale like that eventually. For now we just need 1 Kubernetes pod with
enough storage, memory and CPU to clone and index all of gitlab-org
.
In our infrastructure we will run it as 2 separate Go binaries:
-
zoekt-webserver
: which is a HTTP API responsible for serving search results from user queries -
zoekt-dynamic-indexserver
: which is a binary we built for our own indexing needs. There are many different ways in Zoekt to generate index files but all existing options involved polling from GitLab or somewhere else for the list of repos to index. We wanted to control the rollout from GitLab so we built an HTTP API that accepts requests to index specific repos. We pass the repo URL and Zoekt clones the repo and indexes it.
Read more at: