egret-data/platform
egret-data/platform has 26 GitHub stars and 1 forks. Star changes are not measured yet. Last checked 2026-11-12 18:07 UTC. Last push 2026-11-12.
Open-source, multi-tenant data platform: isolated workspaces with BI, Data API, workflows and data apps on a shared Iceberg lakehouse, with access policy enforced in Trino and StarRocks. Written in Rust.
What you can do
- Explore - SQL Lab, datasets with metrics, 19 chart types, dashboards with filters and drill-through, alerts and reports (email and Slack, PNG and PDF). - Docs
- Data API - Publish a parameterised SELECT as a REST endpoint with OAuth2 clients, versions, rate limits and an activity log. - Docs
- Data Apps - marimo apps that run as the person viewing them, so the data policy follows the viewer. - Docs
- Workflows - A workflow engine compatible with Kestra's flow syntax: YAML flows with schedules, webhooks and triggers, executions with logs, namespaces and files. - Docs
Measured star growth
- in 24h
- Update delayed
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalOpen-source, multi-tenant data platform
Isolated workspaces on one shared, governed data foundation: BI, data APIs, workflows and data apps,
with access policy enforced in the query engine and every decision audited.
Documentation · Quick start · Architecture · Known issues · Contributing
🇻🇳 Tiếng Việt: README.vi.md
What is Egret
Egret is an enterprise data platform that lets many teams work on one shared data foundation. A single deployment gives the organization one source of truth, gives each team an isolated workspace, and governs and audits every access to data.
Most organisations end up with one BI tool, one catalog, one access-policy stack and one workflow tool per department: silos, copies of the data, and access rules nobody can audit. Egret replaces that with one deployment:
- One data foundation. A shared Iceberg lakehouse and the query engines on top of it. Teams do not copy data; they get a workspace.
- Isolated workspaces. Dashboards, datasets, charts, saved queries, connections and APIs live inside a workspace and never leak across it.
- Governance in the engine, not around it. One authorizer (Cedar), per-user delegated queries, Ranger masking and row filters, and an audit log of every decision.
It is a Rust modular monolith (one binary, 37 crates) with a React front end, and it brings together what you would otherwise assemble from Metabase or Superset (BI), Lakekeeper (Iceberg catalog), Apache Ranger (access policy), a data-API builder and a workflow engine.
Highlights
| Area | What you get | |
|---|---|---|
| Explore | SQL Lab, datasets with metrics, 19 chart types, dashboards with filters and drill-through, alerts and reports (email and Slack, PNG and PDF). | Docs |
| Data API | Publish a parameterised SELECT as a REST endpoint with OAuth2 clients, versions, rate limits and an activity log. |
Docs |
| Data Apps | marimo apps that run as the person viewing them, so the data policy follows the viewer. | Docs |
| Workflows | A workflow engine compatible with Kestra's flow syntax: YAML flows with schedules, webhooks and triggers, executions with logs, namespaces and files. | Docs |
| Governance | Cedar authorization, Ranger-compatible policy for Trino and StarRocks, tag-based masking, classifications, audit log, SSO (OIDC). | Docs |
| Engines and catalog | Provision Trino (on Docker or Kubernetes) and StarRocks (on Kubernetes) from the UI; an embedded Iceberg REST catalog; query federation over 30+ connectors. | Docs |
Screenshots
![]() A dashboard in a workspace: the demo stack seeds this one, with 22 charts on three tabs. |
![]() Every chart type, on sample data: donut, box plot, bars, a US map, scatter, funnel, Sankey and more. |
Quick start
Run the whole platform on Docker, with no Kubernetes: Egret, Postgres, object storage, Keycloak SSO, a Trino engine, Data Apps, a mail catcher, a PDF/PNG renderer, and a sample workspace with a dataset, charts and a dashboard.
git clone https://github.com/egret-data/platform.git
cd platform
just demo-up
Then open http://egret.localtest.me:8080 and sign in with Admin sign-in (break-glass):
[email protected] / Admin12345!. Single sign-on users admin-sso and member-sso are there too, and every
mail the demo sends lands in Mailpit at http://localhost:8025.
- Needs Docker with Compose v2,
just,curlandpython3, and 6 to 8 GB of free RAM. - The first run builds the backend (20 to 40 minutes); later runs reuse the images.
- Demo only. The stack uses fixed public secrets. Never expose it to a network.
The full guide, with ports, engines, Data Apps and how to reset, is docs/en/guides/demo-stack.md.
The Compose stacks and the Helm chart (deploy/helm) are development tooling, not a production topology: read the
security hardening checklist before exposing a deployment, and the
configuration keys.
How it fits together
- Backend: a Rust workspace (axum, tokio, sqlx) built into one binary that serves the API, the control plane and every workspace.
- Front end: one React single-page app (Vite, Tailwind, Radix) with two areas: Explore (per workspace) and Control Plane and Governance (platform admins).
- State: PostgreSQL for metadata and S3-compatible object storage (RustFS in the demo) for the lakehouse.
- Engines: Trino runs as containers (Docker) or pods (Kubernetes) and StarRocks as pods, all provisioned and watched by Egret; each query runs as the calling user.
- Identity: OIDC single sign-on for people; Egret mints short-lived per-user tokens for engines, so there are no shared engine passwords.
Deeper reading: platform overview (data plane, federation, the governed query lifecycle, isolation, security) and the full architecture design.
Documentation
| Get started | What Egret is, the concepts, a first dashboard. |
| Run the demo stack | The Docker quick start in detail. |
| Explore, Data API, Workflows | Page-by-page user guide with screenshots. |
| Governance and Control Plane | Access policy, engines, catalogs, storage, secrets. |
| Reference | Configuration keys and the REST API. |
| Known issues | What is open, with severity, and what is planned. |
The documentation lives in egret-data/docs; a change that alters what users see ships with its docs update.
Repository layout
crates/ 37 Rust crates (server, auth, policy, catalog, engines, query, bi, workflow, apps, ...)
frontend/ React + Vite single-page app
migrations/ sqlx migrations
deploy/ Dockerfiles, the Docker demo stack, Helm chart, Keycloak and engine configs
apps-image/ the Data Apps (marimo) runtime image
renderer/ the PDF and PNG renderer used by reports
plugin-host/ the JVM host that runs workflow plugins
docs/ architecture notes, specs and plans (English canonical, Vietnamese reference)
Status
Egret is under active development. Authentication and SSO, workspaces, unified authorization, Ranger enforcement, the secrets vault, BI and Explore, the Iceberg catalog, engine provisioning, Data Apps, the Data API and workflows are built and in use. Open defects and gaps are tracked, with severity, in Known issues.
Contributing and security
Read CONTRIBUTING.md: Conventional Commits, tests with every change, and docs with every user-visible change. Report a vulnerability as SECURITY.md describes, not in a public issue. Everyone taking part follows the Code of Conduct.
License
Licensed under the Apache License 2.0.
Explore related projects
awesome-selfhosted/awesome-selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers
336,615 starsimmich-app/immich
High performance self-hosted photo and video management solution.
119,024 starsStirling-Tools/Stirling-PDF
#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
96,434 starslouislam/uptime-kuma
A fancy self-hosted monitoring tool
93,575 stars
