Skip to content

OpenDome documentation

OSS — SELF-HOSTED DATA PLATFORMOSL v1.2 · APACHE-2.0 · 2026

One layer over all your data. Governed.

Structured and unstructured, consumed through a single open spec — auditable, self-hosted, no lock-in.

01Start here

Quickstart

Bring up a cell that serves the OSL API on your own Kubernetes — no control-plane, no phone-home. Real token, real /osl/retrieve call in minutes. Get started →

Concepts

The mental model: two physical planes (Iceberg + Lance), one declarative spec, “everything is an Entity”, the compile → serve loop. Read the concepts →

OSL API reference

The 13 /osl/* endpoints every client can rely on — query, retrieve, resolve, domain-map, traverse, sample. Browse the API →

OSS vs Enterprise

What ships under Apache-2.0 today and what the managed/Enterprise tier adds — clearly, in one place. Compare editions →

02Why OpenDome

OpenDome is an open-core data platform. A self-hoster runs a cell — a self-contained, per-tenant namespace — and consumes everything through the OpenDome Semantic Layer (OSL): a single open spec that spans structured tables (Iceberg, via Trino) and unstructured collections (Lance, vector + full-text), under one fail-closed policy enforcement point and one audit chain.

One consumption layer

Trino, Lance and dbt are internal engines with no public endpoint. Every consumer — BI, scripts, agents — speaks OSL. If data can be reached without OSL, it’s an architecture bug.

No lock-in

The structured plane is 100% dbt MetricFlow. Walk away and your semantic_models/*.yml stay valid in dbt-sl, untouched. Only the Lance primitives are OSL-only.

Governed by construction

Every query, retrieval and policy decision is enforced server-side and emitted as a lineage event. PII is declared at the connector and redacted in the cell — never inferred in the UI.

AI-native

The same model is exposed as MCP tools for agents and as REST for apps. These docs publish an llms.txt for AI crawlers.