This is Lakekeeper: A secure, fast, and user-friendly Apache Iceberg REST Catalog built with Rust and available under the Apache License.
Monthly Downloads
Stars
Pull Requests
Forks
Iceberg delivers the transactional consistency of a data warehouse while letting compute and storage scale independently on a data lake — warehouse guarantees with data-lake scale.
Define access control once, in the catalog, and enforce it across every compute engine — no rules duplicated per engine. Permissions are fine-grained and inherited down to individual tables and views, in the model you already use (RBAC, ReBAC, or policy-/attribute-based ABAC), powered by open systems like OpenFGA and OPA with best-in-class engine integration such as Trino.
Create, configure and remove Warehouses — your catalogs — at runtime through the API, with no static config files and no server restarts. Storage credentials live in a secure secret store (encrypted in Postgres or a HashiCorp Vault-compatible store), so onboarding a new catalog is a single API call.
Restrict access to specific rows and columns, not just whole tables. Security-DEFINER views — built on Iceberg's referenced-by model and enforced through trusted query engines — let users read only what an authorized view exposes, never the underlying table directly.
Use your own identity provider for authentication. Lakekeeper never generates (API)-tokens itself. You already have an IdP. Let's use it!
Lakekeeper secures access to your data for on-premise and cloud deployments using Vended-Credentials and remote signing for S3.
A standards-compliant Apache Iceberg REST catalog — and more. Register non-Iceberg tables (Lance, Delta, Parquet) as first-class, governed objects with the same credential vending and access control, so one catalog governs your whole lakehouse.
Soft-delete with time-bounded undrop and drop-protection across tables, views and generic tables. The catalog runs the cleanup itself, so an accidental drop in a shared environment is recoverable — not fatal.
Every entity lives in a fully-typed, normalized schema with real referential integrity — no orphaned metadata, ever. That means fast search across tables, users and roles, plus rich statistics served straight from the catalog, with no object-storage scans.
Lakekeeper can emit change events to Event Queues like Nats or Kafka to keep stakeholders informed.
See something that's missing? Build it! Lakekeeper is meant to be extended through. And because Lakekeeper is written in Rust, you can use powerful Rust traits to do so.
Built in Rust with no garbage collector — predictable, low memory use and no GC pauses, with fast startup that suits ephemeral and autoscaled deployments.
Single binary executable for all major platforms; no JVM or Python environment required. Native Kubernetes deployments with Helm chart or k8s operator. UI and batteries included.
No local state — scale the catalog horizontally behind a load balancer, with autoscaling included in the Helm chart. Upgrades stay online too: a read-only maintenance mode keeps reads available while database migrations run, so rolling upgrades never take the catalog offline for readers.
Keep query performance high and storage costs low with automated table maintenance — available with Lakekeeper Plus.
Run Lakekeeper at the heart of your data platform with confidence: commercial enterprise support for self-hosted and managed deployments, plus hardened Long-Term Support release lines available with Lakekeeper Plus.
Lakekeeper is written in Rust and based on `iceberg-rust`. No unsafe Code - guaranteed!
Checkout The CodeNew to Lakekeeper? Start with the Getting Started guide, spin up a ready-to-run example, or watch the talks & demos below.