Skip to content

Kubernetes (Helm)

The official Helm chart deploys HEBBS as a StatefulSet with persistent storage, health checks, and optional monitoring integration.

  • Kubernetes 1.26+
  • Helm 3.12+
  • A StorageClass that supports dynamic provisioning
Terminal window
helm install hebbs oci://ghcr.io/hebbs-ai/charts/hebbs \
--namespace hebbs \
--create-namespace

Create a values.yaml to override defaults:

replicaCount: 1
image:
repository: ghcr.io/hebbs-ai/hebbs
tag: "0.1.0"
server:
grpcPort: 50051
metricsPort: 9090
logLevel: info
storage:
size: 50Gi
storageClass: gp3
resources:
requests:
cpu: "2"
memory: 4Gi
limits:
cpu: "4"
memory: 8Gi
config:
embedding:
batchSize: 32
acceleration: auto
index:
hnswM: 16
hnswEfConstruction: 200
hnswEfSearch: 100
reflect:
provider: openai
model: gpt-4o-mini
enabled: true
tls:
enabled: false
certSecretName: hebbs-tls
auth:
enabled: false
tokenSecretName: hebbs-auth
serviceMonitor:
enabled: false

Install with custom values:

Terminal window
helm install hebbs oci://ghcr.io/hebbs-ai/charts/hebbs \
--namespace hebbs \
--create-namespace \
-f values.yaml
KeyDefaultDescription
replicaCount1Number of replicas (single-writer architecture)
image.repositoryghcr.io/hebbs-ai/hebbsContainer image
image.tagChart appVersionImage tag
KeyDefaultDescription
storage.size20GiPVC size for data volume
storage.storageClass"" (default)Kubernetes StorageClass
KeyDefaultDescription
resources.requests.cpu1CPU request
resources.requests.memory2GiMemory request
resources.limits.cpu2CPU limit
resources.limits.memory4GiMemory limit
KeyDefaultDescription
tls.enabledfalseEnable TLS for gRPC
tls.certSecretName""Kubernetes Secret containing tls.crt and tls.key
KeyDefaultDescription
serviceMonitor.enabledfalseCreate Prometheus ServiceMonitor
serviceMonitor.interval30sScrape interval

HEBBS uses a single-writer architecture. Horizontal scaling is planned for future releases. For now:

  • Vertical scaling — increase CPU and memory resources for higher throughput.
  • Storage scaling — expand PVC size as memory count grows.
  • Read replicas — not yet supported; planned for a future release.

The Helm chart creates a PersistentVolumeClaim for HEBBS data. Data survives pod restarts and rescheduling. To ensure data durability:

  • Use a StorageClass with reclaimPolicy: Retain
  • Configure regular backups (see Production Checklist)
Terminal window
helm upgrade hebbs oci://ghcr.io/hebbs-ai/charts/hebbs \
--namespace hebbs \
-f values.yaml

The chart performs a rolling update. HEBBS handles in-place upgrades with automatic data migration when needed.

Terminal window
helm uninstall hebbs --namespace hebbs

The PVC is not deleted by default. To also remove data:

Terminal window
kubectl delete pvc -n hebbs data-hebbs-0