Rust · Apache Iceberg · REST Catalog · OpenFGA · Lakehouse
Lakekeeper
Un catalogo Iceberg REST in Rust con credenziali vended, OpenFGA e un'impronta operativa piccola.
Un case study sul layer di catalogo Rust-native che rende governabile lo storage lakehouse open: metadata delle tabelle, autorizzazione, credenziali temporanee e interoperabilità multi-engine senza un control plane pesante in JVM.
Aggiornato da fonti pubbliche ·
Estate 2026: ordine degli eventi di autorizzazione
Una contribuzione integrata anticipa gli eventi di autorizzazione rispetto alla scrittura delle assegnazioni. È una correzione concreta nel catalogo, distinta dal lavoro di integrazione descritto sotto.
Perché esiste
Object storage e formati di tabella aperti non bastano da soli. Un lakehouse pratico ha comunque bisogno di un catalogo che possa gestire i metadata, applicare i controlli di accesso e restare abbastanza aperto da funzionare attraverso engine e modelli di deploy diversi. Lakekeeper conta perché mette il control plane attorno alle tabelle Iceberg in un servizio Rust-native ragionabile come infrastruttura, invece che come estensione opaca di un motore di calcolo.
Centro tecnico
Lakekeeper implementa il catalogo Iceberg REST in Rust, abbinando metadata su Postgres con autenticazione OIDC, autorizzazione OpenFGA, credenziali cloud vended, CloudEvents e un modello di deploy molto più leggero degli stack di catalogo orientati alla JVM. L'architettura è interessante perché il catalogo non è solo un servizio di lookup: diventa il posto in cui identità, accesso temporaneo allo storage, gestione dei namespace e interoperabilità cross-engine si incontrano.
Prove correnti
L'impronta pubblica è già concreta: un long-form architetturale, interoperabilità documentata con RisingWave, integrazioni con engine esterni e piattaforme managed, una cadenza di release mensile e 2 PR mergiate tracciate nel README del repository, invece di una vaga rivendicazione di familiarità. Il case study è particolarmente utile come controparte a livello di catalogo del lavoro sullo stack dati Rust: mostra dove metadata di tabella, governance e accesso degli engine smettono di essere astratti e diventano interfacce operative.

