SQL on your lakehouse
Query every table with standard SQL.
Why: Trino reads Iceberg tables in place and scales out. Lakekeeper is a small Iceberg REST catalog written in Rust, so any Iceberg engine can share the same tables.
Read more →Iceberg tables, SQL, pipelines, notebooks, streams and dashboards behind one sign-in, one interface and one API, inside your own Kubernetes.
Iceberg RESTTrinoSpark ConnectKafka (KRaft)Airflow 3OIDCOpenFGARust control plane
Every engine reads and writes the same Iceberg tables through one catalog. stardelt Nova brings them together.
Logos are trademarks of their respective owners; their use does not imply endorsement.
core always installedstarter for small installs, replaceabledefault full profile, switchable per pillaropt-in off until you enable itplug you bring your own
Query every table with standard SQL.
Why: Trino reads Iceberg tables in place and scales out. Lakekeeper is a small Iceberg REST catalog written in Rust, so any Iceberg engine can share the same tables.
Read more →Tables live on object storage you choose.
Why: Enterprises already run object storage, and stardelt uses it. SeaweedFS is there so one node can try everything.
Read more →Files and sources become tables.
Why: Loading is a feature of the platform, not a separate tool to buy and operate.
Read more →Bronze to silver to gold, on a schedule.
Why: Pipelines are declared in Git and moved between stages. Airflow runs them, with retries and history; the batch pillar switches it off when you use your own scheduler.
Read more →Python and Spark jobs without a Spark cluster per person.
Why: A thin client talks to a shared Spark server: no spark-submit, no driver on your laptop. It ships with the notebooks pillar.
Read more →Explore next to the data, then publish and schedule.
Why: Notebooks run inside the platform with the person's own permissions, and published ones run as pipeline steps. The notebooks pillar switches them off.
Read more →Events in, tables out.
Why: The streaming pillar is opt-in (D26 tier 3). Once it is on, streams are declared like pipelines and land in the same Iceberg tables.
Read more →Charts on governed tables.
Why: Dashboards query through Trino with the viewer's permissions, so there is no copy of the data. The BI pillar is switchable, and any BI tool can use the same engine.
Read more →One sign-in, permissions by team.
Why: You keep the identity provider you already have. OpenFGA records who may use what, and OPA enforces it in every engine.
Read more →No passwords in files.
Why: Secrets come from the store you already run, through External Secrets. OpenBao is the sandbox store for small installs.
Read more →Three promises that hold from the first install.
Your cluster, your sign-in, your storage, your law.
Apache 2.0, open formats, and a real way out.
No legacy inside: every part is current-generation open source.
Taxi trips arrive as a file at 7:00. By 9:00 the team has a modelled table, a daily schedule, lineage and a dashboard, without leaving one interface.
What you click in Nova, you can script, schedule, review in Git, or hand to an AI assistant, always as yourself and with your permissions.
stardelt login
stardelt sql "select * from mobility.silver.yellow_trips limit 5"
stardelt run stardelt mobility-medallion --wait
from stardelt import runs
run, tasks = runs.start(nova, "stardelt", "mobility-medallion", wait=True)
apiVersion: stardelt.io/v1alpha1
kind: Pipeline
metadata: { name: mobility-medallion }
spec:
ownerGroup: mobility-analytics
runAs: pipeline-mobility-analytics
schedule: { cron: "0 3 * * *", timezone: Europe/Berlin }
tasks:
- { name: silver_schema, kind: sql, sql: "CREATE SCHEMA IF NOT EXISTS mobility.silver" }
- { name: silver_init, kind: sql, dependsOn: [silver_schema], sql: "CREATE OR REPLACE TABLE mobility.silver.yellow_trips AS …" }
stardelt mcp config # how to register the server in your assistant
stardelt mcp serve # read-only tools unless you allow more
Read operations only by default. Every call is checked against your groups, exactly as in the interface. API, Python, CLI and MCP →.
git clone https://github.com/stardelt/stardelt-platform
cd stardelt-platform
helm dependency build chart
helm upgrade --install stardelt chart \
--namespace stardelt --create-namespace \
-f chart/values-slim.yaml --wait --timeout 15m
stardelt is pre-alpha and grows in milestones. See what works today and what comes next →