Deployment
GrowlerDB ships two first-class deployment paths.
Local — Docker Compose
GrowlerDB + its dependencies (MinIO object storage, Apache Polaris catalog) and a bundled LGTM observability stack, on one host. This is also what the integration tests run against.
just stack # build + start everything; seeds a sample growlerdb.docs table
just stack-down # tear it down (removes volumes)
Endpoints once up: console + REST API at http://localhost:8081, gRPC :50061, Grafana
http://localhost:3000. Full details + the deps-only just up flow are in the
Compose README. See
Getting started for the guided walkthrough.
Kubernetes — Helm
The production sharded-cluster topology: a control-plane StatefulSet (registry), node StatefulSets on local/NVMe PVs (the index store), and a gateway Deployment fronting the cluster + serving the console.
helm install gdb deploy/helm/growlerdb \
--namespace growlerdb --create-namespace \
--set image.repository=<your-registry>/growlerdb --set image.tag=<tag> \
--set iceberg.catalogUri=https://catalog.example/api/catalog \
--set iceberg.s3Endpoint=https://s3.example \
--set credentials.existingSecret=growlerdb-creds
helm test gdb -n growlerdb
Prerequisites (push the image to a registry your cluster can pull; a reachable catalog + object store), the full values surface, resilience (PDBs, anti-affinity, readiness gates), and the single-shard/connector/compactor scope notes are in the Helm chart README.
Configuration
Both paths take the same GROWLERDB_* connection environment and the same run-mode flags — see
Configuration. For release artifacts (signed images, SBOM, the chart), see
RELEASING.