Zoekt chart
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed
- Status: Beta
The Zoekt chart provides support for
exact code search.
You can install the chart by setting gitlab-zoekt.install
to true
.
For more information, see gitlab-zoekt
.
Enable the Zoekt chart
To enable the Zoekt chart, set the following values:
--set gitlab-zoekt.install=true \
--set gitlab-zoekt.replicas=2 \ # Number of Zoekt pods. If you want to use only one pod, you can skip this setting.
--set gitlab-zoekt.indexStorage=128Gi # Disk size for the Zoekt node. Zoekt requires up to three times the repository's default branch's storage size, depending on the number of large and binary files.
Set CPU and memory usage
You can define requests and limits for the Zoekt chart by modifying the following GitLab.com default settings:
webserver:
resources:
requests:
cpu: 4
memory: 32Gi
limits:
cpu: 16
memory: 128Gi
indexer:
resources:
requests:
cpu: 4
memory: 6Gi
limits:
cpu: 16
memory: 12Gi
gateway:
resources:
requests:
cpu: 2
memory: 512Mi
limits:
cpu: 4
memory: 1Gi
Configure Zoekt in GitLab
To configure Zoekt for a top-level group in GitLab:
Connect to the Rails console of the toolbox pod:
kubectl exec <toolbox pod name> -it -c toolbox -- gitlab-rails console -e production
Set up indexing:
node = ::Search::Zoekt::Node.online.last namespace = Namespace.find_by_full_path('<top-level-group-to-index>') enabled_namespace = Search::Zoekt::EnabledNamespace.find_or_create_by(namespace: namespace) replica = enabled_namespace.replicas.find_or_create_by(namespace_id: enabled_namespace.root_namespace_id) node.indices.create!(zoekt_enabled_namespace_id: enabled_namespace.id, namespace_id: namespace.id, zoekt_replica_id: replica.id)
node = ::Search::Zoekt::Node.online.last namespace = Namespace.find_by_full_path('<top-level-group-to-index>') enabled_namespace = Search::Zoekt::EnabledNamespace.find_or_create_by(namespace: namespace) replica = enabled_namespace.replicas.find_or_create_by(namespace_id: enabled_namespace.root_namespace_id) replica.ready! node.indices.create!(zoekt_enabled_namespace_id: enabled_namespace.id, namespace_id: namespace.id, zoekt_replica_id: replica.id, state: :ready)
Zoekt can now index projects in that group after any project is updated or created. For the initial indexing, wait at least a few minutes for Zoekt to start indexing the namespace.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support