Releases: techquestsdev/code-search
v1.0.0
Helm Chart: code-search-website v1.0.0
Installation
helm install code-search-website oci://ghcr.io/techquestsdev/charts/code-search-website --version 1.0.0Upgrade
helm upgrade code-search-website oci://ghcr.io/techquestsdev/charts/code-search-website --version 1.0.0Note: The GHCR packages page incorrectly shows
docker pull— this is a Helm chart, not a Docker image. Usehelm installorhelm pullas shown above.
Code Search Website Helm Chart
A Helm chart for deploying the Code Search documentation website to Kubernetes.
Prerequisites
- Kubernetes 1.24+
- Helm 3.0+
Installation
helm install code-search-website oci://ghcr.io/techquestsdev/charts/code-search-website --version <version>With Ingress
helm install code-search-website oci://ghcr.io/techquestsdev/charts/code-search-website --version <version> \
--set ingress.enabled=true \
--set ingress.host=docs.example.comConfiguration
| Parameter | Description | Default |
|---|---|---|
replicaCount |
Number of replicas | 1 |
image.repository |
Image repository | ghcr.io/techquestsdev/code-search-website |
image.tag |
Image tag (defaults to appVersion) | "" |
service.type |
Service type | ClusterIP |
service.port |
Service port | 4321 |
ingress.enabled |
Enable ingress | false |
ingress.host |
Ingress hostname | code-search-website.example.com |
env |
Additional environment variables | {} |
See values.yaml for all available options.
Uninstalling
helm uninstall code-search-websiteHelm Chart: code-search v1.0.0
Installation
helm install code-search oci://ghcr.io/techquestsdev/charts/code-search --version 1.0.0Upgrade
helm upgrade code-search oci://ghcr.io/techquestsdev/charts/code-search --version 1.0.0Note: The GHCR packages page incorrectly shows
docker pull— this is a Helm chart, not a Docker image. Usehelm installorhelm pullas shown above.
Code Search Helm Chart
A Helm chart for deploying Code Search to Kubernetes.
Prerequisites
- Kubernetes 1.24+
- Helm 3.0+
- PV provisioner (for persistence)
- External PostgreSQL and Redis (connection details provided via secrets)
Installation
From OCI Registry
# Create secrets for database and Redis
kubectl create secret generic code-search-postgres-url \
--from-literal=url='postgres://user:pass@postgres:5432/codesearch?sslmode=disable'
kubectl create secret generic code-search-redis-password \
--from-literal=password='redis-password'
# Install from OCI registry
helm install code-search oci://ghcr.io/techquestsdev/charts/code-search --version <version>With Ingress
helm install code-search oci://ghcr.io/techquestsdev/charts/code-search --version <version> \
--set ingress.enabled=true \
--set ingress.host=code-search.example.comConfiguration
Key Values
| Parameter | Description | Default |
|---|---|---|
api.replicaCount |
Number of API replicas | 1 |
web.replicaCount |
Number of web replicas | 1 |
indexer.replicaCount |
Number of indexer workers | 1 |
ingress.enabled |
Enable ingress | false |
ingress.host |
Ingress hostname | code-search.example.com |
sharding.enabled |
Enable hash-based sharding | false |
sharding.replicas |
Number of indexer+zoekt shard pairs | 3 |
Database and Redis
PostgreSQL and Redis are configured via existing Kubernetes secrets:
| Parameter | Description | Default |
|---|---|---|
postgresql.host |
PostgreSQL host | code-search-postgres |
postgresql.port |
PostgreSQL port | 5432 |
postgresql.existingSecret |
Secret containing database URL | code-search-postgres-url |
postgresql.existingSecretKey |
Key in the secret | url |
redis.host |
Redis host | code-search-redis |
redis.port |
Redis port | 6379 |
redis.existingSecret |
Secret containing Redis password | code-search-redis-password |
redis.existingSecretKey |
Key in the secret | password |
Persistence
| Parameter | Description | Default |
|---|---|---|
indexer.persistence.enabled |
Enable persistence for repos and index | true |
indexer.persistence.size |
Storage size | 50Gi |
indexer.persistence.accessMode |
PVC access mode | ReadWriteOnce |
Zoekt runs as a sidecar in the indexer pod and shares its volume — no separate persistence config needed.
Code Hosts
Configure code host tokens via secrets:
codehosts:
github:
existingSecret: github-token
existingSecretKey: token
envVar: CS_GITHUB_TOKENApplication Config
Provide a config.yaml via ConfigMap:
config:
existingConfigMap: my-config # Use existing ConfigMap
# Or inline:
inline: |
codehosts:
github:
type: github
token: "$CS_GITHUB_TOKEN"Resources
See values.yaml for default resource requests/limits.
Sharding
For large deployments (1000+ repositories), enable hash-based sharding:
sharding:
enabled: true
replicas: 3 # Creates indexer-0, indexer-1, indexer-2 (each with zoekt sidecar)
federatedAccess:
enabled: true # Enable file browsing and replace via proxyEach shard handles a subset of repositories using consistent hashing.
For simpler parallelism without sharding, increase indexer.replicaCount with RWX storage:
indexer:
replicaCount: 3
persistence:
accessMode: ReadWriteManyUpgrading
helm upgrade code-search oci://ghcr.io/techquestsdev/charts/code-search --version <version>Database migrations run automatically as a pre-upgrade hook (when migrations.enabled: true).
Uninstalling
helm uninstall code-searchNote: PVCs are not deleted automatically. To delete all data:
kubectl delete pvc -l app.kubernetes.io/instance=code-searchTroubleshooting
Check pod status
kubectl get pods -l app.kubernetes.io/instance=code-searchView logs
# API logs
kubectl logs -l app.kubernetes.io/component=api
# Indexer logs
kubectl logs -l app.kubernetes.io/component=indexer
# Zoekt logs
kubectl logs -l app.kubernetes.io/component=zoektMigration issues
# Check migration job
kubectl logs job/code-search-migrate
# Re-run migrations
kubectl delete job code-search-migrate
helm upgrade code-search ./deploy/helm/code-search