Deployment

GrowlerDB supports two deployment paths.

Local (Docker Compose)

GrowlerDB runs with its dependencies (MinIO object storage, Apache Polaris catalog) and a bundled LGTM observability stack, all on one host. The integration tests run against this setup too.

just stack          # pull + start everything (no host build); 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 that fronts the cluster and serves 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.


GrowlerDB — AGPL-3.0. Search returns coordinates; rows hydrate from Iceberg.

This site uses Just the Docs, a documentation theme for Jekyll.