{"version":1,"pages":[{"id":"OTXEKduTjeZQd8DntaGI","title":"Overview","pathname":"/","siteSpaceId":"sitesp_YT7GM","description":"Learn how to build, govern, and consume Data Products with DataOS.","breadcrumbs":[{"label":"Home"}]},{"id":"0PUxPrZFKFK3bR33ZpSy","title":"DataOS Philosophy","pathname":"/readme-1","siteSpaceId":"sitesp_YT7GM","description":"DataOS is an operating system for building and running Data Products on the data you already have.","breadcrumbs":[{"label":"Home"}]},{"id":"Auy5Pm6lPITknw6bxQmB","title":"Data Product Journey","pathname":"/data-product-journey-v2","siteSpaceId":"sitesp_YT7GM","description":"From business question to trusted consumption","breadcrumbs":[{"label":"Home"}]},{"id":"TcwVBegafvLzrb8cdJxY","title":"Introduction","pathname":"/build","siteSpaceId":"sitesp_zUmtx","description":"What building a Data Product involves, the three stages, and where to start.","breadcrumbs":[{"label":"Build"},{"label":"Get started"}]},{"id":"xAbOrT6k7yCSaoGPggor","title":"Prerequisites","pathname":"/build/get-started/prerequisites","siteSpaceId":"sitesp_zUmtx","description":"Get your environment ready before your first real build.","breadcrumbs":[{"label":"Build"},{"label":"Get started"}]},{"id":"akL7KbPrZm5ETqlL3Re6","title":"CLI setup","pathname":"/build/get-started/prerequisites/cli-setup","siteSpaceId":"sitesp_zUmtx","description":"Set up the DataOS CLI","breadcrumbs":[{"label":"Build"},{"label":"Get started"},{"label":"Prerequisites"}]},{"id":"23NvrrTNA3YpTlLmAeUr","title":"LDK setup","pathname":"/build/get-started/prerequisites/ldk-setup","siteSpaceId":"sitesp_zUmtx","description":"Set up the Local Development Kit: Python virtual environment, Vulcan, and engine.","breadcrumbs":[{"label":"Build"},{"label":"Get started"},{"label":"Prerequisites"}]},{"id":"qk7sEZnyl4q7PsMRxtEI","title":"Repository setup","pathname":"/build/get-started/prerequisites/repository-setup","siteSpaceId":"sitesp_zUmtx","description":"Connect your Git repository so DataOS can pull your project at deploy time.","breadcrumbs":[{"label":"Build"},{"label":"Get started"},{"label":"Prerequisites"}]},{"id":"FJDUeHZroGN4seXoU0AC","title":"Quickstart","pathname":"/build/get-started/quickstart","siteSpaceId":"sitesp_zUmtx","description":"Build a small, working Data Product on your own machine: seeds, a transform, quality gates, a semantic model, and a metric. No DataOS deployment needed.","breadcrumbs":[{"label":"Build"},{"label":"Get started"}]},{"id":"DMwZgjdZmoAE86zo0NvQ","title":"Build journey with AI","pathname":"/build/get-started/build-journey-with-ai","siteSpaceId":"sitesp_zUmtx","description":"Build a Data Product end to end by talking to an AI agent that uses builder skills and the Data Product MCP.","breadcrumbs":[{"label":"Build"},{"label":"Get started"}]},{"id":"t1nglcpz5m5g2bnU4RBI","title":"Understand Your Data","pathname":"/build/understand/overview","siteSpaceId":"sitesp_zUmtx","description":"Inspect your sources before you build. Decide from facts, not assumptions.","breadcrumbs":[{"label":"Build"},{"label":"Understand"}]},{"id":"fnmKn4VScoqckZOoZGzQ","title":"Connect sources","pathname":"/build/understand/connect-sources","siteSpaceId":"sitesp_zUmtx","description":"Register an authenticated connection to a source so DataOS can reach it without moving the data.","breadcrumbs":[{"label":"Build"},{"label":"Understand"}]},{"id":"4AmD6Fkzj8WFjsBn7JB4","title":"Scan metadata","pathname":"/build/understand/scan-metadata","siteSpaceId":"sitesp_zUmtx","description":"Scan a source so its tables, columns, lineage, and usage become discoverable in DataOS, without moving the underlying data.","breadcrumbs":[{"label":"Build"},{"label":"Understand"}]},{"id":"g7XTEPygWuJcpUWREEqG","title":"Explore data","pathname":"/build/understand/explore-data","siteSpaceId":"sitesp_zUmtx","description":"Inspect the metadata, then the values, before you commit to a source.","breadcrumbs":[{"label":"Build"},{"label":"Understand"}]},{"id":"eDykTNuzgcUMOaNuhD6d","title":"Datasets","pathname":"/build/understand/explore-data/datasets","siteSpaceId":"sitesp_zUmtx","description":"Inspect dataset metadata, lineage, and usage in the catalog.","breadcrumbs":[{"label":"Build"},{"label":"Understand"},{"label":"Explore data"}]},{"id":"Pjscn55vERGf0pc2uiKH","title":"Workbench","pathname":"/build/understand/explore-data/workbench","siteSpaceId":"sitesp_zUmtx","description":"Connect to a source, run SQL, and inspect the actual values in Workbench.","breadcrumbs":[{"label":"Build"},{"label":"Understand"},{"label":"Explore data"}]},{"id":"xGSlFpyK1PwrkOJMpdMq","title":"Move Data","pathname":"/build/move/overview","siteSpaceId":"sitesp_zUmtx","description":"Bring raw data into reach when it is not already where your engine can read it.","breadcrumbs":[{"label":"Build"},{"label":"Move"}]},{"id":"WUgNejPjH2I13OBGtRQ6","title":"Supported sources and destinations","pathname":"/build/move/supported-sources-and-destinations","siteSpaceId":"sitesp_zUmtx","description":"The sources Nilus can move data from, the destinations it can move data to, and which modes each supports.","breadcrumbs":[{"label":"Build"},{"label":"Move"}]},{"id":"8F2eDTnAQKd7JBiDrJXR","title":"Data movement","pathname":"/build/move/mode","siteSpaceId":"sitesp_zUmtx","description":"Pick the data movement type that fits your source and freshness need.","breadcrumbs":[{"label":"Build"},{"label":"Move"}]},{"id":"Evr3ZcWGFLoUssVHEkU6","title":"Batch","pathname":"/build/move/mode/batch","siteSpaceId":"sitesp_zUmtx","description":"Move data on a schedule or on demand with a Nilus batch pipeline.","breadcrumbs":[{"label":"Build"},{"label":"Move"},{"label":"Data movement"}]},{"id":"TfTHfwIvNhJJS5JdMxC3","title":"CDC","pathname":"/build/move/mode/cdc","siteSpaceId":"sitesp_zUmtx","description":"Capture inserts, updates, and deletes from an operational database in near real-time with Nilus CDC.","breadcrumbs":[{"label":"Build"},{"label":"Move"},{"label":"Data movement"}]},{"id":"cgSTc2wf5VvI74IarMJF","title":"Streaming","pathname":"/build/move/mode/stream","siteSpaceId":"sitesp_zUmtx","description":"Consume and land events continuously from Kafka or NATS with Nilus streaming.","breadcrumbs":[{"label":"Build"},{"label":"Move"},{"label":"Data movement"}]},{"id":"BymJKM7h8b2GaeJONVwE","title":"Explore moved data","pathname":"/build/move/explore-moved-data","siteSpaceId":"sitesp_zUmtx","description":"Confirm the data landed correctly before you build on it.","breadcrumbs":[{"label":"Build"},{"label":"Move"}]},{"id":"JBTkRTenuKuTuVOQnmD5","title":"Productize the Data","pathname":"/build/productize/overview","siteSpaceId":"sitesp_zUmtx","description":"\"Productize\" is the P in ELP: define the transform, semantic model, quality contract, and access policy as a single object, then deploy it.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"xlLggBQokWUhDu0GQkkm","title":"Init and configuration","pathname":"/build/productize/init-and-configuration","siteSpaceId":"sitesp_zUmtx","description":"Scaffold the project and set config.yaml and usage.yaml.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"Cn1LaGoR3Xv0kGbXQS7D","title":"Connect engine","pathname":"/build/productize/connect-engine","siteSpaceId":"sitesp_zUmtx","description":"Wire your project to the engine that runs transforms and lands outputs. Config only; the full per-engine manual is in References.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"0bTM4pVn0hXy89FgU2kw","title":"Snowflake","pathname":"/build/productize/connect-engine/snowflake","siteSpaceId":"sitesp_zUmtx","description":"Configure Snowflake as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"gmfqgW5sNp57DpE7ZC2l","title":"Databricks","pathname":"/build/productize/connect-engine/databricks","siteSpaceId":"sitesp_zUmtx","description":"Configure Databricks as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"llLWTCmAk7Ae4rX29vwI","title":"Spark","pathname":"/build/productize/connect-engine/spark","siteSpaceId":"sitesp_zUmtx","description":"Configure Apache Spark as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"OD9bEiHPh7MDKPjEJ2IC","title":"Trino","pathname":"/build/productize/connect-engine/trino","siteSpaceId":"sitesp_zUmtx","description":"Connect Vulcan to Trino for federated SQL across catalogs and data lakes.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"iSSeyeb1vqqfRfNgHOJk","title":"Dedicated Trino","pathname":"/build/productize/connect-engine/trino/dedicated-trino","siteSpaceId":"sitesp_zUmtx","description":"Ship a Trino cluster as part of the Data Product. Vulcan provisions and owns one cluster per product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"},{"label":"Trino"}]},{"id":"knhHnd6XMFZu2yFXEhnm","title":"Minerva","pathname":"/build/productize/connect-engine/trino/minerva","siteSpaceId":"sitesp_zUmtx","description":"Connect Vulcan to DataOS Minerva, a shared Trino-compatible cluster managed by DataOS.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"},{"label":"Trino"}]},{"id":"lUFhOKnA7HMpuCFPAnbr","title":"External Trino","pathname":"/build/productize/connect-engine/trino/external-trino","siteSpaceId":"sitesp_zUmtx","description":"Connect Vulcan to your own Trino-compatible endpoint, such as Starburst or self-hosted Trino.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"},{"label":"Trino"}]},{"id":"bnZ8M6gfdDxhh6scbzW3","title":"Postgres","pathname":"/build/productize/connect-engine/postgres","siteSpaceId":"sitesp_zUmtx","description":"Configure PostgreSQL as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"LDDhNUVk1FPiqOMeeEZL","title":"SQL Server","pathname":"/build/productize/connect-engine/sql-server","siteSpaceId":"sitesp_zUmtx","description":"Configure Microsoft SQL Server as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"hKdz6yKb52p5nNc3Hm4N","title":"Microsoft Fabric","pathname":"/build/productize/connect-engine/microsoft-fabric","siteSpaceId":"sitesp_zUmtx","description":"Configure Microsoft Fabric Warehouse as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"l1SuozFSaKHKOZE9VrGE","title":"Amazon Redshift","pathname":"/build/productize/connect-engine/redshift","siteSpaceId":"sitesp_zUmtx","description":"Configure Amazon Redshift as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"l9j8rh6rgg8yrtoObj75","title":"Amazon Athena","pathname":"/build/productize/connect-engine/athena","siteSpaceId":"sitesp_zUmtx","description":"Configure Amazon Athena as the engine for your Data Product.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Connect engine"}]},{"id":"7hRBMz9v6Yun2s9ViCWj","title":"Assets","pathname":"/build/productize/assets","siteSpaceId":"sitesp_zUmtx","description":"The components you create for a Data Product, and the order to build them.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"qJmz6eAYWh1AtfuhaczK","title":"Inputs","pathname":"/build/productize/assets/inputs","siteSpaceId":"sitesp_zUmtx","description":"Declare the upstream tables your models read from, as external models.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Assets"}]},{"id":"pIJWwXqKt1M2Eyjomlib","title":"Seeds","pathname":"/build/productize/assets/seeds","siteSpaceId":"sitesp_zUmtx","description":"Load small static CSV reference data as warehouse tables with SEED models.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Assets"}]},{"id":"fnVfEiYRLRGCd1LKxwpF","title":"Data model","pathname":"/build/productize/assets/data-model","siteSpaceId":"sitesp_zUmtx","description":"Write the transforms that turn raw inputs into reliable output tables.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Assets"}]},{"id":"rubOQLvIWSF94dJSMmVj","title":"Semantic model","pathname":"/build/productize/assets/semantic-model","siteSpaceId":"sitesp_zUmtx","description":"Map physical columns to business measures, dimensions, segments, and joins so people and AI can query consistent definitions.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Assets"}]},{"id":"sjsnLk5RtzDV0lAZUMtL","title":"Metrics","pathname":"/build/productize/assets/metrics","siteSpaceId":"sitesp_zUmtx","description":"Combine a measure with a time column into a queryable time-series metric for dashboards and APIs.","breadcrumbs":[{"label":"Build"},{"label":"Productize"},{"label":"Assets"}]},{"id":"gxKmBVvNRslXL9YSndZb","title":"Data quality","pathname":"/build/productize/data-quality","siteSpaceId":"sitesp_zUmtx","description":"Add DQ checks that monitor quality over time and profile columns.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"VHsWIXLDPYqWSogO8uZ0","title":"Assertions","pathname":"/build/productize/assertions","siteSpaceId":"sitesp_zUmtx","description":"Block bad data at materialization. Audits define the rule; assertions attach it to a model and stop the run if it fails.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"bwkNfD4Fbx3EC80JPaJV","title":"Unit Test","pathname":"/build/productize/unit-test","siteSpaceId":"sitesp_zUmtx","description":"Unit tests verify a model's SQL logic against mock fixtures, independent of any warehouse, before assertions or a real run ever see it.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"GQFNTwwMDbL66gQfBnmw","title":"Governance","pathname":"/build/productize/governance","siteSpaceId":"sitesp_zUmtx","description":"Control how the product runs and who can see which rows and columns. Access policy is created with the product, not bolted on.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"Lz82Kuh3oXzpSZitc4FR","title":"Plan & run","pathname":"/build/productize/plan-and-run","siteSpaceId":"sitesp_zUmtx","description":"Validate the whole project locally with vulcan info, test, evaluate, and plan before anything ships.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"Shf3TLqCiTWobXzCUfNs","title":"Git & deploy","pathname":"/build/productize/git-and-deploy","siteSpaceId":"sitesp_zUmtx","description":"Deploy the Vulcan resource to DataOS, and verify the product is live and discoverable.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"Zog4NV4EcYAEAhXIv0MK","title":"Monitor & delete","pathname":"/build/productize/monitor-and-delete","siteSpaceId":"sitesp_zUmtx","description":"Monitor a deployed Vulcan Data Product with the DataOS CLI, read its runtime container groups, and delete the deployed resource when it's no longer needed.","breadcrumbs":[{"label":"Build"},{"label":"Productize"}]},{"id":"9bQkOjDg0OmQecbh2cKb","title":"Recipes","pathname":"/build/recipes","siteSpaceId":"sitesp_zUmtx","description":"Proven patterns for common build scenarios. Copy, adapt, apply.","breadcrumbs":[{"label":"Build"}]},{"id":"b2nb19PsWOpcIRkNciDA","title":"Reuse a Data Product","pathname":"/build/recipes/reuse-data-products","siteSpaceId":"sitesp_zUmtx","description":"Build a downstream product that reads another product's published outputs, instead of rebuilding the same logic from scratch.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"dflLTMJToNWdLTK7WDyB","title":"Build a Python model for AI/ML workflows","pathname":"/build/recipes/build-a-python-model","siteSpaceId":"sitesp_zUmtx","description":"Write a Vulcan Python model that returns a DataFrame instead of SQL, for machine learning, forecasting, or logic that doesn't fit cleanly in SQL.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"mHGmJJRaUIQCg7IHsGZY","title":"Cluster data with a Spark ML Python model","pathname":"/build/recipes/spark-ml-python-model","siteSpaceId":"sitesp_zUmtx","description":"Write a Vulcan Python model that clusters data with Spark MLlib when Spark is available, and falls back to scikit-learn when it isn't.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"IucH4WcSce9P5tE7fzRx","title":"Wait for data to be ready with signals","pathname":"/build/recipes/wait-for-data-with-signals","siteSpaceId":"sitesp_zUmtx","description":"Make a scheduled Vulcan model wait for late-arriving source data instead of running on a fixed clock and computing an incomplete result.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"Fb2rMGsATiFyEVp4WSPZ","title":"Route plan and run failures to Slack or Teams","pathname":"/build/recipes/route-failures-to-slack-or-teams","siteSpaceId":"sitesp_zUmtx","description":"Once a data product is published, wire Vulcan's notification_targets so a failed plan or run pages Slack or Teams automatically, instead of waiting for someone to notice it in the logs.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"7ijGQ6x24QqY0Zekdki7","title":"Track dimension history with SCD Type 2","pathname":"/build/recipes/track-dimension-history-with-scd-type-2","siteSpaceId":"sitesp_zUmtx","description":"Convert an overwrite-style dimension model to SCD_TYPE_2 so changes are versioned with valid_from/valid_to instead of lost on the next run.","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"fyXsaGLBoacZk1BQGgqO","title":"Mask sensitive columns in a semantic model by role","pathname":"/build/recipes/mask-sensitive-columns-by-role","siteSpaceId":"sitesp_zUmtx","description":"Mask sensitive columns in a physical model per caller role using an access policy, column_mask_expressions, and an auth extension that maps DataOS roles to policy groups: no forked pipelines or models","breadcrumbs":[{"label":"Build"},{"label":"Recipes"}]},{"id":"dP6WlGn9CSX4XPbYwptM","title":"Consumer journey","pathname":"/consume","siteSpaceId":"sitesp_mxATN","description":"Learn how a consumer goes from finding a Data Product to using it through BI tools, APIs, or AI workflows.","breadcrumbs":[{"label":"Consume"},{"label":"Get started"}]},{"id":"7LI0miMDcqNjL9YJj1jg","title":"Before you begin","pathname":"/consume/get-started/before-you-begin","siteSpaceId":"sitesp_mxATN","description":"Learn what you need to consume a Data Product: tenant access, a deployed product, and an API token for external tools.","breadcrumbs":[{"label":"Consume"},{"label":"Get started"}]},{"id":"MWfIwikLSUTQBQdoFVgg","title":"Discover Data Products","pathname":"/consume/discover/overview","siteSpaceId":"sitesp_mxATN","description":"Learn how to find the right Data Product, perspective, or metric before you dig into details.","breadcrumbs":[{"label":"Consume"},{"label":"Discover"}]},{"id":"Tlx1dTzkDwrLJaQD5VFh","title":"Search the Hub","pathname":"/consume/discover/search-the-hub","siteSpaceId":"sitesp_mxATN","description":"Learn to search, filter, preview, and open Data Products, perspectives, and metrics in the Hub.","breadcrumbs":[{"label":"Consume"},{"label":"Discover"}]},{"id":"4pcGkvKkUCMptx2GYs62","title":"Filters","pathname":"/consume/discover/search-the-hub/filters","siteSpaceId":"sitesp_mxATN","description":"Narrow the Hub by domain, type, quality, last-run status, tags, and members.","breadcrumbs":[{"label":"Consume"},{"label":"Discover"},{"label":"Search the Hub"}]},{"id":"DO87Blz2XZ8LU05dwNUn","title":"Perspectives","pathname":"/consume/discover/search-the-hub/perspectives","siteSpaceId":"sitesp_mxATN","description":"Learn to browse, filter, and preview the saved, governed queries available in a tenant.","breadcrumbs":[{"label":"Consume"},{"label":"Discover"},{"label":"Search the Hub"}]},{"id":"UACZvcG9JDTiPw6G3mvD","title":"Metrics","pathname":"/consume/discover/search-the-hub/metrics","siteSpaceId":"sitesp_mxATN","description":"Browse, filter, and preview the computed business measures available in a tenant.","breadcrumbs":[{"label":"Consume"},{"label":"Discover"},{"label":"Search the Hub"}]},{"id":"qidIfT7udtz0V10psEeT","title":"Evaluate a Data Product","pathname":"/consume/evaluate/overview","siteSpaceId":"sitesp_mxATN","description":"Review a Data Product's context, assets, and trust signals before you query or consume it.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"}]},{"id":"EdT0d9sjk2AbBAhvgsPy","title":"Explore assets","pathname":"/consume/evaluate/assets","siteSpaceId":"sitesp_mxATN","description":"Explore what a Data Product is built from, what it publishes, and how data flows through it.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"}]},{"id":"6EsgOm5Q5c1yejB0ahAv","title":"Assets overview","pathname":"/consume/evaluate/assets/overview","siteSpaceId":"sitesp_mxATN","description":"Trace data from inputs to outputs, semantic models, and metrics in the asset graph.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"8UUP54c9oo5GUwaz8JHK","title":"Seeds","pathname":"/consume/evaluate/assets/seeds","siteSpaceId":"sitesp_mxATN","description":"Static reference datasets used to enrich a Data Product's outputs.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"HQuZyVZMXBBcBpUn3jAw","title":"Inputs","pathname":"/consume/evaluate/assets/inputs","siteSpaceId":"sitesp_mxATN","description":"Inspect the source datasets, raw fields, and lineage a Data Product reads from.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"7RmjnJLZjuS7xBC3xW4B","title":"Outputs","pathname":"/consume/evaluate/assets/outputs","siteSpaceId":"sitesp_mxATN","description":"Review the curated datasets a Data Product publishes for downstream use.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"kgVv1DvDcRI9rOdVoBW4","title":"Semantics","pathname":"/consume/evaluate/assets/semantics","siteSpaceId":"sitesp_mxATN","description":"Review the dimensions, measures, and relationships exposed for business queries.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"DCENvCV3yM2Bv7r9lZEl","title":"Metrics","pathname":"/consume/evaluate/assets/metrics","siteSpaceId":"sitesp_mxATN","description":"Review the governed business measures a Data Product exposes and the models behind them.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Explore assets"}]},{"id":"3XWrHJQkJ49FFbToqMIZ","title":"Query in Studio","pathname":"/consume/evaluate/query-in-studio","siteSpaceId":"sitesp_mxATN","description":"Query a Data Product's semantic models in Studio to confirm it exposes the right data.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"}]},{"id":"PjtPk2GXrOKjw6p41etD","title":"Save as Perspective","pathname":"/consume/evaluate/query-in-studio/save-as-perspective","siteSpaceId":"sitesp_mxATN","description":"Save a Studio query as a perspective to reuse, share, and serve through a Data API.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"},{"label":"Query in Studio"}]},{"id":"0sp3d2EqbEaepUGgVfbN","title":"Trust and freshness","pathname":"/consume/evaluate/trust-and-freshness","siteSpaceId":"sitesp_mxATN","description":"Check a Data Product's quality, freshness, and AI-readiness before relying on it.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"}]},{"id":"Cl4yZYYsPY88HXNTAknG","title":"Track activity","pathname":"/consume/evaluate/track-activity","siteSpaceId":"sitesp_mxATN","description":"Review a Data Product's runs and version history to judge execution health and recent changes.","breadcrumbs":[{"label":"Consume"},{"label":"Evaluate"}]},{"id":"JzfAcMdo5WAjNoItzCJZ","title":"Activate a Data Product","pathname":"/consume/activate/overview","siteSpaceId":"sitesp_mxATN","description":"Choose the path to consume a Data Product: BI tools, SQL clients, APIs, or AI.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"}]},{"id":"pCDXoQU2GbMdMRH2lX3S","title":"BI tools","pathname":"/consume/activate/bi-tools","siteSpaceId":"sitesp_mxATN","description":"Use Data Products in BI and analytics tools such as Power BI and Tableau Desktop.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"}]},{"id":"JacCZRrIEOFJh30LbutH","title":"Tableau Desktop","pathname":"/consume/activate/bi-tools/tableau","siteSpaceId":"sitesp_mxATN","description":"Connect Tableau Desktop to turn your dimensions and measures into charts, dashboards, and drill-downs - no SQL required.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"BI tools"}]},{"id":"p87581JncVo0gMYop2De","title":"Tableau Cloud","pathname":"/consume/activate/bi-tools/tableau-cloud","siteSpaceId":"sitesp_mxATN","description":"This guide covers connecting Tableau Cloud to Data Products, publishing semantic models, and creating workbooks.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"BI tools"}]},{"id":"aY8JQZEHDqPZQpEXwjIt","title":"Power BI Desktop","pathname":"/consume/activate/bi-tools/desktop","siteSpaceId":"sitesp_mxATN","description":"Connect Power BI Desktop to turn your dimensions and measures into charts, dashboards, and drill-downs - no SQL required.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"BI tools"}]},{"id":"SSSTXyGOsoVo9FsxniEN","title":"Power BI Service","pathname":"/consume/activate/bi-tools/service","siteSpaceId":"sitesp_mxATN","description":"Publish Power BI reports to Power BI Service and connect them to DataOS through an on-premises gateway.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"BI tools"}]},{"id":"KwtuX0mHy9F56t2to3KW","title":"APIs","pathname":"/consume/activate/apis","siteSpaceId":"sitesp_mxATN","description":"Connect applications and automation to Data Products with GraphQL, semantic query, metadata, activity, and quality APIs.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"}]},{"id":"GtogVbvRCYc8IwCux3FM","title":"Collection","pathname":"/consume/activate/apis/collection","siteSpaceId":"sitesp_mxATN","description":"Import the Postman collection for a Data Product and test API requests fast.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"}]},{"id":"OwF7vwRBwKRPCBu8PMBx","title":"SDK","pathname":"/consume/activate/apis/sdk","siteSpaceId":"sitesp_mxATN","description":"Build applications and automations on top of Data Product APIs with typed SDKs.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"}]},{"id":"gNGZ36vxNYQ4AzwMdwgH","title":"Python","pathname":"/consume/activate/apis/sdk/python-sdk","siteSpaceId":"sitesp_mxATN","description":"Install and use the Python SDK for Data Product APIs.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"},{"label":"SDK"}]},{"id":"BtrM0F5tZXvni4nq0gqx","title":"TypeScript","pathname":"/consume/activate/apis/sdk/typescript-sdk","siteSpaceId":"sitesp_mxATN","description":"Install and use the TypeScript SDK for Data Product APIs.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"},{"label":"SDK"}]},{"id":"6qALBszpbAsLjFCwjI4T","title":"Data application","pathname":"/consume/activate/apis/data-application","siteSpaceId":"sitesp_mxATN","description":"Register and run an application built on top of a Data Product's APIs.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"}]},{"id":"hYPhu3pDBttYFinvX7nX","title":"Deploy","pathname":"/consume/activate/apis/data-application/deploy","siteSpaceId":"sitesp_mxATN","description":"Deploy a containerized Data Product application in DataOS using an app Resource.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"},{"label":"Data application"}]},{"id":"Z1q75nQAO4q3hLBrbT5q","title":"Link","pathname":"/consume/activate/apis/data-application/link","siteSpaceId":"sitesp_mxATN","description":"Surface an externally hosted Data Product application using a link Resource.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"APIs"},{"label":"Data application"}]},{"id":"CGgiRHYLbrCQJ0IOK3Gx","title":"Database clients","pathname":"/consume/activate/database-clients","siteSpaceId":"sitesp_mxATN","description":"Connect a desktop SQL client to a Data Product and query its semantic models through the MySQL wire protocol.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"}]},{"id":"zeJH6PpmyXexwM18iEZo","title":"MySQL","pathname":"/consume/activate/database-clients/mysql","siteSpaceId":"sitesp_mxATN","description":"Connect a command-line MySQL client to a Data Product and query its semantic models.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"Database clients"}]},{"id":"26GkgVyUfpQxyC12l0G0","title":"DBeaver","pathname":"/consume/activate/database-clients/dbeaver","siteSpaceId":"sitesp_mxATN","description":"Connect DBeaver to a Data Product and query semantic models over the MySQL protocol.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"},{"label":"Database clients"}]},{"id":"F3aBuU2rkJ0gTT3mcirg","title":"Reusability","pathname":"/consume/activate/reusability","siteSpaceId":"sitesp_mxATN","description":"Reuse a published Data Product as the input for a new one instead of rebuilding it.","breadcrumbs":[{"label":"Consume"},{"label":"Activate"}]},{"id":"88lHPaJpxbG4BT5KuKPP","title":"Consume with AI","pathname":"/consume/consume-with-ai/overview","siteSpaceId":"sitesp_mxATN","description":"Use AI assistants and agents with Data Product MCP to discover, evaluate, and query governed data.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"}]},{"id":"pLDUdEwR6nrtH81ediPM","title":"Connect a client","pathname":"/consume/consume-with-ai/connect-a-client","siteSpaceId":"sitesp_mxATN","description":"Connect an MCP-compatible AI client to Data Product MCP.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"}]},{"id":"oJMSMe3JxB6tSpS2Ec7w","title":"Claude","pathname":"/consume/consume-with-ai/connect-a-client/claude","siteSpaceId":"sitesp_mxATN","description":"Configure Claude Code or Claude Desktop to connect with Data Product MCP.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect a client"}]},{"id":"TMYi8fb2mgNhQ5pvoqUN","title":"Cursor","pathname":"/consume/consume-with-ai/connect-a-client/cursor","siteSpaceId":"sitesp_mxATN","description":"Connect Cursor to Data Product MCP for AI-assisted discovery and queries.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect a client"}]},{"id":"H3ZX4bm72d0J6GkSuTr7","title":"Copilot in VS Code","pathname":"/consume/consume-with-ai/connect-a-client/copilot-vs-code","siteSpaceId":"sitesp_mxATN","description":"Configure GitHub Copilot in VS Code to use Data Product MCP.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect a client"}]},{"id":"MokB6WwYUW4aPnbwhHNF","title":"ChatGPT Desktop (Codex)","pathname":"/consume/consume-with-ai/connect-a-client/codex-desktop","siteSpaceId":"sitesp_mxATN","description":"Configure ChatGPT Desktop (Codex) to use Data Product MCP.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect a client"}]},{"id":"8HyVybfi54JI2W0ladSf","title":"Custom","pathname":"/consume/consume-with-ai/connect-a-client/custom","siteSpaceId":"sitesp_mxATN","description":"Connect any MCP-compatible LLM tool to Data Product MCP.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect a client"}]},{"id":"YCcJLN5QzOEnQR22Clci","title":"Connect an agentic framework","pathname":"/consume/consume-with-ai/connect-an-agentic-framework","siteSpaceId":"sitesp_mxATN","description":"Connect agentic frameworks to Data Product MCP for governed tool access.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"}]},{"id":"7aXQNiAFwFCnz1wonOD3","title":"LangChain","pathname":"/consume/consume-with-ai/connect-an-agentic-framework/langchain","siteSpaceId":"sitesp_mxATN","description":"Connect LangChain workflows to Data Product MCP for governed tools.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect an agentic framework"}]},{"id":"M8TKeMjRZ6Tan7HvwqCW","title":"Vercel AI SDK","pathname":"/consume/consume-with-ai/connect-an-agentic-framework/vercel-ai-sdk","siteSpaceId":"sitesp_mxATN","description":"Connect Vercel AI SDK applications to Data Product MCP tools.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect an agentic framework"}]},{"id":"LhGZgUd4dMB94P0WvliW","title":"AgentScope","pathname":"/consume/consume-with-ai/connect-an-agentic-framework/agentscope","siteSpaceId":"sitesp_mxATN","description":"Connect AgentScope applications to Data Product MCP with an HTTP client.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect an agentic framework"}]},{"id":"ongtmy4nIEWW8DLTcFcd","title":"Custom","pathname":"/consume/consume-with-ai/connect-an-agentic-framework/custom","siteSpaceId":"sitesp_mxATN","description":"Connect any agentic framework to Data Product MCP with the generic configuration.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"},{"label":"Connect an agentic framework"}]},{"id":"j5NCcRpeNYlrQPlQpvUC","title":"Discover in natural language","pathname":"/consume/consume-with-ai/discover-in-natural-language","siteSpaceId":"sitesp_mxATN","description":"Find the right Data Product by asking about topics, domains, metrics, or ownership in natural language.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"}]},{"id":"nCA1NfcD1x6jk9dxpECT","title":"Understand in natural language","pathname":"/consume/consume-with-ai/understand-in-natural-language","siteSpaceId":"sitesp_mxATN","description":"Inspect a Data Product's schema, lineage, profile, quality, and runs before you rely on it, through conversation.","breadcrumbs":[{"label":"Consume"},{"label":"Consume with AI"}]},{"id":"q5Hr6vI7clmPaxe2vVyQ","title":"Recipes","pathname":"/consume/recipes","siteSpaceId":"sitesp_mxATN","description":"Step-by-step, end-to-end walkthroughs for common consumer tasks.","breadcrumbs":[{"label":"Consume"}]},{"id":"0NwS1GKKcBPlsSuzf35l","title":"Introduction","pathname":"/operate","siteSpaceId":"sitesp_iG2Oe","description":"How DataOS runs as one governed platform, and the five roles that operate and maintain it.","breadcrumbs":[{"label":"Operate"}]},{"id":"ezstVncwgK5ip4gpKoWG","title":"Architecture","pathname":"/operate/architecture","siteSpaceId":"sitesp_iG2Oe","description":"DataOS follows the Control Plane–Data Plane architecture pattern, where the DataOS Instance acts as the Control Plane.","breadcrumbs":[{"label":"Operate"}]},{"id":"75foLhbxYEZ3uRUb0TZL","title":"Authentication & Authorization","pathname":"/operate/authentication-and-authorization","siteSpaceId":"sitesp_iG2Oe","description":"Connect DataOS to your identity provider for authentication, and understand how authorization is evaluated after sign-in.","breadcrumbs":[{"label":"Operate"}]},{"id":"5KkiMG8UTzY6Ac9eqaHX","title":"Access control","pathname":"/operate/access-control","siteSpaceId":"sitesp_iG2Oe","description":"How DataOS controls access through access levels, roles, permissions, explicit grants, resource dependencies, and runtime identity.","breadcrumbs":[{"label":"Operate"}]},{"id":"V04zLNwr3iavlVAqZ2Gb","title":"Roles & Permissions","pathname":"/operate/access-control/roles-and-permissions","siteSpaceId":"sitesp_iG2Oe","description":"How DataOS decides who can do what: roles, the explicit-grant model, and running resources as another user.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"}]},{"id":"uMquEv3Nl8yczHVN9xvq","title":"Resource-level permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions","siteSpaceId":"sitesp_iG2Oe","description":"This page includes permissions specific to each resource within DataOS","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"}]},{"id":"zKW9WTFlOBDvQWiZpXhu","title":"Compute: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/compute-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Compute Resource, and how access to it is managed.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"e37JUvPqCBrEwmXBkSDL","title":"Depot: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/depot-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Depot, and how access to it and its data is managed.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"Zaddq9wYPrAfSySTsR6S","title":"Lakehouse: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/lakehouse-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Lakehouse, what permissions it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"aUKE3ODfVsGEynmqeNUt","title":"Minerva Cluster: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/minerva-cluster-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Minerva Cluster, what permissions it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"yDJViAKAfiHFWXfEQXGy","title":"Nilus: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/nilus-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Nilus resource, what it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"JXBjpOpkKFmsRbBhbY7x","title":"Secret: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/secret-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Secret, and how access to it is managed.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"LiPKAXUZAnA4BJ75cNfI","title":"Service: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/service-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Service, what permissions it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"thU2bobkTd1BLaaGGZRO","title":"Vulcan: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/vulcan-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Vulcan resource, what it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"MRZ36DduRj0ZwOaTzv5d","title":"Worker: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/worker-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Worker, what it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"FqoGF5VN4mmCMb32zAAi","title":"Workflow: permissions","pathname":"/operate/access-control/roles-and-permissions/resource-level-permissions/workflow-access-control","siteSpaceId":"sitesp_iG2Oe","description":"Who can create a Workflow, what it depends on, and how access is managed once it exists.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"Resource-level permissions"}]},{"id":"C7i5sCJIPhiappyop1Gz","title":"RunAsUser permissions","pathname":"/operate/access-control/roles-and-permissions/runasuser-permissions","siteSpaceId":"sitesp_iG2Oe","description":"Run a resource under another user's identity without changing ownership or submitter identity.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"}]},{"id":"szyNg6zecUntjNT8fFAr","title":"Create an application user","pathname":"/operate/access-control/roles-and-permissions/runasuser-permissions/create-an-application-user","siteSpaceId":"sitesp_iG2Oe","description":"Create a non-personal application identity in DataOS.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"RunAsUser permissions"}]},{"id":"hC5OmqAlpBSFtQMOppLw","title":"Grant permissions","pathname":"/operate/access-control/roles-and-permissions/runasuser-permissions/grant-permissions","siteSpaceId":"sitesp_iG2Oe","description":"Grant an application user the permissions it needs, then grant developers RunAsUser to act under its identity.","breadcrumbs":[{"label":"Operate"},{"label":"Access control"},{"label":"Roles & Permissions"},{"label":"RunAsUser permissions"}]},{"id":"Tm06ZA47pLhZ4JWObCuS","title":"Observability","pathname":"/operate/observability-model","siteSpaceId":"sitesp_iG2Oe","description":"The layers of monitoring in DataOS, and which signals each role watches.","breadcrumbs":[{"label":"Operate"}]},{"id":"2YGpkXjgo3GfYH0hAWmj","title":"DataOS Instance Status","pathname":"/operate/instance-status","siteSpaceId":"sitesp_iG2Oe","description":"Check the status of DataOS Instance services from the Instance Status page.","breadcrumbs":[{"label":"Operate"}]},{"id":"25Epne8fE95Z7WBZ6MY5","title":"DataOS Operator overview","pathname":"/operate/dataos-operator/operator","siteSpaceId":"sitesp_iG2Oe","description":"End-to-end Operator workflow from infrastructure deployment to Tenant readiness.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"1b9ajJktvgamhbOWv3JE","title":"Provision Data Plane","pathname":"/operate/dataos-operator/provision-data-plane","siteSpaceId":"sitesp_iG2Oe","description":"Provision the Data Plane, the execution layer in the customer cloud: prerequisites, the sequence, and the per-cloud runbooks.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"zN9Sffbvb8Pb5AtZLSeJ","title":"AWS","pathname":"/operate/dataos-operator/provision-data-plane/aws","siteSpaceId":"sitesp_iG2Oe","description":"Provision AWS Data Plane","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Provision Data Plane"}]},{"id":"4Gjc7hpbZ7mqpXnkK6hr","title":"AWS (UI)","pathname":"/operate/dataos-operator/provision-data-plane/aws-ui","siteSpaceId":"sitesp_iG2Oe","description":"Provision an AWS BYOC Data Plane from the DataOS UI","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Provision Data Plane"}]},{"id":"eSStarC0hDKTfk4uj9x3","title":"Azure","pathname":"/operate/dataos-operator/provision-data-plane/azure","siteSpaceId":"sitesp_iG2Oe","description":"Provision Azure Data Plane","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Provision Data Plane"}]},{"id":"5wk5BtpdO9KzU1mOwh9M","title":"Azure (UI)","pathname":"/operate/dataos-operator/provision-data-plane/azure-ui","siteSpaceId":"sitesp_iG2Oe","description":"Provision an Azure BYOC Data Plane from the DataOS UI","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Provision Data Plane"}]},{"id":"rA77DWiHgXsXbR2QfK2O","title":"Design Tenants","pathname":"/operate/dataos-operator/design-tenants","siteSpaceId":"sitesp_iG2Oe","description":"How to slice Tenants before you create them: the common blueprints and a framework for choosing.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"ElL6qPFEcQGulqtvjQvC","title":"Choosing between an Instance and a Tenant","pathname":"/operate/dataos-operator/choosing-between-instance-and-tenant","siteSpaceId":"sitesp_iG2Oe","description":"Decide whether a new requirement needs a separate DataOS Instance or a Tenant in an existing one.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"93eoFkKzWHrG7IYt9JuI","title":"Create & set up Tenant","pathname":"/operate/dataos-operator/create-tenants","siteSpaceId":"sitesp_iG2Oe","description":"Create a Tenant, attach the Data Plane and Compute, install Stacks, and make it ready for a team to deploy Data Products.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"38S5pl6qcRwV3zn8GCw8","title":"Deploy Stacks","pathname":"/operate/dataos-operator/create-tenants/deploy-stacks","siteSpaceId":"sitesp_iG2Oe","description":"Deploy the Lakehouse MRuntime Stack, the Data Product MCP server, and its OAuth broker for a Tenant.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Create & set up Tenant"}]},{"id":"bpC5KANotkTM5oEwbG7Y","title":"Hand off Tenant","pathname":"/operate/dataos-operator/create-tenants/hand-off-tenant","siteSpaceId":"sitesp_iG2Oe","description":"Confirm the Tenant is ready, assign a Tenant Admin, and hand day-to-day operation over to them.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"},{"label":"Create & set up Tenant"}]},{"id":"8TDEDGzxeepbmVg1bWwk","title":"Manage access","pathname":"/operate/dataos-operator/governance","siteSpaceId":"sitesp_iG2Oe","description":"What the Operator governs: assigning Tenant Admins, keeping Tenant roles consistent, and auditing high-privilege access.","breadcrumbs":[{"label":"Operate"},{"label":"DataOS Operator"}]},{"id":"pJZcCj1XZZF5ZiYwdmEt","title":"Tenant Admin overview","pathname":"/operate/tenant-admin/tenant-admin","siteSpaceId":"sitesp_iG2Oe","description":"The role that runs a Tenant day to day: resources, access, governance, and health.","breadcrumbs":[{"label":"Operate"},{"label":"Tenant Admin"}]},{"id":"vjmncVzc6SEUXPPPwfpE","title":"Create Compute","pathname":"/operate/tenant-admin/create-compute","siteSpaceId":"sitesp_iG2Oe","description":"Provision additional Compute (node pools) for Tenant Data Product workloads.","breadcrumbs":[{"label":"Operate"},{"label":"Tenant Admin"}]},{"id":"3DsUO0N6nbmgYtMyAc6j","title":"Add Depots & Secrets","pathname":"/operate/tenant-admin/add-data-sources-and-secrets","siteSpaceId":"sitesp_iG2Oe","description":"Connect the Tenant to external systems with Secrets and Depots.","breadcrumbs":[{"label":"Operate"},{"label":"Tenant Admin"}]},{"id":"Eohxv9kjJR9EwIAfqGjA","title":"Manage access","pathname":"/operate/tenant-admin/governance","siteSpaceId":"sitesp_iG2Oe","description":"Grant developers access to Compute and data sources, onboard users, and set up the ApplicationUser and runAsUser mechanics.","breadcrumbs":[{"label":"Operate"},{"label":"Tenant Admin"}]},{"id":"KjmIM4DQY2Gqj8knOW40","title":"Data Admin overview","pathname":"/operate/data-admin/data-admin","siteSpaceId":"sitesp_iG2Oe","description":"The role that owns and governs the Lakehouse.","breadcrumbs":[{"label":"Operate"},{"label":"Data Admin"}]},{"id":"4le9oJPj5ISWWCkECQca","title":"Manage Lakehouse","pathname":"/operate/data-admin/manage-lakehouse","siteSpaceId":"sitesp_iG2Oe","description":"Provision the Lakehouse and manage its namespaces, schemas, tables, and views.","breadcrumbs":[{"label":"Operate"},{"label":"Data Admin"}]},{"id":"apu9xJXoY62ZMaNss5br","title":"Manage Lakehouse data access","pathname":"/operate/data-admin/access-control","siteSpaceId":"sitesp_iG2Oe","description":"Govern who can read and write Lakehouse data.","breadcrumbs":[{"label":"Operate"},{"label":"Data Admin"}]},{"id":"YHth8kJbnVmo9wv3k515","title":"Data Developer overview","pathname":"/operate/data-developer/data-product-developer","siteSpaceId":"sitesp_iG2Oe","description":"The role that builds and operates Data Products inside a Tenant.","breadcrumbs":[{"label":"Operate"},{"label":"Data Developer"}]},{"id":"RCuGxKV84rwXRsVIpg4G","title":"Get access","pathname":"/operate/data-developer/access-and-readiness","siteSpaceId":"sitesp_iG2Oe","description":"The roles and grants a Data Developer needs, and the checklist that confirms the Tenant can run what you build.","breadcrumbs":[{"label":"Operate"},{"label":"Data Developer"}]},{"id":"Hmnwe9H5sT6IdGMht3IV","title":"Manage Data Product access","pathname":"/operate/data-developer/manage-data-product-access","siteSpaceId":"sitesp_iG2Oe","description":"The access policies your product enforces, and who you let consume it.","breadcrumbs":[{"label":"Operate"},{"label":"Data Developer"}]},{"id":"3AKvxbjxShUoDemBPmot","title":"Data Consumer overview","pathname":"/operate/data-consumer/data-product-consumer","siteSpaceId":"sitesp_iG2Oe","description":"The read-only role that consumes approved Data Products.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"fpKNLz7nkqH1j4HP384f","title":"Get access","pathname":"/operate/data-consumer/get-access","siteSpaceId":"sitesp_iG2Oe","description":"Request access to a Tenant and the products you need, and understand read-only scope.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"KlProJBe8tw0UuZuNsnP","title":"Consumption paths","pathname":"/operate/data-consumer/modes-of-consumption","siteSpaceId":"sitesp_iG2Oe","description":"The paths for consuming a product, and how to choose one.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"dOoYSpMUYZkkBxzmb98A","title":"Governance enforced on you","pathname":"/operate/data-consumer/governance-enforced","siteSpaceId":"sitesp_iG2Oe","description":"Why you see what you see, and how to ask for more.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"M9u6xXhytgqeTzdfSTYL","title":"Trust and monitor","pathname":"/operate/data-consumer/trust-and-monitor","siteSpaceId":"sitesp_iG2Oe","description":"The signals to check before you rely on a Data Product.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"VsUikZa8fh3IivbDISiO","title":"Raise issues and track changes","pathname":"/operate/data-consumer/support-and-changes","siteSpaceId":"sitesp_iG2Oe","description":"Reach the owner, raise issues, and stay ahead of breaking changes.","breadcrumbs":[{"label":"Operate"},{"label":"Data Consumer"}]},{"id":"ePnEHwk7OCbCSOdwBD0K","title":"Overview","pathname":"/operate/data-steward/overview","siteSpaceId":"sitesp_iG2Oe","description":"How Data Stewards update business glossary descriptions.","breadcrumbs":[{"label":"Operate"},{"label":"Data Steward"}]},{"id":"8mAaQvVzfIPN3PgOAvJf","title":"Recipes","pathname":"/operate/recipes","siteSpaceId":"sitesp_iG2Oe","description":"Step-by-step, end-to-end walkthroughs for common Operator/Tenant Admin tasks.","breadcrumbs":[{"label":"Operate"}]},{"id":"1vohnwBpU7jbxS1ij2Qp","title":"Provide Resource permissions to Developers","pathname":"/operate/recipes/how-to-give-access","siteSpaceId":"sitesp_iG2Oe","description":"Grant a Data Developer the Can Use permissions their Data Product needs: Compute, a Snowflake Depot, its linked Secret, and a Cluster.","breadcrumbs":[{"label":"Operate"},{"label":"Recipes"}]},{"id":"Skn975J4l0lwQHdqmijz","title":"Set a Data Product's runtime identity","pathname":"/operate/recipes/how-to-set-a-data-products-runtime-identity","siteSpaceId":"sitesp_iG2Oe","description":"Give a deployed Data Product a stable runtime identity. An ApplicationUser referenced through runAsUser reaches its Depots, Secrets, Compute, and Cluster without depending on one person's access.","breadcrumbs":[{"label":"Operate"},{"label":"Recipes"}]},{"id":"jJZDQWQFhI072WILTue0","title":"DataOS Reference","pathname":"/references","siteSpaceId":"sitesp_LgEPg","description":"The full reference layer of DataOS: per-engine manuals, complete DataOS resource syntax, and interface specifications.","breadcrumbs":[{"label":"References"}]},{"id":"SI9eSQGKOn7sLO9Bk800","title":"Engine Reference Guide","pathname":"/references/engine-guide/engine-guide","siteSpaceId":"sitesp_LgEPg","description":"The full per-engine technical reference for building and running a Data Product on each supported Vulcan engine in DataOS.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"PKlH5BNK6kfuUXYZUU3t","title":"Snowflake","pathname":"/references/engine-guide/snowflake","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for building and running a Vulcan Data Product on Snowflake, covering connection, grants, materialization, operations, performance, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"B92ET1dpTNh2Gg5IB4ex","title":"Permissions and grants","pathname":"/references/engine-guide/snowflake/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Configure required Snowflake roles, grants, and DataOS access for Vulcan deployments.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"hzBpDx4jmnIYnkt6a31Q","title":"Connect to Snowflake","pathname":"/references/engine-guide/snowflake/connect-to-snowflake","siteSpaceId":"sitesp_LgEPg","description":"Connect Vulcan to Snowflake using direct authentication or a DataOS Depot.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"QtoC6i7xHw1KTzCx1csL","title":"Materialization behavior","pathname":"/references/engine-guide/snowflake/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Understand how Vulcan model kinds map to native Snowflake operations.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"4hPkCXSdPK7EQOfh7t8y","title":"Limits & Performance","pathname":"/references/engine-guide/snowflake/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Size Snowflake compute, control concurrency, manage costs, and plan for performance.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"QgTXE2R0P283c8duG7cQ","title":"Troubleshooting","pathname":"/references/engine-guide/snowflake/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose common Snowflake and Vulcan failures, then recover production workloads.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"Xspzbro6HveUW3YbUnw6","title":"Recipes","pathname":"/references/engine-guide/snowflake/recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common Snowflake patterns with production-ready Vulcan recipes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"}]},{"id":"ssg020TTWQ8q1bfDesox","title":"Dynamic Tables and Access Policies","pathname":"/references/engine-guide/snowflake/recipes/build-a-snowflake-powered-data-product","siteSpaceId":"sitesp_LgEPg","description":"Create a Snowflake Data Product with a Dynamic Table, column masking, and row access policies using Vulcan.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"},{"label":"Recipes"}]},{"id":"dN1toNl3GkLwxppHph29","title":"Use Snowpark Python Models","pathname":"/references/engine-guide/snowflake/recipes/use-snowpark-python-models","siteSpaceId":"sitesp_LgEPg","description":"Build and run an RFM customer-segmentation model with Snowpark Python on Snowflake.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Snowflake"},{"label":"Recipes"}]},{"id":"Hisbh1oiE2t9wkUiGzWo","title":"Databricks","pathname":"/references/engine-guide/databricks","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for building and running a Vulcan Data Product on Databricks, covering connection, Unity Catalog grants, materialization, state store, operations, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"tXhb6YFYGsj1GWIh5oHQ","title":"Permissions and grants","pathname":"/references/engine-guide/databricks/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Know about Unity Catalog grants and DataOS access for Databricks deployments.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Databricks"}]},{"id":"rA04O7zNYUu8ip3wH6h9","title":"Connect to Databricks","pathname":"/references/engine-guide/databricks/connect-to-databricks","siteSpaceId":"sitesp_LgEPg","description":"Configure direct and depot connections, external state storage, local development, and production deployment.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Databricks"}]},{"id":"LgyqLzpev4HzXtsTM1hu","title":"Materialization behavior","pathname":"/references/engine-guide/databricks/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Understand how Vulcan model kinds map to Delta Lake operations on Databricks.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Databricks"}]},{"id":"XVygxsCRy8e2DUX2Sdsv","title":"Limits & Performance","pathname":"/references/engine-guide/databricks/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Configure Databricks warehouse sizing, concurrency, cost guardrails, and performance baselines for reliable production workloads.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Databricks"}]},{"id":"A89GABOX4ZuPy2KzTjxh","title":"Troubleshooting","pathname":"/references/engine-guide/databricks/troubleshooting-databricks","siteSpaceId":"sitesp_LgEPg","description":"Diagnose Databricks connection, warehouse, and state-store failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Databricks"}]},{"id":"2MqZPjbIBHptWQmtrlEh","title":"Postgres","pathname":"/references/engine-guide/postgres","siteSpaceId":"sitesp_LgEPg","description":"Choose, configure, build, serve, and operate PostgreSQL-backed Vulcan Data Products.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"uZmb4QvkILtdgWy5rTDq","title":"Permissions and grants","pathname":"/references/engine-guide/postgres/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Provision PostgreSQL and DataOS access before configuring or deploying a Data Product.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"yMhNRX44ewnFDdinpHzH","title":"Connect to Postgres","pathname":"/references/engine-guide/postgres/connect-to-postgres","siteSpaceId":"sitesp_LgEPg","description":"Configure PostgreSQL gateways, develop locally with Docker, and prepare production deployment.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"RzlFn74HG6hN6FrI5s15","title":"Materialization behavior","pathname":"/references/engine-guide/postgres/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Choose PostgreSQL model strategies and apply engine-specific model behavior.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"iGtyr4RjdcZc7PASacm8","title":"Limits & performance","pathname":"/references/engine-guide/postgres/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Size, schedule, and tune PostgreSQL workloads for reliable production operations.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"TDYBv4pGb2mMdrDg13Ck","title":"Troubleshooting","pathname":"/references/engine-guide/postgres/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose PostgreSQL connection, permissions, model, and runtime failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"TZTwrzJinpYCTBKeeqrF","title":"Recipes","pathname":"/references/engine-guide/postgres/recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common PostgreSQL patterns with Vulcan.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"}]},{"id":"jLkdYKmrysRjXt0mfEyc","title":"Full-Text Search and Row-Level Security","pathname":"/references/engine-guide/postgres/recipes/full-text-search-and-row-level-security","siteSpaceId":"sitesp_LgEPg","description":"Build PostgreSQL search and access controls with full-text search and row-level security.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Postgres"},{"label":"Recipes"}]},{"id":"1w2u66mNsUZBeEsUVFFM","title":"Spark","pathname":"/references/engine-guide/spark-1","siteSpaceId":"sitesp_LgEPg","description":"Technical guide to building and running a Vulcan Data Product on Apache Spark with Iceberg: connection setup, materialization, tuning, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"Eimm6LuN2qR4PLbCR5Ak","title":"Permissions and grants","pathname":"/references/engine-guide/spark-1/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Provision DataOS, lakehouse, compute, state-store, storage, and Git access for Spark deployments.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"JtQJURw3mpiHwakvng6h","title":"Connect to Spark","pathname":"/references/engine-guide/spark-1/connection-options","siteSpaceId":"sitesp_LgEPg","description":"Configure the Vulcan gateway connection to Spark and load the JVM and   Python dependencies the driver and executors need.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"0LqfnA9d7Yn1zY66nfHP","title":"Spark lakehouse limitations","pathname":"/references/engine-guide/spark-1/spark-lakehouse-limitations","siteSpaceId":"sitesp_LgEPg","description":"Constraints for Vulcan Spark and Iceberg lakehouse workloads.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"Bvc0mMlXJxogJINgqxcQ","title":"Materialization behaviour","pathname":"/references/engine-guide/spark-1/materialization-behaviour","siteSpaceId":"sitesp_LgEPg","description":"Understand how Vulcan model kinds map to native Spark/Iceberg operations,   and how the semantic layer and business metrics build on top of them.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"u2TKJ6Ahvy54yJB3Vlcu","title":"Limits & Performance","pathname":"/references/engine-guide/spark-1/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Size Spark workloads, tune execution, and set performance and cost guardrails.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"cl0XUVPQIM0UDJVHmZ5Y","title":"Troubleshooting","pathname":"/references/engine-guide/spark-1/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose Spark, Iceberg, dependency, deployment, and runtime failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"SNcnroiFrYQn48LCr2jr","title":"Recipes","pathname":"/references/engine-guide/spark-1/recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common Spark patterns with production-ready Vulcan recipes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"}]},{"id":"Gg9oXVeZktFLGsFjB81K","title":"Deployment recipes","pathname":"/references/engine-guide/spark-1/recipes/deployment-recipes","siteSpaceId":"sitesp_LgEPg","description":"Ready-to-copy sparkConf and resource sizing for common Spark deployment   shapes: daily incremental, medium lakehouse mart, large backfill, and   MERGE-heavy CDC.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Spark"},{"label":"Recipes"}]},{"id":"23WWwm2NNa4r9j00NyfF","title":"Trino","pathname":"/references/engine-guide/trino-1","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for running a Vulcan Data Product on Trino, with three deployment shapes (dedicated managed Trino cluster, shared Minerva, and bring-your-own external Trino).","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"rzQEuFFy3NDSFZqaDRHV","title":"Dedicated Trino","pathname":"/references/engine-guide/trino-1/dedicated-cluster","siteSpaceId":"sitesp_LgEPg","description":"The full reference for the dedicated managed Trino cluster (vulcan-dg-trino), one cluster per Data Product, covering the deploy manifest, catalog priority, JVM tuning, and failure modes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"}]},{"id":"drrqxFPd5d6IsFWqdtj3","title":"Cluster sizing and operations","pathname":"/references/engine-guide/trino-1/dedicated-cluster/dedicated-cluster-sizing-and-operations","siteSpaceId":"sitesp_LgEPg","description":"Configure fixed worker capacity, write targets, fault handling, and JVM memory for dedicated Trino.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"},{"label":"Dedicated Trino"}]},{"id":"wHD0FvDFrmijcDMiRgkr","title":"Minerva","pathname":"/references/engine-guide/trino-1/minerva-1","siteSpaceId":"sitesp_LgEPg","description":"The full reference for connecting Vulcan to a shared, DataOS-managed Minerva (Trino) cluster, covering the secret and password generation, projection into config, and the connection setup.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"}]},{"id":"lZiSR1ZkbtZ69JHyyfKW","title":"External Trino","pathname":"/references/engine-guide/trino-1/external-trino","siteSpaceId":"sitesp_LgEPg","description":"The full reference for connecting Vulcan to a bring-your-own Trino, Starburst, or self-hosted cluster that exists outside DataOS, covering connection options, authentication, and catalog notes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"}]},{"id":"nHCGqDUGXp1qdMC1ZVtw","title":"Starburst","pathname":"/references/engine-guide/trino-1/external-trino/starburst","siteSpaceId":"sitesp_LgEPg","description":"Build and run a Vulcan Data Product on Starburst Galaxy using a Trino-compatible external cluster, covering connection, deployment, materialization, operations, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"},{"label":"External Trino"}]},{"id":"28M1FX8ujZYXml5a1k18","title":"Capabilities and limitations","pathname":"/references/engine-guide/trino-1/capabilities-and-limitations","siteSpaceId":"sitesp_LgEPg","description":"Confirm Trino catalog compatibility, model support, and view security before deployment.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Trino"}]},{"id":"aH0QalLGvpvdOMKZJ6sR","title":"SQL Server","pathname":"/references/engine-guide/sql-server","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for building and running a Vulcan Data Product on Microsoft SQL Server, covering connection, grants, materialization, local Docker setup, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"6Zw7YDyQuiQFYjZu7B6E","title":"Permissions and grants","pathname":"/references/engine-guide/sql-server/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Provision SQL Server and DataOS access before configuring or deploying a Data Product.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"SQL Server"}]},{"id":"NOX6TVPNMAx6RxrnOHZC","title":"Connect to SQL Server","pathname":"/references/engine-guide/sql-server/connect-to-sql-server","siteSpaceId":"sitesp_LgEPg","description":"Configure SQL Server gateways, develop locally with Docker, and prepare production deployment.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"SQL Server"}]},{"id":"qFNm9zNtINvSn0Qibq9c","title":"Materialization behavior","pathname":"/references/engine-guide/sql-server/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Choose SQL Server model strategies and apply engine-specific model behavior.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"SQL Server"}]},{"id":"nLYJQwtLvuIBRqdxydVW","title":"Limits & performance","pathname":"/references/engine-guide/sql-server/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Size, schedule, and tune SQL Server workloads for reliable production operations.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"SQL Server"}]},{"id":"MBUtcqRlck8iAS42K84k","title":"Troubleshooting","pathname":"/references/engine-guide/sql-server/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose SQL Server connection, permissions, model, and runtime failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"SQL Server"}]},{"id":"5Xpdpjd1lXVRD1cpaNCf","title":"Microsoft Fabric","pathname":"/references/engine-guide/microsoft-fabric","siteSpaceId":"sitesp_LgEPg","description":"Technical reference for building and running Vulcan Data Products on Microsoft Fabric Warehouse, covering connection, authentication, materialization, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"RqWwxiB5QI4YOkepj86Y","title":"Permissions and grants","pathname":"/references/engine-guide/microsoft-fabric/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Provision Fabric and DataOS access before configuring or deploying a Data Product.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Microsoft Fabric"}]},{"id":"8Tx4MEpwJFe3x0LhtBEY","title":"Connect to Microsoft Fabric","pathname":"/references/engine-guide/microsoft-fabric/connect-to-microsoft-fabric","siteSpaceId":"sitesp_LgEPg","description":"Configure a Fabric gateway, develop against a dev warehouse, and prepare production deployment.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Microsoft Fabric"}]},{"id":"MSeJepNe24YiA3z0krNV","title":"Materialization behavior","pathname":"/references/engine-guide/microsoft-fabric/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Choose Fabric model kinds and understand their native Warehouse behavior.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Microsoft Fabric"}]},{"id":"SVcFpUe10hmPySSSjDuU","title":"Limits & performance","pathname":"/references/engine-guide/microsoft-fabric/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Set Fabric capacity, concurrency, and workload guardrails for reliable operations.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Microsoft Fabric"}]},{"id":"393D8hdcwYntiwKeIIA7","title":"Troubleshooting","pathname":"/references/engine-guide/microsoft-fabric/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose Fabric connection, warehouse, materialization, and endpoint failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Microsoft Fabric"}]},{"id":"6cbef5ca6d7849bfbc706733f66a01b3a158ece1","title":"Redshift","pathname":"/references/engine-guide/redshift","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for building and running a Vulcan Data Product on Amazon Redshift, covering connection, grants, materialization, operations, performance, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"f80bda01c1d37b03f278c29fe34846e9be6791c1","title":"Permissions and Grants","pathname":"/references/engine-guide/redshift/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Set up Redshift roles, grants, and DataOS access for Vulcan.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"83bddff7148c1b477c38165317b604d7a1100915","title":"Connect to Redshift","pathname":"/references/engine-guide/redshift/connect-to-redshift","siteSpaceId":"sitesp_LgEPg","description":"Configure Redshift connections for local development and DataOS Depot deployments.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"4713c90be6f0ef8f4154316dd3258c60099a7df3","title":"Materialization Behavior","pathname":"/references/engine-guide/redshift/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Choose materialization strategies for Redshift models and semantic layers.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"4a67caded23b65bfadf46612fe924ba590b7cdff","title":"Limits and Performance","pathname":"/references/engine-guide/redshift/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Set Redshift resource, concurrency, and performance guardrails.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"f1234caad70f8ced0c63b8c45a1624cd506b278a","title":"Troubleshooting","pathname":"/references/engine-guide/redshift/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose and recover from common Redshift deployment and runtime failures.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"TOqiPHIkdjeRCuDTmDJ0","title":"Recipes","pathname":"/references/engine-guide/redshift/recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common Redshift patterns with production-ready Vulcan recipes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"}]},{"id":"71b7a68a0836d4422e6a6ea38bbe1cb9530a8216","title":"Deployment Recipes","pathname":"/references/engine-guide/redshift/recipes/deployment-recipes","siteSpaceId":"sitesp_LgEPg","description":"Deploy Vulcan projects to Redshift using DataOS resources.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Redshift"},{"label":"Recipes"}]},{"id":"dbea0a9b932a586c179d6d22b0bf3be4ab908a06","title":"Athena","pathname":"/references/engine-guide/athena","siteSpaceId":"sitesp_LgEPg","description":"The full technical reference for building and running a Vulcan Data Product on Amazon Athena, covering connection, IAM permissions, materialization, operations, performance, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"}]},{"id":"0580a8fc52339d6f2ce195e0d8be27e362366dfb","title":"Permissions and grants","pathname":"/references/engine-guide/athena/permissions-and-grants","siteSpaceId":"sitesp_LgEPg","description":"Configure required Athena IAM roles, permissions, and DataOS access for Vulcan deployments.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"b76bc07b0fc59d88d8b960bf74b95b997fed3a5d","title":"Connect to Athena","pathname":"/references/engine-guide/athena/connect-to-athena","siteSpaceId":"sitesp_LgEPg","description":"Configure Athena gateways, local development, and production deployment for Vulcan.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"bc8c53bb764bf39fb7e8f7d57411c28a41e9f3fd","title":"Materialization behavior","pathname":"/references/engine-guide/athena/materialization-behavior","siteSpaceId":"sitesp_LgEPg","description":"Understand how Vulcan model kinds map to native Athena operations.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"a68f136dfa0f8906e585ef6950328fc2b91216db","title":"Limits and performance","pathname":"/references/engine-guide/athena/limits-and-performance","siteSpaceId":"sitesp_LgEPg","description":"Size Athena workloads, control concurrency, manage costs, and plan for performance.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"96ba285b0c791fdf480c007a283fec7d65b5bd13","title":"Troubleshooting","pathname":"/references/engine-guide/athena/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Diagnose common Athena and Vulcan failures, then recover production workloads.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"qHIkJXTE8HtTGjpxeqdC","title":"Recipes","pathname":"/references/engine-guide/athena/recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common Athena patterns with production-ready Vulcan recipes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"}]},{"id":"58fc3bda69a150d9a23e7797ef918f4bcc2838f4","title":"Deployment recipes","pathname":"/references/engine-guide/athena/recipes/deployment-recipes","siteSpaceId":"sitesp_LgEPg","description":"Implement common Athena patterns with production-ready Vulcan recipes.","breadcrumbs":[{"label":"References"},{"label":"Engine guide"},{"label":"Athena"},{"label":"Recipes"}]},{"id":"W0Yo7iGFcGeYWn1YU6fB","title":"Understand DataOS Resources","pathname":"/references/resources/overview","siteSpaceId":"sitesp_LgEPg","description":"Understand what DataOS Resources are, how they are structured, and how to deploy and manage them.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"WIhAaCbrjphAwk3SAJ1B","title":"Vulcan","pathname":"/references/resources/vulcan","siteSpaceId":"sitesp_LgEPg","description":"Understand what Vulcan is, how it builds governed data products, and how it runs transformation, quality, and semantics on your existing engine.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"SRnD1rr1eXezrArgiQZR","title":"LDK setup","pathname":"/references/resources/vulcan/ldk","siteSpaceId":"sitesp_LgEPg","description":"Set up the Local Development Kit: Python virtual environment, Vulcan, and engine.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"ip5YBF4K03UAyTl0Geyn","title":"Concepts","pathname":"/references/resources/vulcan/concepts","siteSpaceId":"sitesp_LgEPg","description":"How Vulcan is put together, how a data product moves from setup to a governed asset, and how `vulcan plan` and `vulcan run` decide what to execute.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"gCN3DA2wVS2Qu6LPjWHR","title":"Architecture","pathname":"/references/resources/vulcan/concepts/architecture","siteSpaceId":"sitesp_LgEPg","description":"How Vulcan is structured: the fingerprint-plan-apply flow, the model materialization strategies, and the extensible engine adapter model.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"}]},{"id":"4Fg9PEcrjOZ8w3CKwyOi","title":"Data Product lifecycle","pathname":"/references/resources/vulcan/concepts/data-product-lifecycle","siteSpaceId":"sitesp_LgEPg","description":"The full path from local setup to a production data product: project initialization, model development, testing, semantics, planning and running, data quality, API access, and monitoring.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"}]},{"id":"Duiw1TpBh23VeMnbAdMY","title":"Run and plan","pathname":"/references/resources/vulcan/concepts/run-and-plan","siteSpaceId":"sitesp_LgEPg","description":"Understand what `vulcan plan` and `vulcan run` do before you use them.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"}]},{"id":"8bZPxr1xI2EiNB5BZNyb","title":"Plan without a virtual layer","pathname":"/references/resources/vulcan/concepts/run-and-plan/plan-guide","siteSpaceId":"sitesp_LgEPg","description":"Understand what `vulcan plan` does without a virtual layer, using direct materialization instead of virtual-layer promotion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"},{"label":"Run and plan"}]},{"id":"WDIAwmqmAXcJhS8Qib3O","title":"Plan with a virtual layer","pathname":"/references/resources/vulcan/concepts/run-and-plan/plan-with-vde","siteSpaceId":"sitesp_LgEPg","description":"What happens when `vulcan plan` runs with a virtual layer: snapshot fingerprints, the context diff, breaking vs. non-breaking changes, backfill, restatement, and virtual-layer promotion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"},{"label":"Run and plan"}]},{"id":"QAYjYKef7boMmXky73VD","title":"Run and scheduling","pathname":"/references/resources/vulcan/concepts/run-and-plan/run-and-scheduling","siteSpaceId":"sitesp_LgEPg","description":"Understand what `vulcan run` does to refresh already-applied data: missing intervals, schedules, signals, and run activity.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"},{"label":"Run and plan"}]},{"id":"DYOYK9qvxtJ41FLmdhOz","title":"Write-Audit-Publish","pathname":"/references/resources/vulcan/concepts/write-audit-publish","siteSpaceId":"sitesp_LgEPg","description":"How Write-Audit-Publish keeps bad data out of production: write to the model, run blocking assertions, publish only if they pass.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"}]},{"id":"5COfHQQg0PZrD7PY6ewH","title":"Query result caching","pathname":"/references/resources/vulcan/concepts/query-result-caching","siteSpaceId":"sitesp_LgEPg","description":"How Vulcan reuses results of identical SQL, semantic, and metric queries while the underlying data is current.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Concepts"}]},{"id":"est92dpKiFLb0UvJQA28","title":"Configurations","pathname":"/references/resources/vulcan/configurations","siteSpaceId":"sitesp_LgEPg","description":"Configure a Vulcan project with config.yaml, usage.yaml, and agreement.md: project settings, gateways, model defaults, the semantic layer, variables, execution hooks, the linter, notifications, deploy","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"89e4eb80Qmb4Rbat0l9Q","title":"Usage guidance","pathname":"/references/resources/vulcan/configurations/usage","siteSpaceId":"sitesp_LgEPg","description":"What usage.yaml is for, how it differs from config.yaml, and a full key-by-key reference: what each key documents, when to add it, and when to leave the file minimal or omit it entirely.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"NtbhObE2YD7Gdu6puokL","title":"Agreement","pathname":"/references/resources/vulcan/configurations/agreement","siteSpaceId":"sitesp_LgEPg","description":"What agreement.md is for, how it differs from config.yaml and usage.yaml, and how Vulcan resolves, reads, and surfaces it to consumers.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"wZyQWnKChmx0tkrGCOMP","title":"Variables","pathname":"/references/resources/vulcan/configurations/variables","siteSpaceId":"sitesp_LgEPg","description":"Configure Vulcan variables and environment overrides: .env files, the env_var() function, VULCAN__ configuration overrides, and dynamic values like the user() function.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"YAARbnPGxit5ImLg64b8","title":"Model defaults","pathname":"/references/resources/vulcan/configurations/model-defaults","siteSpaceId":"sitesp_LgEPg","description":"Configure model_defaults in config.yaml: the required dialect, owner enforcement against config.users, identifier normalization strategy, and gateway-specific overrides.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"NWFDF9RjmJOFqwBTtqIT","title":"Execution hooks","pathname":"/references/resources/vulcan/configurations/execution-hooks","siteSpaceId":"sitesp_LgEPg","description":"Configure before_all and after_all execution hooks to run SQL, macros, or statement files at the start and end of vulcan plan and vulcan run, with use cases and comparison to model-level pre/post stat","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"v2jUl0BtNfQ2hZVGYDG5","title":"Linter","pathname":"/references/resources/vulcan/configurations/linter","siteSpaceId":"sitesp_LgEPg","description":"Configure the Vulcan linter: built-in and custom rules, Data Product-level rules, enabling rules via config.yaml, excluding models, and warn vs. error rule violation behavior.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"CSmt3k7sTEBaJtooZAht","title":"Notifications","pathname":"/references/resources/vulcan/configurations/notifications","siteSpaceId":"sitesp_LgEPg","description":"Configure Vulcan notification targets and event types: Teams webhook, Slack webhook and API, and email/SMTP, plus per-user targets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Configurations"}]},{"id":"hNU1DCqBaZBb6ORxQAx0","title":"Models","pathname":"/references/resources/vulcan/models","siteSpaceId":"sitesp_LgEPg","description":"How Vulcan models fit together: physical data models, the semantic layer on top of them, and business metrics on top of that.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"63c00LKLdRhmnjvBhazk","title":"Data Models","pathname":"/references/resources/vulcan/models/data-models","siteSpaceId":"sitesp_LgEPg","description":"What a Vulcan data model is: the MODEL block, the SELECT query, naming and typing conventions, comment registration, and the day-to-day workflow for adding, editing, and deleting models.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"}]},{"id":"dWd6BySmymwJeIgRqiFu","title":"Properties","pathname":"/references/resources/vulcan/models/data-models/properties","siteSpaceId":"sitesp_LgEPg","description":"General, storage, engine, and behavior properties for the `MODEL` block, plus kind-specific incremental properties and model naming.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"}]},{"id":"ZdcbbPhbLr4AaRuQ1mnm","title":"Types","pathname":"/references/resources/vulcan/models/data-models/types","siteSpaceId":"sitesp_LgEPg","description":"SQL, Python, and external model types, and how to choose between them.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"}]},{"id":"jBswRjc0ceCTErfalRzP","title":"SQL models","pathname":"/references/resources/vulcan/models/data-models/types/sql","siteSpaceId":"sitesp_LgEPg","description":"SQL-based model definition, blueprinting, automatic dependencies, transpilation, and casting conventions.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"},{"label":"Types"}]},{"id":"aShscCvexsfKES4YjOc7","title":"Python models","pathname":"/references/resources/vulcan/models/data-models/types/python","siteSpaceId":"sitesp_LgEPg","description":"The `@model` decorator, execution context, dependencies, blueprinting, and DataFrame examples for Python models.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"},{"label":"Types"}]},{"id":"fexS6KG1CHw0vez6u5Zx","title":"External models","pathname":"/references/resources/vulcan/models/data-models/types/external-models","siteSpaceId":"sitesp_LgEPg","description":"How `EXTERNAL` models describe schemas for tables Vulcan does not manage, and how to create and validate them.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"},{"label":"Types"}]},{"id":"JnYbxgZhTDCYO9gDwtRv","title":"Kinds","pathname":"/references/resources/vulcan/models/data-models/model-kinds","siteSpaceId":"sitesp_LgEPg","description":"INCREMENTAL, FULL, VIEW, EMBEDDED, SEED, and SCD Type 2 model kinds, and their materialization strategies by engine.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"}]},{"id":"aVD0nseIa92KIZ8phxoT","title":"Statements","pathname":"/references/resources/vulcan/models/data-models/statements","siteSpaceId":"sitesp_LgEPg","description":"Pre-statements, post-statements, and on-virtual-update statements, and how to set defaults for them at the project level.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Data Models"}]},{"id":"am3YNEO2stNDe3wqZHDu","title":"Semantic models","pathname":"/references/resources/vulcan/models/semantic-models","siteSpaceId":"sitesp_LgEPg","description":"Define business-friendly semantic models on top of Vulcan data models.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"}]},{"id":"w6TGvfkX5HQUNAxBGPeT","title":"Dimensions","pathname":"/references/resources/vulcan/models/semantic-models/dimensions","siteSpaceId":"sitesp_LgEPg","description":"Define semantic model dimensions, formatting, granularities, semantic behavior, and AI context.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"F2ZA4OrsN0ZGnMgblVmG","title":"Measures","pathname":"/references/resources/vulcan/models/semantic-models/measures","siteSpaceId":"sitesp_LgEPg","description":"Define semantic model aggregations, measure types, filters, semantic behavior, and rolling windows.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"Q1DM2cQb2bvNg9T0yZdx","title":"Segments","pathname":"/references/resources/vulcan/models/semantic-models/segments","siteSpaceId":"sitesp_LgEPg","description":"Define reusable semantic model filters for common business subsets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"8SaGQe3xnBWqMDeuVvpg","title":"Joins","pathname":"/references/resources/vulcan/models/semantic-models/joins","siteSpaceId":"sitesp_LgEPg","description":"Define relationships between semantic models for cross-model analysis.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"viB1GVL9SNrU8tf0zegv","title":"Rollups","pathname":"/references/resources/vulcan/models/semantic-models/rollups","siteSpaceId":"sitesp_LgEPg","description":"Define pre-aggregation specs that build rollup tables for a semantic model.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"o6FM9ByCWqHI5zLw4Vq7","title":"AI context","pathname":"/references/resources/vulcan/models/semantic-models/ai-context","siteSpaceId":"sitesp_LgEPg","description":"Add AI and LLM guidance to semantic models, dimensions, measures, segments, joins, and granularities.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"},{"label":"Semantic models"}]},{"id":"7HnvWouJNcvDHOT1Eh3h","title":"Business metrics","pathname":"/references/resources/vulcan/models/business-metrics","siteSpaceId":"sitesp_LgEPg","description":"Business metric YAML structure: required and optional properties, dimensions, segments, cross-model metrics, time granularity, forbidden legacy keys, reserved names, and validation rules.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Models"}]},{"id":"mTAwsCYAxpw5lZ8SGtF1","title":"Quality","pathname":"/references/resources/vulcan/quality","siteSpaceId":"sitesp_LgEPg","description":"Quality overview: how assertions, DQ checks, and unit tests work together to keep models trustworthy, and when to use each.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"4bgOzjGG9dcq3TzNLbsm","title":"Assertions","pathname":"/references/resources/vulcan/quality/assertions","siteSpaceId":"sitesp_LgEPg","description":"Audits and assertions: built-in and user-defined rules that block bad rows.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Quality"}]},{"id":"OSLv3ZEGYFgZSmeKD73e","title":"Data quality","pathname":"/references/resources/vulcan/quality/data-quality","siteSpaceId":"sitesp_LgEPg","description":"DQ checks (`kind: dq`): expectations, dimensions, and profiling.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Quality"}]},{"id":"qmO9KfZXf3kXZt0ohRS8","title":"Unit tests","pathname":"/references/resources/vulcan/quality/tests","siteSpaceId":"sitesp_LgEPg","description":"Unit tests: YAML fixtures for inputs and outputs, testing incremental models and CTEs, and running tests with the CLI.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Quality"}]},{"id":"73mqDejg1FYDrQp7gl4r","title":"Policies","pathname":"/references/resources/vulcan/policies","siteSpaceId":"sitesp_LgEPg","description":"Technical reference for Vulcan access policies, row filters, column masking, auth plugins, and physical-model-only policy inheritance.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"1mHXJwsJQc0fmMrjUPhg","title":"Plugins and auth","pathname":"/references/resources/vulcan/plugins-and-auth","siteSpaceId":"sitesp_LgEPg","description":"The plugins/ folder auth extension: configuring the after_authorize hook, AuthExtensionContext and SecurityContext, the resolve_user_groups example, and how policies use resolved groups and claims.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"0zgNO5Hm9WPFVneJi5s2","title":"Roles and permissions","pathname":"/references/resources/vulcan/roles-and-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum engine privileges required to run a Vulcan domain resource, engine by engine: PostgreSQL, Snowflake, Databricks, Spark, Trino, Redshift, and Athena.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"togT0rGKORkpfD7EQ3P4","title":"PostgreSQL","pathname":"/references/resources/vulcan/roles-and-permissions/postgres-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum PostgreSQL grants for a Vulcan deployment: source, target, and state schema privileges, by secret_name tier.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"UwONwloiOAo93UTMxPS5","title":"Snowflake","pathname":"/references/resources/vulcan/roles-and-permissions/snowflake-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Snowflake grants for a Vulcan deployment: source, target, and state schema privileges, by secret_name tier.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"AKD9cIu8LLmfJcmPthRI","title":"Databricks","pathname":"/references/resources/vulcan/roles-and-permissions/databricks-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Databricks Unity Catalog grants for a Vulcan deployment: source, target, and state schema privileges, by secret_name tier.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"nITZTDq6Ps56QVCQJzHT","title":"Spark","pathname":"/references/resources/vulcan/roles-and-permissions/spark-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum DataOS Lakehouse and object-storage permissions for running Vulcan on Spark, across both the DataOS and cloud IAM credential layers.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"XkBQ3XDORTY1iNjXErA0","title":"External Trino","pathname":"/references/resources/vulcan/roles-and-permissions/external-trino-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Trino SQL or connector access-control privileges for running Vulcan against a client-managed Trino cluster, by secret_name tier.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"0sXeUpP6tfzCiCTnEiyt","title":"Dedicated Trino","pathname":"/references/resources/vulcan/roles-and-permissions/dedicated-trino-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Permission model for a DataOS-managed Dedicated Trino deployment, where access control lives on each depot's underlying data source instead of Trino SQL grants.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Roles and permissions"}]},{"id":"0seXAEt6plY62v572PJV","title":"Advanced features","pathname":"/references/resources/vulcan/advanced-features","siteSpaceId":"sitesp_LgEPg","description":"Advanced features that extend Vulcan beyond standard model definitions: macros, signals, custom materializations, and importing Snowflake semantic views.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"eDB95x9xDgkehz0aLUOC","title":"Macros","pathname":"/references/resources/vulcan/advanced-features/macros","siteSpaceId":"sitesp_LgEPg","description":"Macros make SQL dynamic with variables and functions. Overview of Vulcan macros, Jinja macros, and the predefined variables both systems share.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"}]},{"id":"gBnx916dspdXuB42g3NC","title":"Built-in","pathname":"/references/resources/vulcan/advanced-features/macros/built-in","siteSpaceId":"sitesp_LgEPg","description":"Reference for Vulcan's native macro system: user-defined variables, built-in macro operators for SQL clauses and control flow, and Python macro functions.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"},{"label":"Macros"}]},{"id":"8YaDy5HpHS3G8MKEHSYb","title":"Jinja","pathname":"/references/resources/vulcan/advanced-features/macros/jinja","siteSpaceId":"sitesp_LgEPg","description":"Use Jinja templating in Vulcan SQL models: predefined and user-defined variables, for loops and if statements, and user-defined macro functions.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"},{"label":"Macros"}]},{"id":"jpgKm0iNYLYQOt2x3V41","title":"Variables","pathname":"/references/resources/vulcan/advanced-features/macros/variables","siteSpaceId":"sitesp_LgEPg","description":"Reference for Vulcan's predefined macro variables: temporal variables like @execution_ds, runtime variables like @runtime_stage and @this_model, and before_all/after_all variables.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"},{"label":"Macros"}]},{"id":"mpGemWgrnw3XJwFfsMOO","title":"Signals","pathname":"/references/resources/vulcan/advanced-features/signals","siteSpaceId":"sitesp_LgEPg","description":"Signals add custom readiness checks before a scheduled model runs, so a model waits for late-arriving or upstream data before it processes an interval.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"}]},{"id":"cXdaAvP4RzpByGojwRx2","title":"Custom materializations","pathname":"/references/resources/vulcan/advanced-features/custom-materializations","siteSpaceId":"sitesp_LgEPg","description":"Write a custom materialization in Python when built-in model kinds don't fit, using the CustomMaterialization and CustomKind classes, then package and share it across projects.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"}]},{"id":"1AYoHrC7HQ8SbVWRlcWR","title":"Import Snowflake semantic views","pathname":"/references/resources/vulcan/advanced-features/import-snowflake-semantic-views","siteSpaceId":"sitesp_LgEPg","description":"Import a Snowflake semantic view into a Vulcan project: configure the Snowflake gateway, run import_semantic_view and create_external_models, fix inputs.yaml, then plan and query the result over REST.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"},{"label":"Advanced features"}]},{"id":"e2h4XYQtvgzWF08OQaYv","title":"CLI commands","pathname":"/references/resources/vulcan/cli","siteSpaceId":"sitesp_LgEPg","description":"Every Vulcan CLI command, its options, and example output: planning and running models, auditing data quality, diffing environments, and managing state.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"vvGQpANIlG1ZCTuKeizL","title":"Deployment steps","pathname":"/references/resources/vulcan/deployment","siteSpaceId":"sitesp_LgEPg","description":"Deploy a Vulcan Data Product into a DataOS environment: prerequisites, the deployment: section in config.yaml, linting, deploying, and checking status.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"PCEiIqQkkiRRXm57IvM3","title":"Monitor & delete","pathname":"/references/resources/vulcan/monitor-and-delete","siteSpaceId":"sitesp_LgEPg","description":"Monitor a deployed Vulcan Data Product with the DataOS CLI: read its status and runtime, find the failing container group, read its logs, rerun after a fix, and delete the deployed Resource when it's","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"mIavQLbA8F1QzEF1pING","title":"Troubleshooting","pathname":"/references/resources/vulcan/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Every validation and request error Vulcan returns, what triggered it, and how to fix it.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Vulcan"}]},{"id":"qkDvRlUQ1aoT7T0qA3Lr","title":"Nilus","pathname":"/references/resources/nilus","siteSpaceId":"sitesp_LgEPg","description":"Nilus is DataOS's unified data movement framework. It moves data from databases, SaaS APIs, event streams, and data warehouses into analytical destinations.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"jBnUAnxOYBK1EOUe54hH","title":"Sources overview","pathname":"/references/resources/nilus/sources","siteSpaceId":"sitesp_LgEPg","description":"Browse Nilus source connectors by pipeline types.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"JS36P3RpSFKF6CcA64Zb","title":"Core concepts","pathname":"/references/resources/nilus/concepts","siteSpaceId":"sitesp_LgEPg","description":"Core concepts that underpin Nilus, architecture, schema evolution, and data masking.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"z4F4ubK8CCcGrd7NtqhC","title":"Architecture","pathname":"/references/resources/nilus/concepts/architecture-and-mechanism","siteSpaceId":"sitesp_LgEPg","description":"How Nilus is structured: the extract-normalize-load flow, the four pipeline types (batch, CDC, stream, metadata), and the extensible connector model.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Core concepts"}]},{"id":"0DtJ7S0WF0KTNALZJYGL","title":"Schema evolution","pathname":"/references/resources/nilus/concepts/schema-evolution","siteSpaceId":"sitesp_LgEPg","description":"Learn how Nilus handles schema changes over time across batch and CDC pipelines.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Core concepts"}]},{"id":"mXCxCET2g8nNldidhAYU","title":"Data masking","pathname":"/references/resources/nilus/concepts/understanding-data-masking","siteSpaceId":"sitesp_LgEPg","description":"Learn how Nilus masks sensitive values during ingestion with configurable masking rules.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Core concepts"}]},{"id":"MMVnpsis7iRB5tLoA5qz","title":"Secrets and projections","pathname":"/references/resources/nilus/concepts/secrets-and-projections","siteSpaceId":"sitesp_LgEPg","description":"How Nilus resolves credentials at runtime: automatic depot inference for dataos:// addresses, explicit secret projection for direct connector URIs, and repo-auth for custom source sync.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Core concepts"}]},{"id":"QkQ83Ce5cwSSvAnuzRr0","title":"Roles and permissions","pathname":"/references/resources/nilus/roles-and-permissions","siteSpaceId":"sitesp_LgEPg","description":"How Nilus's privilege requirements map to pipeline mode, not to a single fixed role, plus the minimum grants for each supported source and destination.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"Nm8JughP5oPExF0S7ZxH","title":"PostgreSQL","pathname":"/references/resources/nilus/roles-and-permissions/postgresql-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum PostgreSQL grants for each Nilus pipeline mode: batch read and write, CDC via logical replication, and metadata ingestion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"APBsoc4jGL6SW2WBylwm","title":"MongoDB","pathname":"/references/resources/nilus/roles-and-permissions/mongodb-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum MongoDB roles for each Nilus pipeline mode: batch read and write, change-stream CDC, and metadata ingestion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"4RAD7Oh9BsfqzkA0s31A","title":"MS SQL Server","pathname":"/references/resources/nilus/roles-and-permissions/ms-sql-server-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum SQL Server grants for each Nilus pipeline mode: batch read and write, native CDC, and metadata ingestion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"aLwJorxfhGYP4Ovlhl2f","title":"Snowflake","pathname":"/references/resources/nilus/roles-and-permissions/snowflake-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Snowflake grants for each Nilus pipeline mode: batch read and write, and metadata ingestion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"345k4BSg8GW4xm7nCYyD","title":"Databricks","pathname":"/references/resources/nilus/roles-and-permissions/databricks-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Databricks Unity Catalog grants for each Nilus pipeline mode: batch read and write, and metadata ingestion.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"zSIWPh6i3qkLEuSk1EPM","title":"Kafka","pathname":"/references/resources/nilus/roles-and-permissions/kafka-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Kafka ACLs for Nilus stream pipelines, across all four supported security protocols. Kafka is supported as a source only.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"gjsU3ChOZtzmodZnkAX7","title":"Salesforce","pathname":"/references/resources/nilus/roles-and-permissions/salesforce-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Salesforce org permissions for Nilus batch pipelines: object and field-level read access, and the incremental strategy used per object.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"xJ8W1jN8xFVipnmHemVE","title":"Stripe","pathname":"/references/resources/nilus/roles-and-permissions/stripe-minimum-permissions","siteSpaceId":"sitesp_LgEPg","description":"Minimum Stripe API key permissions for Nilus batch pipelines: a Restricted Key scoped to read-only access on the ingested resource categories.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Roles and permissions"}]},{"id":"wuZV5DcI4GmS7CQPGzBJ","title":"Batch data movement","pathname":"/references/resources/nilus/batch","siteSpaceId":"sitesp_LgEPg","description":"Conceptual overview of Nilus batch data movement: when to use it, how periodic extraction works, and how it differs from CDC and stream modes.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"WG93RuCcRl7DzvqhyUv4","title":"Batch pipeline config","pathname":"/references/resources/nilus/batch/pipeline-config","siteSpaceId":"sitesp_LgEPg","description":"Complete field reference for Nilus batch pipelines: spec structure, all source.options and sink.options, supported values, and annotated examples.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"}]},{"id":"MKXGeiVBWCK0iZWvLe7E","title":"Batch sample configs","pathname":"/references/resources/nilus/batch/sample-configs","siteSpaceId":"sitesp_LgEPg","description":"Ready-to-use batch pipeline configurations covering full snapshots, incremental loads, and merge patterns across common source types.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"}]},{"id":"ckieTauPit4bMXiyXqJo","title":"Batch sources","pathname":"/references/resources/nilus/batch/batch-sources","siteSpaceId":"sitesp_LgEPg","description":"Index of Nilus batch source connectors by category (database vs. SaaS API), linking to each connector's requirements, options, and behavior.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"}]},{"id":"AL8sXmsogb1jAO40lhR8","title":"AWS Redshift","pathname":"/references/resources/nilus/batch/batch-sources/aws-redshift","siteSpaceId":"sitesp_LgEPg","description":"AWS Redshift batch source. Reads tables or custom SQL via the PostgreSQL-compatible wire protocol; the connector address uses the redshift:// scheme and rewrites it internally.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"jLw8GJKjn8kSR1oF9rY2","title":"Azure Synapse","pathname":"/references/resources/nilus/batch/batch-sources/azure-synapse","siteSpaceId":"sitesp_LgEPg","description":"Connector notes for Azure Synapse as a batch source: why there is no dedicated synapse:// scheme, connecting via the MS SQL Server path, and dedicated-pool caveats.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"tD2SakBqk8NRkeZDerG6","title":"Databricks","pathname":"/references/resources/nilus/batch/batch-sources/databricks","siteSpaceId":"sitesp_LgEPg","description":"Databricks batch source. Reads tables and views from a Databricks SQL warehouse with optional incremental extraction; supports PAT and OAuth M2M authentication.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"quWaEbJEEvKEdts3fKmJ","title":"Delta Lake","pathname":"/references/resources/nilus/batch/batch-sources/delta-lake","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Delta Lake batch source: the DuckDB-based read mechanism, supported storage backends, source options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"MfWCoNMTAVHylzA2GYX0","title":"Google Analytics","pathname":"/references/resources/nilus/batch/batch-sources/google-analytics","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Google Analytics 4 batch source: service-account setup, supported report resources, source/sink options, and sampling limits.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"tiruGBJ7yNsi87kDID7U","title":"Google BigQuery","pathname":"/references/resources/nilus/batch/batch-sources/google-bigquery","siteSpaceId":"sitesp_LgEPg","description":"Google BigQuery batch source. Reads tables, views, or custom SQL with optional incremental extraction; uses a service-account credential and optionally a DataOS depot for connection management.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"G4F812nKTJKzhfu6Rnte","title":"Google Sheets","pathname":"/references/resources/nilus/batch/batch-sources/google-sheets","siteSpaceId":"sitesp_LgEPg","description":"Google Sheets batch source. Loads a single sheet tab or A1 range per pipeline run; snapshot-oriented and best suited for analyst-maintained reference tables.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"ZK0M8PJOOZcj5wLieshy","title":"HubSpot","pathname":"/references/resources/nilus/batch/batch-sources/hubspot","siteSpaceId":"sitesp_LgEPg","description":"HubSpot batch source. Extracts CRM objects (contacts, deals, companies, tickets, products, custom objects) as full-refresh snapshots via the Private App API.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"LwpBc4y49TFE7SqmjKVT","title":"MongoDB","pathname":"/references/resources/nilus/batch/batch-sources/mongodb","siteSpaceId":"sitesp_LgEPg","description":"MongoDB batch source. Reads documents with optional incremental ingestion; supports aggregation-pipeline queries by passing a pipeline array as the source_table value.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"6sRfsv73czXI48JRUiZE","title":"MS SQL Server","pathname":"/references/resources/nilus/batch/batch-sources/ms-sql-server","siteSpaceId":"sitesp_LgEPg","description":"MS SQL Server batch source. Reads tables or custom SQL via ODBC; supports SQL Authentication and Azure AD access-token authentication.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"4Ga0tI1HHLaosRUJbpXa","title":"MySQL","pathname":"/references/resources/nilus/batch/batch-sources/mysql","siteSpaceId":"sitesp_LgEPg","description":"MySQL batch source. Reads tables or custom SQL with optional incremental ingestion; the connector uses the pymysql driver and rewrites the URI internally.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"4LKYDC2GyFHsVJIyltAP","title":"PostgreSQL","pathname":"/references/resources/nilus/batch/batch-sources/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the PostgreSQL batch source: connectivity and grants, source options, sample configs, and troubleshooting for connection and incremental-load failures.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"0FipN1iIPnBpaRSwTClN","title":"Salesforce","pathname":"/references/resources/nilus/batch/batch-sources/salesforce","siteSpaceId":"sitesp_LgEPg","description":"Salesforce batch source. Extracts standard and custom CRM objects; selected high-change objects (accounts, opportunities) support automatic incremental loading via Salesforce modification timestamps.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"9d2P72rO4MnQ7ssEfrre","title":"Snowflake","pathname":"/references/resources/nilus/batch/batch-sources/snowflake","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Snowflake batch source: warehouse and role setup, password vs. key-pair authentication, source options, and cost-control guidance.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"flOaaB4Hrz8pX4MyPeAq","title":"Stripe","pathname":"/references/resources/nilus/batch/batch-sources/stripe","siteSpaceId":"sitesp_LgEPg","description":"Stripe batch source. Extracts payment objects (charges, customers, subscriptions, invoices, balance transactions) in async, sync, or sync-incremental loading modes.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Batch sources"}]},{"id":"2N0iw4FXkD0lgTEtz9BP","title":"Custom sources","pathname":"/references/resources/nilus/batch/custom-sources","siteSpaceId":"sitesp_LgEPg","description":"Index of custom-source paths for systems without a first-party connector: a hand-authored SQL query versus a fully custom Python source implementation.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"}]},{"id":"bc0YTspsM0NEEdWsVRwj","title":"Building a custom source","pathname":"/references/resources/nilus/batch/custom-sources/creating-custom-source","siteSpaceId":"sitesp_LgEPg","description":"Step-by-step reference for building a custom Nilus source: Git repo sync configuration, the implementation contract, source options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Custom sources"}]},{"id":"zsxR1dUjzZiCpPScW16H","title":"Custom Query (SQL Sources)","pathname":"/references/resources/nilus/batch/custom-sources/custom-query-sql-sources","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for Custom Query batch sources: writing a query:-prefixed SQL source, incremental-column requirements, and common pitfalls.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Batch data movement"},{"label":"Custom sources"}]},{"id":"ARSs0SSnk84QDxvm0itt","title":"Change data capture","pathname":"/references/resources/nilus/cdc","siteSpaceId":"sitesp_LgEPg","description":"Conceptual overview of Nilus Change Data Capture: how it reads database logs, handles initial snapshots, propagates row-level changes, and manages state.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"G0o9FbAFL2FGf7gWitdD","title":"CDC pipeline config","pathname":"/references/resources/nilus/cdc/pipeline-config","siteSpaceId":"sitesp_LgEPg","description":"Complete field reference for Nilus CDC pipelines: spec structure, all source.options, source.cdc settings, sink.options, and annotated examples.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"}]},{"id":"K3IJaF0Ho2lEBl0thzvh","title":"CDC sample configs","pathname":"/references/resources/nilus/cdc/sample-configs","siteSpaceId":"sitesp_LgEPg","description":"Ready-to-use CDC pipeline configurations for PostgreSQL, MongoDB, MS SQL Server, MySQL, and IBM DB2 sources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"}]},{"id":"JK4rcuRLhZXGr7vSYUNf","title":"CDC sources","pathname":"/references/resources/nilus/cdc/cdc-sources","siteSpaceId":"sitesp_LgEPg","description":"Index of Nilus CDC source connectors (IBM DB2, MongoDB, MS SQL Server, MySQL, PostgreSQL), linking to per-connector setup, options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"}]},{"id":"Tz4OrlujLFVCCrK7l39i","title":"IBM DB2","pathname":"/references/resources/nilus/cdc/cdc-sources/ibm-db2","siteSpaceId":"sitesp_LgEPg","description":"Setup and operations reference for the IBM DB2 CDC source: ASN capture-service requirements, snapshot/stream mechanics, CDC options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"},{"label":"CDC sources"}]},{"id":"cqRlCjwgn2u85gw0z4BD","title":"MongoDB","pathname":"/references/resources/nilus/cdc/cdc-sources/mongodb","siteSpaceId":"sitesp_LgEPg","description":"MongoDB CDC source. Captures document-level changes via replica-set change streams; covers oplog sizing, depot setup, snapshot modes, and strategy options.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"},{"label":"CDC sources"}]},{"id":"v7I4UqC8AlWSRWXBbckm","title":"MS SQL Server","pathname":"/references/resources/nilus/cdc/cdc-sources/ms-sql-server","siteSpaceId":"sitesp_LgEPg","description":"MS SQL Server CDC source. Reads row-level changes from SQL Server CDC change tables; covers enabling CDC per table, permissions, and sink configuration.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"},{"label":"CDC sources"}]},{"id":"kw8m6XUIi4cZHQcpiyfs","title":"MySQL","pathname":"/references/resources/nilus/cdc/cdc-sources/mysql","siteSpaceId":"sitesp_LgEPg","description":"MySQL CDC source. Reads row-level changes from the binary log (binlog); supports GTID and non-GTID replication modes and multiple authentication plugins.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"},{"label":"CDC sources"}]},{"id":"NqPryFufT3Y8o61saH7J","title":"PostgreSQL","pathname":"/references/resources/nilus/cdc/cdc-sources/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Setup and operations reference for the PostgreSQL CDC source: logical replication setup, slot and publication management, WAL retention, and FAQs.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Change data capture"},{"label":"CDC sources"}]},{"id":"Yn1nuZa47jwgdxlTDjv2","title":"Stream pipelines","pathname":"/references/resources/nilus/stream","siteSpaceId":"sitesp_LgEPg","description":"Conceptual overview of Nilus stream pipelines: connecting to Kafka or NATS+JetStream, consuming records in micro-batches, and writing them to a destination.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"xI0TBQOGEmSqrURW6d4m","title":"Stream pipeline config","pathname":"/references/resources/nilus/stream/pipeline-config","siteSpaceId":"sitesp_LgEPg","description":"Complete field reference for Nilus Stream pipelines: spec structure, all source.options, source.cdc settings, sink.options, and annotated examples.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Stream pipelines"}]},{"id":"LxwRLmn3bQ1e3nut3yal","title":"Stream sample configs","pathname":"/references/resources/nilus/stream/sample-configs","siteSpaceId":"sitesp_LgEPg","description":"Ready-to-use stream pipeline configurations for Kafka (plaintext, SASL/SSL, Confluent Cloud) and NATS+JetStream sources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Stream pipelines"}]},{"id":"nFePIduvFZ8wX0Z0p0qv","title":"Stream sources","pathname":"/references/resources/nilus/stream/stream-sources","siteSpaceId":"sitesp_LgEPg","description":"Index of Nilus stream source connectors (Kafka, NATS) with a note on typical sink strategy for event-shaped records.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Stream pipelines"}]},{"id":"oyEvYke9nEFoc9dG4UTR","title":"Kafka","pathname":"/references/resources/nilus/stream/stream-sources/kafka","siteSpaceId":"sitesp_LgEPg","description":"Kafka stream source. Consumes topics in micro-batches as a long-running consumer; supports plaintext, SASL/SSL, Confluent Cloud, and mTLS configurations.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Stream pipelines"},{"label":"Stream sources"}]},{"id":"vH47odqOShlEtorYsvZX","title":"NATS","pathname":"/references/resources/nilus/stream/stream-sources/nats","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the NATS+JetStream stream source: authentication modes, ephemeral vs. durable consumers, source/sink options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Stream pipelines"},{"label":"Stream sources"}]},{"id":"2iO3LDd52ffPTnU0HOBG","title":"Metadata pipelines","pathname":"/references/resources/nilus/metadata-pipelines","siteSpaceId":"sitesp_LgEPg","description":"Conceptual overview of how Nilus metadata pipelines work: shallow vs. deep extraction modes, the stages each runs (inventory, lineage, profiling, classification, usage), and when to use each.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"FiHvYEMUVnX1Z1kcYvYS","title":"Metadata pipeline config","pathname":"/references/resources/nilus/metadata-pipelines/pipeline-config","siteSpaceId":"sitesp_LgEPg","description":"This page explains the Nilus metadata pipeline config shape, a single workflow that extracts catalog metadata, column profiles, classification tags, query lineage, and query usage from a...","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"}]},{"id":"WoHIwYDyLpL6VHHuoRbW","title":"Metadata sample configs","pathname":"/references/resources/nilus/metadata-pipelines/sample-configs","siteSpaceId":"sitesp_LgEPg","description":"Ready-to-use metadata pipeline configurations for Snowflake, Databricks, and DataOS Lakehouse (Iceberg) sources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"}]},{"id":"puPJGvVczn8R1K0bHS8W","title":"Metadata sources","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources","siteSpaceId":"sitesp_LgEPg","description":"Index of Nilus metadata-capable sources, their supported shallow/deep stages, and how to scope extraction with database/schema/table filters.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"}]},{"id":"PUVC9e1JqI8UtUwQCcyG","title":"Databricks","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/databricks-metadata","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Databricks metadata source: supported stages, source options, required Unity Catalog/Hive Metastore grants, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"lh3YfFLERbSErpfdPhpb","title":"DataOS Lakehouse","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/dataos-lakehouse-metadata","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the DataOS Lakehouse metadata-only source: what inventory it brings in, source options, required depot permissions, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"Ydc726STrLkWAX2B4PTc","title":"Microsoft Fabric Lakehouse","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/microsoft-fabric-lakehouse","siteSpaceId":"sitesp_LgEPg","description":"Configure Nilus metadata pipelines for Microsoft Fabric Lakehouse SQL analytics endpoints.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"Arz5IxXsER6X58hg31Ik","title":"Microsoft Fabric Warehouse","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/microsoft-fabric","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Microsoft Fabric Warehouse metadata source: supported stages, source options, required permissions, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"MpEEjHRzEe2LDqJ9OEQR","title":"MongoDB","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/mongodb","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the MongoDB metadata source: supported stages, source options, required roles, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"6weds3wf0elrLU7UC88D","title":"PostgreSQL","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the PostgreSQL metadata source: supported stages, source options, required grants, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"ipFl7lzJybwxW9mifALU","title":"Snowflake","pathname":"/references/resources/nilus/metadata-pipelines/metadata-sources/snowflake-metadata","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Snowflake metadata source: supported stages, account-usage permission requirements, source options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Metadata pipelines"},{"label":"Metadata sources"}]},{"id":"ZrHQVyn1iFc2eQpVRkyy","title":"Destinations","pathname":"/references/resources/nilus/destinations","siteSpaceId":"sitesp_LgEPg","description":"Know about Nilus destination connectors, their supported pipeline modes, and incremental strategies.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"AGyGWpK65emAxbk5G2Wm","title":"Cloud warehouses","pathname":"/references/resources/nilus/destinations/cloud-warehouses","siteSpaceId":"sitesp_LgEPg","description":"Configure BigQuery, Databricks, Redshift, and Snowflake destinations for Nilus pipelines.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"}]},{"id":"07gFM2OyK1xmvDb8dopa","title":"BigQuery","pathname":"/references/resources/nilus/destinations/cloud-warehouses/bigquery","siteSpaceId":"sitesp_LgEPg","description":"BigQuery destination. Writes Nilus batch, CDC, and stream output into BigQuery datasets using a service-account credential; supports GCS staging and parquet loading.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Cloud warehouses"}]},{"id":"emQEY1Mfw21c0qhAGVSj","title":"Databricks","pathname":"/references/resources/nilus/destinations/cloud-warehouses/databricks","siteSpaceId":"sitesp_LgEPg","description":"Databricks destination. Writes Nilus batch, CDC, and stream output into Unity Catalog tables via a SQL warehouse; supports PAT and OAuth M2M authentication.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Cloud warehouses"}]},{"id":"YJyssIEEWNFHBYBqbarM","title":"Redshift","pathname":"/references/resources/nilus/destinations/cloud-warehouses/redshift","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Redshift destination: connectivity and grants, sink options, distribution/sort-key guidance for merge, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Cloud warehouses"}]},{"id":"9SYNigGmzLtfbbYLO2IP","title":"Snowflake","pathname":"/references/resources/nilus/destinations/cloud-warehouses/snowflake","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the Snowflake destination: warehouse and role requirements, password vs. key-pair authentication, sink options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Cloud warehouses"}]},{"id":"xrOo6aQLfzoNay68Vg6Y","title":"Databases","pathname":"/references/resources/nilus/destinations/databases","siteSpaceId":"sitesp_LgEPg","description":"Configure MongoDB, MS SQL Server, and PostgreSQL destinations for Nilus pipelines.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"}]},{"id":"VOftlFFNYAyXNUqbPJTc","title":"MongoDB","pathname":"/references/resources/nilus/destinations/databases/mongodb","siteSpaceId":"sitesp_LgEPg","description":"MongoDB destination. Writes Nilus batch, CDC, and stream output into collections; supports replace and merge strategies only. Append is explicitly rejected.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Databases"}]},{"id":"WSifx7K3gAhioyIOZwCa","title":"MS SQL Server","pathname":"/references/resources/nilus/destinations/databases/ms-sql-server","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the MS SQL Server destination: ODBC driver and TLS setup, SQL vs. Azure AD authentication, sink options, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Databases"}]},{"id":"PlTzJttIWuRn2nYwDYEH","title":"PostgreSQL","pathname":"/references/resources/nilus/destinations/databases/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Configuration reference for the PostgreSQL destination: connectivity and grants, sink options, partitioned-table writes, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"Databases"}]},{"id":"F9XGAPs26VKXD5b8PxCf","title":"DataOS Lakehouse","pathname":"/references/resources/nilus/destinations/dataos-lakehouse","siteSpaceId":"sitesp_LgEPg","description":"The DataOS Lakehouse destination writes Apache Iceberg-backed datasets to object storage. Supported for AWS S3, Azure ADLS Gen2, and GCP GCS backends.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"}]},{"id":"8Emyzzi1jWZjODozjEfr","title":"AWS-backed","pathname":"/references/resources/nilus/destinations/dataos-lakehouse/aws-backed","siteSpaceId":"sitesp_LgEPg","description":"AWS-backed DataOS Lakehouse destination. Writes Nilus batch, CDC, and stream output as Apache Iceberg datasets on Amazon S3; covers depot setup, secrets, and Iceberg sink options.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"DataOS Lakehouse"}]},{"id":"NjYqtBMZVESUfO6TR4lZ","title":"Azure-backed","pathname":"/references/resources/nilus/destinations/dataos-lakehouse/azure-backed","siteSpaceId":"sitesp_LgEPg","description":"Azure-backed DataOS Lakehouse destination. Writes Nilus batch, CDC, and stream output as Apache Iceberg datasets on ADLS Gen2 (ABFSS); covers depot setup, secrets, and Iceberg sink options.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"DataOS Lakehouse"}]},{"id":"HVJEGjF8v61sFgAbWtQr","title":"GCP-backed","pathname":"/references/resources/nilus/destinations/dataos-lakehouse/gcp-backed","siteSpaceId":"sitesp_LgEPg","description":"GCP-backed DataOS Lakehouse destination. Writes Nilus batch, CDC, and stream output as Apache Iceberg datasets on Google Cloud Storage; covers depot setup, secrets, and Iceberg sink options.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"},{"label":"DataOS Lakehouse"}]},{"id":"QewwsJockQNFcss2BY73","title":"Microsoft Fabric Lakehouse","pathname":"/references/resources/nilus/destinations/microsoft-fabric-lakehouse","siteSpaceId":"sitesp_LgEPg","description":"Write Delta tables from Nilus batch pipelines to Microsoft Fabric Lakehouses in OneLake.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Destinations"}]},{"id":"J3oAa8qu9g3kUownkt4l","title":"Observability","pathname":"/references/resources/nilus/observability","siteSpaceId":"sitesp_LgEPg","description":"Index of Nilus observability surfaces (logs, API, metrics, Grafana) and the core signals to check for pipeline health.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"NGaee2vCA5YB36cG3rc3","title":"API endpoints","pathname":"/references/resources/nilus/observability/api-endpoints","siteSpaceId":"sitesp_LgEPg","description":"Reference for Nilus Manager's read-only HTTP API: base URLs, authentication, and endpoints for run history, CDC offsets, and schema history.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Observability"}]},{"id":"p769Jjac681aHM9diAIi","title":"Grafana dashboards","pathname":"/references/resources/nilus/observability/grafana-dashboard","siteSpaceId":"sitesp_LgEPg","description":"Guide to the two Nilus Grafana dashboards (Pipelines, Fleet Overview): what each answers, how to read the panels, and setup requirements.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Observability"}]},{"id":"2SkHyD10C7EvHr9pY9LS","title":"Prometheus metrics","pathname":"/references/resources/nilus/observability/prometheus-metrics","siteSpaceId":"sitesp_LgEPg","description":"Reference for Nilus Prometheus metrics: which metrics answer whether a pipeline is running, slow, processing records, or healthy.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Observability"}]},{"id":"5eChCKmtVcqWOFEivMTp","title":"Pipeline optimization","pathname":"/references/resources/nilus/pipeline-optimization","siteSpaceId":"sitesp_LgEPg","description":"Symptom-to-page routing table for Nilus pipeline optimization, plus the measurement loop and common tuning knobs shared across guides.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"BKdgcZOhFj8MTxptSATV","title":"Optimizing for time","pathname":"/references/resources/nilus/pipeline-optimization/optimizing-for-time","siteSpaceId":"sitesp_LgEPg","description":"Diagnostic guide for slow pipelines: bottleneck identification, tuning order, and the Iceberg file-size and worker-concurrency knobs that affect runtime.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"}]},{"id":"sf1qy5fNe4lDO87T0rur","title":"Optimizing for resource","pathname":"/references/resources/nilus/pipeline-optimization/optimizing-for-resource","siteSpaceId":"sitesp_LgEPg","description":"Diagnostic guide for high CPU, memory, or destination-cost usage: symptom table, tuning order, and Iceberg-load memory/volume guidance.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"}]},{"id":"yclmiihlkMcvMUkdNhEa","title":"Optimize sink datasets","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets","siteSpaceId":"sitesp_LgEPg","description":"Full knob taxonomy for sink tuning (correctness, shape, throughput, sampling), recommended config profiles, a sizing playbook, and common anti-patterns.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"}]},{"id":"Ky2Msd5pDPHKgZXao7dt","title":"Shape knobs","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-shape-knobs","siteSpaceId":"sitesp_LgEPg","description":"Settings that control the physical layout of the destination dataset: partitioning, clustering, and nested-field flattening depth.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"00GIxuIOuWdyhdJMyymk","title":"Sampling knobs","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-sampling-knobs","siteSpaceId":"sitesp_LgEPg","description":"Settings that cap extraction volume per run: sql_limit and yield_limit for controlled sampling and validation runs.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"snom9PdfSxpZNUQur4fP","title":"Throughput knobs","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-throughput-knobs","siteSpaceId":"sitesp_LgEPg","description":"Settings that control pipeline speed: page size, extract parallelism, loader file size, and worker counts.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"bCa1umirYw2Xa9edFsgT","title":"Correctness knobs","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-correctness-knobs","siteSpaceId":"sitesp_LgEPg","description":"Settings that control what data lands in the destination: incremental strategy, primary key, type hints, interval bounds, and column masking.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"HNVf5YuwH9UvsT9sZN3F","title":"Tuning large Lakehouse (Iceberg) loads","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-lakehouse-iceberg-loads","siteSpaceId":"sitesp_LgEPg","description":"Benchmark-backed configurations for large Iceberg loads to DataOS Lakehouse. Covers wide and narrow table shapes, file-size decisions, persistent volume setup, and ongoing table maintenance.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"hn6FubsD4z2zo2W7rdl3","title":"Destination gotchas and troubleshooting","pathname":"/references/resources/nilus/pipeline-optimization/optimize-sink-datasets/optimize-destination-gotchas-and-troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Destination-specific quirks and a troubleshooting matrix covering OOM errors, slow loads, duplicate rows, file bloat, and validation failures.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"},{"label":"Optimize sink datasets"}]},{"id":"907dd87aaa36c3911f0284d74c350379a2273da5","title":"Optimizing CDC","pathname":"/references/resources/nilus/pipeline-optimization/optimizing-cdc","siteSpaceId":"sitesp_LgEPg","description":"Tune pod memory, Debezium queue depth, and JVM heap for CDC pipelines.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Pipeline optimization"}]},{"id":"2ahP7uVQY0spAqWBsxNP","title":"Troubleshooting","pathname":"/references/resources/nilus/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Global triage checklist for Nilus pipeline failures: first-response steps, a symptom-to-page map, and evidence to collect before escalating.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"}]},{"id":"Mm94KtzhLIwlDoHhErm0","title":"Checking logs","pathname":"/references/resources/nilus/troubleshooting/checking-logs","siteSpaceId":"sitesp_LgEPg","description":"How to read Nilus runtime logs: what fields to capture, log-level configuration, common log patterns, and the recommended reading order.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"ziLCcLT7j250iLGpBGp7","title":"Common errors","pathname":"/references/resources/nilus/troubleshooting/common-errors","siteSpaceId":"sitesp_LgEPg","description":"Catalog of common Nilus error messages and symptoms across pipeline modes, each paired with its likely cause and first recovery step.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"mylt0tPLnb4tLnZQdQC2","title":"Snowflake key-pair authentication","pathname":"/references/resources/nilus/troubleshooting/snowflake-key-pair-authentication","siteSpaceId":"sitesp_LgEPg","description":"Step-by-step guide to Snowflake key-pair authentication for Nilus: generating and registering RSA keys, depot configuration, and key rotation.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"PhEcBACUYrRsXENXoJfw","title":"PostgreSQL partitioned tables for CDC","pathname":"/references/resources/nilus/troubleshooting/postgresql-cdc-partitioned-tables","siteSpaceId":"sitesp_LgEPg","description":"How to configure Nilus CDC for PostgreSQL declarative partitioning: including parent and child tables in the capture list, publication coverage, and a worked config example.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"ydlwfKacPgqYXGcjl4wJ","title":"MongoDB CDC error 286","pathname":"/references/resources/nilus/troubleshooting/mongodb-cdc-error-286","siteSpaceId":"sitesp_LgEPg","description":"Error 286 indicates that a MongoDB change stream (which Nilus relies on for CDC) attempted to resume from a point that is no longer present in the replica‑set oplog (local.oplog.rs). When this...","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"ngoVAqGc7wshRxaNYO8Q","title":"MongoDB CDC BufferingChangeStreamCursor","pathname":"/references/resources/nilus/troubleshooting/mongodb-cdc-bufferingchangestreamcursor","siteSpaceId":"sitesp_LgEPg","description":"This warning comes from the Nilus MongoDB CDC reader. It means the runtime's in-memory buffer is full and cannot accept more events until the downstream consumer catches up.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Nilus"},{"label":"Troubleshooting"}]},{"id":"l5N1BZe4L4ezyJ4KxOzR","title":"Projections","pathname":"/references/resources/projections","siteSpaceId":"sitesp_LgEPg","description":"Use this guide to understand and build projections in DataOS for runtime dynamic configurations.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"TE1VOR1E8J75GlGunh9z","title":"How projections work","pathname":"/references/resources/projections/how-projections-work","siteSpaceId":"sitesp_LgEPg","description":"Understand how DataOS renders, stores, and mounts projection output at runtime.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Projections"}]},{"id":"pNwqRu6ofDbCdvzxY0wC","title":"Best practices","pathname":"/references/resources/projections/best-practices","siteSpaceId":"sitesp_LgEPg","description":"Design secure, reusable, and maintainable projections for DataOS workloads.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Projections"}]},{"id":"3ObpzXSklBaL8rqfQpyP","title":"Troubleshooting","pathname":"/references/resources/projections/troubleshooting","siteSpaceId":"sitesp_LgEPg","description":"Resolve common projection template, context, and file-mount issues.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Projections"}]},{"id":"JQtsut4idycICXHLXCOH","title":"Secret","pathname":"/references/resources/secret","siteSpaceId":"sitesp_LgEPg","description":"A Secret is a DataOS Resource designed for securely storing sensitive information at the DataOS Tenant-level","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"sL6IYNqwzEE7tPdwrk2V","title":"Data sources","pathname":"/references/resources/secret/data-sources","siteSpaceId":"sitesp_LgEPg","description":"Create tenant Secrets for supported data source credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"}]},{"id":"8BDC4iemCcEQJ9a1y555","title":"Azure Blob File System Secure (ABFSS)","pathname":"/references/resources/secret/data-sources/azure-blob-file-system-secure-abfss","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing ABFSS storage credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"eXrmNP6b4pcfyYXKwv9x","title":"Bigquery","pathname":"/references/resources/secret/data-sources/bigquery","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing BigQuery credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"TWu9huUURTjuveEAo10J","title":"Databricks","pathname":"/references/resources/secret/data-sources/databricks","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Databricks credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"aoksHptfP6vExTOOqt8j","title":"Google Cloud Storage (GCS)","pathname":"/references/resources/secret/data-sources/google-cloud-storage-gcs","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Google Cloud Storage credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"V9jPlJcqeH6pkdRyUdMh","title":"Java Database Connectivity (JDBC)","pathname":"/references/resources/secret/data-sources/java-database-connectivity-jdbc","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing JDBC connection credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"4NEFyyI2mHokWe0E3tH6","title":"Kafka","pathname":"/references/resources/secret/data-sources/kafka","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Kafka credentials across multiple security modes.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"7RzdYsaqTDouJ3OFVUVB","title":"Microsoft SQL Server (MSSQL) or Azure SQL","pathname":"/references/resources/secret/data-sources/microsoft-sql-server-mssql-or-azure-sql","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Microsoft SQL Server or Azure SQL credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"66Ndrdh5SYioG7Mh5MlR","title":"MongoDB","pathname":"/references/resources/secret/data-sources/mongodb","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing MongoDB credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"gy7nS1rbGgQo6zB5MdoZ","title":"MySQL","pathname":"/references/resources/secret/data-sources/mysql","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing MySQL credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"emL1q40Zcue5OzgMr5kh","title":"Opensearch","pathname":"/references/resources/secret/data-sources/opensearch","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing OpenSearch credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"n4vmVwENj82Ry15fnyIf","title":"Oracle","pathname":"/references/resources/secret/data-sources/oracle","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Oracle database credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"NyKsviN7aD8GAziG2LHe","title":"PostgreSQL","pathname":"/references/resources/secret/data-sources/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing PostgreSQL credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"tg0OnPb2bHdnjAK74zfW","title":"Redshift","pathname":"/references/resources/secret/data-sources/redshift","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Amazon Redshift credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"hohQhpjS5pXyQWJWAel0","title":"Simple Storage Service (Amazon S3)","pathname":"/references/resources/secret/data-sources/simple-storage-service-amazon-s3","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Amazon S3 credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"slqkXrHUv6QJlTROroT1","title":"Snowflake","pathname":"/references/resources/secret/data-sources/snowflake","siteSpaceId":"sitesp_LgEPg","description":"Steps to create Secret to store Snowflake credentials","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"}]},{"id":"fTRXAhZkzVKgeTFTmR1g","title":"RSA Key-pair","pathname":"/references/resources/secret/data-sources/snowflake/rsa-key-pair","siteSpaceId":"sitesp_LgEPg","description":"Steps to Generate and Register a Key Pair in Snowflake","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Data sources"},{"label":"Snowflake"}]},{"id":"RAVxX1Xv2JxS7G2S2xvI","title":"Repositories","pathname":"/references/resources/secret/repositories","siteSpaceId":"sitesp_LgEPg","description":"Create tenant Secrets for supported repository credentials.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"}]},{"id":"0FFGD8NkKEi0kjy41DXW","title":"AWS CodeCommit","pathname":"/references/resources/secret/repositories/aws-codecommit","siteSpaceId":"sitesp_LgEPg","description":"Create a tenant Secret for securing AWS CodeCommit credentials","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Repositories"}]},{"id":"Wi5T6Rx4iphxpcoahoso","title":"Bitbucket","pathname":"/references/resources/secret/repositories/bitbucket","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Bitbucket repository credentials","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Repositories"}]},{"id":"nRScyDCn3xJgGrEvwQVe","title":"Git","pathname":"/references/resources/secret/repositories/git","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing Git repository credentials","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"},{"label":"Repositories"}]},{"id":"0fXejSGDt2EXfxbVRHnv","title":"Container registries","pathname":"/references/resources/secret/container-registries","siteSpaceId":"sitesp_LgEPg","description":"Create a Secret for securing container registry (Docker) credentials used to pull private images","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"}]},{"id":"vQOfzXmIjSg2ejlfpNXj","title":"Consume","pathname":"/references/resources/secret/consume","siteSpaceId":"sitesp_LgEPg","description":"Consume Secret in other DataOS Resources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"}]},{"id":"xhZOfBaFPc8v7X6XzUi9","title":"Manifest configurations","pathname":"/references/resources/secret/manifest-configuration","siteSpaceId":"sitesp_LgEPg","description":"Following attributes/fields are declared for each Secret Resource object in its YAML manifest file. Some of these attributes need to be mandatorily declared, while others are optional.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Secret"}]},{"id":"j41D4wxpz9Wm7IomQ3X2","title":"Depot","pathname":"/references/resources/depot","siteSpaceId":"sitesp_LgEPg","description":"Depot is a Resource used to connect different data sources to DataOS.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"RybZUPO6dgPm5dmzuIpy","title":"Data sources","pathname":"/references/resources/depot/supported-sources","siteSpaceId":"sitesp_LgEPg","description":"Choose the source-specific guide for creating a Depot.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"}]},{"id":"s1zNOkk8e2Www1ee2ZPO","title":"Amazon Redshift","pathname":"/references/resources/depot/supported-sources/redshift","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Amazon Redshift connections.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"SxUz3kNcK8qLztUfUcvo","title":"Amazon S3","pathname":"/references/resources/depot/supported-sources/s3","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Amazon S3 buckets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"VPrDeIgPPzAXQdGiTPR3","title":"Azure Blob File System Secure (ABFSS)","pathname":"/references/resources/depot/supported-sources/abfss","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for ABFSS object storage.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"nUCKLWZ6aNfSjGT5kD8o","title":"Databricks","pathname":"/references/resources/depot/supported-sources/databricks","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Databricks workspaces.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"cf3lLvGTYqS0tzfo9d3g","title":"Elasticsearch","pathname":"/references/resources/depot/supported-sources/elasticsearch","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Elasticsearch clusters.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"ugnbxalMzBzeJOfoyUf2","title":"Eventhub","pathname":"/references/resources/depot/supported-sources/eventhub","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Azure Event Hubs.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"ruHUSNGTHGXILsppXNJF","title":"Google BigQuery","pathname":"/references/resources/depot/supported-sources/bigquery","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Google BigQuery datasets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"14AqMf3Zf6rmWzvGB1a4","title":"Google Cloud Storage (GCS)","pathname":"/references/resources/depot/supported-sources/gcs","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Google Cloud Storage buckets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"KkzBbffR1qPzbvCJahOj","title":"Java Database Connectivity (JDBC)","pathname":"/references/resources/depot/supported-sources/jdbc","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource using a JDBC-compatible connection.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"D6DBQsTlPHyHCDoZiY9N","title":"Kafka","pathname":"/references/resources/depot/supported-sources/kafka","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Kafka topics and brokers across multiple security modes.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"rFUDYGpTLSowL7fcbYjW","title":"Lakehouse (Iceberg on ABFSS, GCS, or S3)","pathname":"/references/resources/depot/supported-sources/lakehouse","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for a Lakehouse backed by ABFSS, GCS, or Amazon S3.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"6Kja26bco0zOsY0ekeeC","title":"Microsoft SQL Server (MSSQL) or Azure SQL","pathname":"/references/resources/depot/supported-sources/mssql","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Microsoft SQL Server or Azure SQL.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"SD5Raod6onfhE5625Zb8","title":"MongoDB","pathname":"/references/resources/depot/supported-sources/mongo","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for MongoDB databases and collections.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"kOc8c3qM2Hi8ctiXkZqI","title":"MySQL","pathname":"/references/resources/depot/supported-sources/mysql","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for MySQL databases.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"FdhPokO1nIyivqU52Nbf","title":"Opensearch","pathname":"/references/resources/depot/supported-sources/opensearch","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for OpenSearch clusters.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"2UuXouQuwO8Sn5oiKKND","title":"Oracle","pathname":"/references/resources/depot/supported-sources/oracle","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Oracle databases.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"Ic8L9sPs1e9kqdjwGQFq","title":"PostgreSQL","pathname":"/references/resources/depot/supported-sources/postgresql","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for PostgreSQL databases.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"h59Q0mxssTjCkKRKGsLT","title":"Snowflake","pathname":"/references/resources/depot/supported-sources/snowflake","siteSpaceId":"sitesp_LgEPg","description":"Create a Depot resource for Snowflake databases and schemas.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Data sources"}]},{"id":"ETICXHM5AU2U8jSKK2ii","title":"Supported table format","pathname":"/references/resources/depot/supported-table-format","siteSpaceId":"sitesp_LgEPg","description":"Supported table formats that can be used with Depot.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"}]},{"id":"z645HmwYocse3seQ6UdJ","title":"Iceberg","pathname":"/references/resources/depot/supported-table-format/iceberg","siteSpaceId":"sitesp_LgEPg","description":"Using Iceberg table format in object storage Depots","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Supported table format"}]},{"id":"15QOP9ZZgLyFPdUjT8mq","title":"Delta","pathname":"/references/resources/depot/supported-table-format/delta","siteSpaceId":"sitesp_LgEPg","description":"Using Delta table format in object storage Depots","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Supported table format"}]},{"id":"zsgxz7zHiFY3TqHrXwb7","title":"Using Depots","pathname":"/references/resources/depot/consume","siteSpaceId":"sitesp_LgEPg","description":"Consume data from Depot using DataOS interfaces and Stacks.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"}]},{"id":"nc5lCV0xeanzxToV7HWG","title":"Data Movement (Nilus)","pathname":"/references/resources/depot/consume/nilus","siteSpaceId":"sitesp_LgEPg","description":"Move data between Depot-connected source and target systems with Nilus batch and CDC ingestion pipelines.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Using Depots"}]},{"id":"qsLFo7jS2r9ycwfh0wVu","title":"Data Modeling and Transformation (Vulcan)","pathname":"/references/resources/depot/consume/vulcan","siteSpaceId":"sitesp_LgEPg","description":"Build semantic models, transform Depot-connected datasets, and deliver governed analytics with Vulcan.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Using Depots"}]},{"id":"wng24n3gQ3whvpzoqa8d","title":"Querying (Minerva)","pathname":"/references/resources/depot/consume/querying","siteSpaceId":"sitesp_LgEPg","description":"Query Depot-connected data interactively through Minerva's Trino-compatible SQL endpoint.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"},{"label":"Using Depots"}]},{"id":"3egAovujAdh7G1MhdAdT","title":"Add a custom Depot type","pathname":"/references/resources/depot/create-depot-type","siteSpaceId":"sitesp_LgEPg","description":"Define a custom Depot type so DataOS can recognize a new source system, validate its configuration, and resolve Uniform Data Links for it.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"}]},{"id":"SLTLJOGNz2t3q7oKjYz1","title":"Manifest configurations","pathname":"/references/resources/depot/configurations","siteSpaceId":"sitesp_LgEPg","description":"Reference Depot manifest fields and source-specific configuration options.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Depot"}]},{"id":"8rymVXyPHIb8ER6Abi2l","title":"Lakehouse","pathname":"/references/resources/lakehouse","siteSpaceId":"sitesp_LgEPg","description":"What a Lakehouse is, how it's built, and how to create and manage one.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"dGsUW2JT5SyrBHAlvu1x","title":"Architecture","pathname":"/references/resources/lakehouse/architecture","siteSpaceId":"sitesp_LgEPg","description":"Understand the storage, catalog, orchestration, and compute components of a Lakehouse.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"K4HLvGwEgQgZ1PGL2QAR","title":"Create a Lakehouse","pathname":"/references/resources/lakehouse/create-a-lakehouse","siteSpaceId":"sitesp_LgEPg","description":"Prerequisites, permissions, and steps to create, apply, and verify a Lakehouse Resource on S3, ABFSS, or GCS.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"0UJchaYk9AIhzwQqtSwk","title":"Storage-specific configuration","pathname":"/references/resources/lakehouse/supported-sources","siteSpaceId":"sitesp_LgEPg","description":"Choose the storage-specific guide for creating a Lakehouse.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"RJLzWn1eBerlDKZ4AYR6","title":"Lakehouse on ABFSS","pathname":"/references/resources/lakehouse/supported-sources/lakehouse-on-abfss-1","siteSpaceId":"sitesp_LgEPg","description":"Create a Lakehouse Resource on an Azure Blob File System Secure (ABFSS) data source.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"},{"label":"Storage-specific configuration"}]},{"id":"w6IjUP58cXTSBZXvFdZJ","title":"Lakehouse on S3","pathname":"/references/resources/lakehouse/supported-sources/lakehouse-on-s3-1","siteSpaceId":"sitesp_LgEPg","description":"Create a Lakehouse Resource on an Amazon Simple Storage Service (S3) data source.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"},{"label":"Storage-specific configuration"}]},{"id":"WixaIM7eqRDLPLebSNyV","title":"Lakehouse on GCS","pathname":"/references/resources/lakehouse/supported-sources/lakehouse-on-gcs-1","siteSpaceId":"sitesp_LgEPg","description":"Create a Lakehouse Resource on a Google Cloud Storage (GCS) data source.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"},{"label":"Storage-specific configuration"}]},{"id":"QNVSUPpJelDTHgzwHhMr","title":"Create a Lakehouse Depot","pathname":"/references/resources/lakehouse/create-a-lakehouse-depot","siteSpaceId":"sitesp_LgEPg","description":"Connect an existing Lakehouse Resource with a Lakehouse Depot.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"4q7m2EwpcyblmIN0XfMI","title":"Manifest configurations","pathname":"/references/resources/lakehouse/configurations","siteSpaceId":"sitesp_LgEPg","description":"Reference for the Lakehouse manifest structure and every supported configuration field.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"WFFYYofbsTu7AwFL6qva","title":"Command reference","pathname":"/references/resources/lakehouse/command-reference","siteSpaceId":"sitesp_LgEPg","description":"Lakehouse resource management commands","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Lakehouse"}]},{"id":"ZD8poh2QJwGeizl7v3e4","title":"Minerva","pathname":"/references/resources/minerva","siteSpaceId":"sitesp_LgEPg","description":"Minerva and its role in the runtime layer.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"edwigXwhjXHL9pkkPtLz","title":"Create a Minerva resource","pathname":"/references/resources/minerva/create-a-minerva-resource","siteSpaceId":"sitesp_LgEPg","description":"Create and verify a Minerva resource that exposes configured depots through a Trino-compatible endpoint.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Minerva"}]},{"id":"iQOB19o8uhFeHKkx0ssU","title":"Troubleshoot and monitor","pathname":"/references/resources/minerva/troubleshoot-and-monitor","siteSpaceId":"sitesp_LgEPg","description":"Diagnose Minerva resource failures and monitor runtime health.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Minerva"}]},{"id":"hpK1HJWa3Hh8Xb0prsKW","title":"Performance considerations","pathname":"/references/resources/minerva/limitations","siteSpaceId":"sitesp_LgEPg","description":"Understand where Minerva fits best, where it slows down, and when to use curated tables or Spark-based processing instead.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Minerva"}]},{"id":"x0w904NTNARxT22P1fI8","title":"Bundle","pathname":"/references/resources/bundle","siteSpaceId":"sitesp_LgEPg","description":"Explains bundle resource and how they package workload assets.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"Ic827kaMsgabRI6vQ1oS","title":"Core concepts","pathname":"/references/resources/bundle/core-concepts","siteSpaceId":"sitesp_LgEPg","description":"Core concepts specific to bundle resource.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Bundle"}]},{"id":"ZMfgu8d4j2Hdm8r0WbLv","title":"Field reference","pathname":"/references/resources/bundle/field-reference","siteSpaceId":"sitesp_LgEPg","description":"Reference for Bundle manifest fields and nested configuration.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Bundle"}]},{"id":"VJyunan0DhoXXkKecolK","title":"Volume","pathname":"/references/resources/volume","siteSpaceId":"sitesp_LgEPg","description":"Explains the Volume resource and the two ways to attach persistent storage to a workload.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"3BDMxbvpu26WtsygK8yO","title":"Service","pathname":"/references/resources/service","siteSpaceId":"sitesp_LgEPg","description":"Explains services for long-running and exposed workloads.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"Cz50d0PDZbJ9UJXAInhO","title":"Core concepts","pathname":"/references/resources/service/core-concepts","siteSpaceId":"sitesp_LgEPg","description":"This section includes core concepts specific to a service resource","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Service"}]},{"id":"kGb0jsmH62rWD4LPA4qj","title":"Example","pathname":"/references/resources/service/example","siteSpaceId":"sitesp_LgEPg","description":"End-to-end Service examples for common deployment patterns.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Service"}]},{"id":"c1j3sbjd0JJTKWHbIO0y","title":"Field reference","pathname":"/references/resources/service/field-reference","siteSpaceId":"sitesp_LgEPg","description":"Reference for Service manifest fields and nested runtime configuration.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Service"}]},{"id":"UPT5OsCaDxKwGdx8rIkf","title":"Worker","pathname":"/references/resources/worker","siteSpaceId":"sitesp_LgEPg","description":"Explains workers for background and task-based execution.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"c1yyyIvVf6dwBSIHPr3u","title":"Core concepts","pathname":"/references/resources/worker/core-concepts","siteSpaceId":"sitesp_LgEPg","description":"Core concepts specific to Worker resources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Worker"}]},{"id":"RTePSha0f3uejN71vU5M","title":"Example","pathname":"/references/resources/worker/example","siteSpaceId":"sitesp_LgEPg","description":"End-to-end Worker examples for common deployment patterns.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Worker"}]},{"id":"uazRlXqdSYuRHpR4I7ZU","title":"Field reference","pathname":"/references/resources/worker/field-reference","siteSpaceId":"sitesp_LgEPg","description":"Reference for Worker manifest fields and nested runtime configuration.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Worker"}]},{"id":"r9zv2xSzFq5tB5F3GIN9","title":"Workflow","pathname":"/references/resources/workflow","siteSpaceId":"sitesp_LgEPg","description":"Explains workflows for orchestrated, multi-step execution.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"}]},{"id":"Vu2e4qgLZR3w7WPD5zw3","title":"Core concepts","pathname":"/references/resources/workflow/core-concepts","siteSpaceId":"sitesp_LgEPg","description":"Core concepts specific to Workflow resources.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Workflow"}]},{"id":"4A8MIutzgpJaK5XjVqxq","title":"Create a Workflow","pathname":"/references/resources/workflow/create-a-workflow","siteSpaceId":"sitesp_LgEPg","description":"Define, apply, and verify a Workflow resource.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Workflow"}]},{"id":"7j76LCgUZbyZslvAxE5x","title":"Field reference","pathname":"/references/resources/workflow/field-reference","siteSpaceId":"sitesp_LgEPg","description":"Reference for Workflow manifest fields and DAG step configuration.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Workflow"}]},{"id":"7FZnYaXuaCSxEzTeUgex","title":"Example DAG patterns","pathname":"/references/resources/workflow/example","siteSpaceId":"sitesp_LgEPg","description":"End-to-end Workflow examples for common orchestration patterns.","breadcrumbs":[{"label":"References"},{"label":"DataOS Resources"},{"label":"Workflow"}]},{"id":"nyevOI2zJDHGmXoLCIu9","title":"Understand Interfaces","pathname":"/references/interfaces/overview","siteSpaceId":"sitesp_LgEPg","description":"The ways to query, connect to, and operate Data Products through APIs, BI tools, database clients, AI assistants, and the CLI.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"g2DZNriTB4uedFqfGNxu","title":"APIs","pathname":"/references/interfaces/apis","siteSpaceId":"sitesp_LgEPg","description":"Choose between the Data Product APIs and the Core APIs for building on DataOS.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"CzZKsnwoXxkrgyZRzdy6","title":"Data Product APIs","pathname":"/references/interfaces/apis/data-product-apis","siteSpaceId":"sitesp_LgEPg","description":"Explore the Data Product API surface for governed discovery, queries, reusable results, and operational insights.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"}]},{"id":"2cHbe2lVs85lkANAorKl","title":"Getting started","pathname":"/references/interfaces/apis/data-product-apis/getting-started","siteSpaceId":"sitesp_LgEPg","description":"A practical introduction to Data Product API access, requests, and error recovery.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"}]},{"id":"n7msDCwdkrdIZybNmHKY","title":"Authentication & authorization","pathname":"/references/interfaces/apis/data-product-apis/getting-started/authentication","siteSpaceId":"sitesp_LgEPg","description":"Secure Data Product API calls with DataOS tokens, identity checks, and access controls.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Getting started"}]},{"id":"xxN4l3dPVTFV6rzuI3zy","title":"API calls","pathname":"/references/interfaces/apis/data-product-apis/getting-started/api-calls","siteSpaceId":"sitesp_LgEPg","description":"Core HTTP conventions for calling a Data Product API, including URLs, pagination, and Postman.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Getting started"}]},{"id":"kWEmo8G7hFXLIUzbr72Y","title":"Error codes","pathname":"/references/interfaces/apis/data-product-apis/getting-started/error-codes","siteSpaceId":"sitesp_LgEPg","description":"Reference for identifying API failures and choosing the right recovery action.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Getting started"}]},{"id":"koHeeVsXuOAewkFjgxp0","title":"Querying Data Products","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products","siteSpaceId":"sitesp_LgEPg","description":"Guidance for matching Data Product query interfaces to integration and analytics needs.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"}]},{"id":"d6MuoRiyD8CbRwcEiTsP","title":"REST","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/rest","siteSpaceId":"sitesp_LgEPg","description":"Reference for expressing semantic analytics through structured JSON requests.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"bRnWVtIGedapHnf7kucd","title":"Semantic SQL","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/semantic-sql","siteSpaceId":"sitesp_LgEPg","description":"A SQL-oriented interface for analyzing governed business definitions.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"Q1Oq5yDS27jtdevG8iyF","title":"GraphQL","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/graphql","siteSpaceId":"sitesp_LgEPg","description":"A typed API for selecting Data Product fields and receiving nested results.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"QNF9YBIGQrDYGJxn9TKx","title":"Metrics","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/metrics","siteSpaceId":"sitesp_LgEPg","description":"A focused interface for reading approved KPI time series.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"gEyiHNq8zqrgUFWeycpG","title":"Perspectives","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/perspectives","siteSpaceId":"sitesp_LgEPg","description":"Turn a successful query into a reusable, governed data asset.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"iPlTur456X6DN03Jrxpc","title":"Advanced","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced","siteSpaceId":"sitesp_LgEPg","description":"Deeper guidance for selecting, executing, and extending Data Product queries.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"}]},{"id":"2HqfemMkdQLpV1wXCd1W","title":"Choosing a query method","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/choosing-a-query-method","siteSpaceId":"sitesp_LgEPg","description":"Compare the available query interfaces and select the right fit for your integration.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"y5eUyDZBO46weYuAKzAe","title":"Query lifecycle","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/query-lifecycle","siteSpaceId":"sitesp_LgEPg","description":"Learn how asynchronous requests progress from submission to a final result or error.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"rzkyBAgxzalKNdGIr3rm","title":"Measure and dimension behavior","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/measure-and-dimension-behavior","siteSpaceId":"sitesp_LgEPg","description":"Clarify the semantic rules that shape calculations, grouping, filtering, and relationships.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"NhvjvOi6UEMzSsSgu0Yg","title":"Cross-model queries","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/cross-model-queries","siteSpaceId":"sitesp_LgEPg","description":"Combine related business entities in a single governed analytical request.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"z5FicSLs7rU9OPoxAb8H","title":"Source SQL","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/source-sql","siteSpaceId":"sitesp_LgEPg","description":"Use the physical data layer only for questions beyond the semantic model.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"ocY3SYa3jS99R1LyhWDz","title":"Statement lifecycle","pathname":"/references/interfaces/apis/data-product-apis/querying-data-products/advanced/statement-lifecycle","siteSpaceId":"sitesp_LgEPg","description":"Detailed sequence diagrams walking through the statement lifecycle, step by step.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"Querying Data Products"},{"label":"Advanced"}]},{"id":"5pPVvGbA060u47x8erWn","title":"SDKs","pathname":"/references/interfaces/apis/data-product-apis/sdks","siteSpaceId":"sitesp_LgEPg","description":"Client libraries for building typed Data Product API integrations.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"}]},{"id":"ZbiQsL8cVq42PdOmqRVi","title":"Python SDK","pathname":"/references/interfaces/apis/data-product-apis/sdks/python-sdk","siteSpaceId":"sitesp_LgEPg","description":"A typed Python client for integrating applications with Data Product APIs.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"SDKs"}]},{"id":"ZBjlgsVckQkB2EF0QykS","title":"TypeScript SDK","pathname":"/references/interfaces/apis/data-product-apis/sdks/typescript-sdk","siteSpaceId":"sitesp_LgEPg","description":"A fully typed TypeScript client for integrating applications with Data Product APIs.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"SDKs"}]},{"id":"yNiTl1ZzIDy9VjClEQWh","title":"API reference","pathname":"/references/interfaces/apis/data-product-apis/api-reference","siteSpaceId":"sitesp_LgEPg","description":"Endpoint specifications for integrating with the Data Product API.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"}]},{"id":"AoYiIoyTcbmnjAaId4cS","title":"Discover","pathname":"/references/interfaces/apis/data-product-apis/api-reference/discover","siteSpaceId":"sitesp_LgEPg","description":"Find the API contracts that expose a Data Product's metadata and semantic model.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"V5PLiTfoAe2nUAplACNl","title":"Query","pathname":"/references/interfaces/apis/data-product-apis/api-reference/query","siteSpaceId":"sitesp_LgEPg","description":"API contracts for running analytical requests and working with their outputs.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"rxWpX5qdKiC4HFNN7GEI","title":"GraphQL","pathname":"/references/interfaces/apis/data-product-apis/api-reference/graphql","siteSpaceId":"sitesp_LgEPg","description":"Technical contract for GraphQL schema access and execution.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"UsI5f9dUIEoX4rWMMHI1","title":"Perspectives","pathname":"/references/interfaces/apis/data-product-apis/api-reference/perspectives","siteSpaceId":"sitesp_LgEPg","description":"Technical contract for managing saved, reusable query results.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"gq2NOvUat5YpBUgvGaq7","title":"Engagement","pathname":"/references/interfaces/apis/data-product-apis/api-reference/engagement","siteSpaceId":"sitesp_LgEPg","description":"Technical contract for working with consumer engagement data.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"wjpY5LuquaUrzaJBzYss","title":"Quality & Activity","pathname":"/references/interfaces/apis/data-product-apis/api-reference/quality-and-activity","siteSpaceId":"sitesp_LgEPg","description":"Technical contract for quality information and operational activity.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"pvYnmw3MJBXevXa3ndLJ","title":"Health","pathname":"/references/interfaces/apis/data-product-apis/api-reference/health","siteSpaceId":"sitesp_LgEPg","description":"Technical contract for checking service availability and runtime health.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Data Product APIs"},{"label":"API reference"}]},{"id":"qH4P3cyDvzrzrYk1XvTa","title":"Core APIs","pathname":"/references/interfaces/apis/core-apis","siteSpaceId":"sitesp_LgEPg","description":"Reference for platform-api: tenant apps and links, log search, workload metrics, and user tokens.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"}]},{"id":"24ktuC4r0dchAKZd0D29","title":"Authentication","pathname":"/references/interfaces/apis/core-apis/authentication","siteSpaceId":"sitesp_LgEPg","description":"Authenticate platform-api requests with a Bearer token or apikey header, plus optional tracing headers.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"}]},{"id":"Hf73GJFQQJPxgVm7VqdM","title":"API reference","pathname":"/references/interfaces/apis/core-apis/api-reference","siteSpaceId":"sitesp_LgEPg","description":"Endpoint index for platform-api: tenant apps and links, log search, metrics, and user tokens.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"}]},{"id":"fD45xW8RJ89hQdWYnRr2","title":"Tenant apps & links","pathname":"/references/interfaces/apis/core-apis/api-reference/tenant-resources","siteSpaceId":"sitesp_LgEPg","description":"List the apps and links registered for a tenant, with optional filtering by product.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"},{"label":"API reference"}]},{"id":"rYiM2EpRCqCLsAMIisWr","title":"Log search","pathname":"/references/interfaces/apis/core-apis/api-reference/logs-search","siteSpaceId":"sitesp_LgEPg","description":"Search logs for a tenant resource with the v1 (grouped by pod) or v2 (flat list) endpoint.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"},{"label":"API reference"}]},{"id":"L29bvhDNVc25AQXt3pFm","title":"Observability metrics","pathname":"/references/interfaces/apis/core-apis/api-reference/observability-metrics","siteSpaceId":"sitesp_LgEPg","description":"Query workload time-series metrics from Instance Prometheus with PromQL through platform-api.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"},{"label":"API reference"}]},{"id":"CN3CnGGWSKNTsJQp04YW","title":"User tokens","pathname":"/references/interfaces/apis/core-apis/api-reference/user-tokens","siteSpaceId":"sitesp_LgEPg","description":"Create, list, retrieve, and delete user API tokens through platform-api to automate token management.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"APIs"},{"label":"Core APIs"},{"label":"API reference"}]},{"id":"cSiTX7QEc6aCNtWUAOCl","title":"CLI","pathname":"/references/interfaces/command-line-interface","siteSpaceId":"sitesp_LgEPg","description":"Use the CLI to manage DataOS Resources.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"o5Rns4yxZCBnH4NMR5jv","title":"Resource commands","pathname":"/references/interfaces/command-line-interface/resource","siteSpaceId":"sitesp_LgEPg","description":"Reference for dataos-ctl resource commands.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"CLI"}]},{"id":"ciV6MC50jZenXoTpCpEz","title":"Lakehouse commands","pathname":"/references/interfaces/command-line-interface/lakehouse","siteSpaceId":"sitesp_LgEPg","description":"Reference for dataos-ctl lakehouse commands.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"CLI"}]},{"id":"hGESrjCQJEPiuQUZ1rnO","title":"User commands","pathname":"/references/interfaces/command-line-interface/user","siteSpaceId":"sitesp_LgEPg","description":"Reference for dataos-ctl user commands.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"CLI"}]},{"id":"PmsLvHZTR5AZHmeuScB7","title":"Apps","pathname":"/references/interfaces/apps","siteSpaceId":"sitesp_LgEPg","description":"Build applications on a Data Product, then deploy them in DataOS or link an externally hosted app.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"mWGBxa2cZ8GAXe4PxG2v","title":"Deploy a data application","pathname":"/references/interfaces/apps/deploy-a-data-application","siteSpaceId":"sitesp_LgEPg","description":"Run a data application from a container image in DataOS using an app Resource.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"Apps"}]},{"id":"6aRq0naj1ZKNP11ZWEUl","title":"Link an external application","pathname":"/references/interfaces/apps/link-an-external-application","siteSpaceId":"sitesp_LgEPg","description":"Register an externally hosted application as a link Resource so consumers can find it in DataOS.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"Apps"}]},{"id":"8QXVNVuhCnHB1dW5g8to","title":"BI tools","pathname":"/references/interfaces/bi-tools","siteSpaceId":"sitesp_LgEPg","description":"Connect Tableau, Power BI Desktop, or Power BI Service to a Data Product's semantic layer.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"cOAzRQv1Fdc096gUirdm","title":"Tableau Desktop","pathname":"/references/interfaces/bi-tools/tableau","siteSpaceId":"sitesp_LgEPg","description":"Download the Tableau .tds project, then review supported types, limits, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"BI tools"}]},{"id":"uM3xqPCAsm2f9D01xcvZ","title":"Tableau Cloud","pathname":"/references/interfaces/bi-tools/tableau-cloud","siteSpaceId":"sitesp_LgEPg","description":"This page covers everything beyond the initial setup.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"BI tools"}]},{"id":"Qa7wnDscga2e1MVkAzSG","title":"Power BI Desktop","pathname":"/references/interfaces/bi-tools/power-bi-desktop","siteSpaceId":"sitesp_LgEPg","description":"Download the Power BI .pbip project, then review supported types, limits, and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"BI tools"}]},{"id":"eIZe6jc0cPVvon8Eu0xU","title":"Power BI Service","pathname":"/references/interfaces/bi-tools/power-bi-service","siteSpaceId":"sitesp_LgEPg","description":"How Power BI Service connects to DataOS through a gateway, plus limitations and troubleshooting.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"BI tools"}]},{"id":"q73QUlWBWWlvVGS5nDg6","title":"Database clients","pathname":"/references/interfaces/db-clients","siteSpaceId":"sitesp_LgEPg","description":"Query a Data Product's semantic models with plain SQL from any MySQL-compatible client.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"ox7PfeJ35unHc8QMclOS","title":"AI activation","pathname":"/references/interfaces/ai-activation","siteSpaceId":"sitesp_LgEPg","description":"Explains AI activation in DataOS and how Data Product MCP connects governed Data Products to AI assistants.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"}]},{"id":"b4b9aG1Zc06RTWizkt90","title":"MCP components","pathname":"/references/interfaces/ai-activation/mcp-components","siteSpaceId":"sitesp_LgEPg","description":"Understand the MCP host, client, server, tools, resources, and prompts used in AI activation.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"dQBMaljuD2RiNAdI0gGQ","title":"MCP layers","pathname":"/references/interfaces/ai-activation/mcp-layers","siteSpaceId":"sitesp_LgEPg","description":"Understand the data and transport layers used by Data Product MCP.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"XpjSorFg0FnxIrHJf3yh","title":"Data Product MCP lifecycle","pathname":"/references/interfaces/ai-activation/data-product-mcp-lifecycle","siteSpaceId":"sitesp_LgEPg","description":"See how a Data Product MCP session initializes, operates, and ends.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"6gSyEonZEbatcqpWEq2G","title":"Request flow","pathname":"/references/interfaces/ai-activation/request-flow","siteSpaceId":"sitesp_LgEPg","description":"Follow how a user prompt becomes a governed Data Product MCP response.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"mG63qlHH4gldKJCYhA74","title":"Authentication and authorization","pathname":"/references/interfaces/ai-activation/authentication-and-authorization","siteSpaceId":"sitesp_LgEPg","description":"See how Data Product MCP enforces DataOS identity, access, and policy controls.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"pB4FmBF7E1wm6FaL3jIW","title":"Consumer journey","pathname":"/references/interfaces/ai-activation/consumer-journey","siteSpaceId":"sitesp_LgEPg","description":"See how AI activation helps users find, trust, query, and act on governed Data Products.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"MDKJDfLBwpiDZ5VYEdnp","title":"Builder journey","pathname":"/references/interfaces/ai-activation/builder-journey","siteSpaceId":"sitesp_LgEPg","description":"See how AI activation supports discovery, design, planning, build, and validation of Data Products.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"LB1IboQDbMzTp5gQVlhd","title":"Trust model","pathname":"/references/interfaces/ai-activation/trust-model","siteSpaceId":"sitesp_LgEPg","description":"Understand the governance and assistant trust boundaries in AI activation.","breadcrumbs":[{"label":"References"},{"label":"Interfaces"},{"label":"AI activation"}]},{"id":"XHFW1TwIQLVDBX6E2uk2","title":"Supported connectors","pathname":"/references/supported-connectors","siteSpaceId":"sitesp_LgEPg","description":"This document lists the data sources supported by DataOS.","breadcrumbs":[{"label":"References"}]},{"id":"7ibez2pMeI5CkUeYZEq6","title":"Glossary","pathname":"/references/glossary","siteSpaceId":"sitesp_LgEPg","description":"Use this glossary for core terms used across DataOS documentation","breadcrumbs":[{"label":"References"}]},{"id":"evXUSndd98X5cXquWsj4","title":"Key concepts","pathname":"/references/key-concepts","siteSpaceId":"sitesp_LgEPg","description":"Includes key concepts specific to DataOS","breadcrumbs":[{"label":"References"}]},{"id":"Y14fWUZ9FoXGI4dMl4z4","title":"API tokens","pathname":"/references/key-concepts/api-tokens","siteSpaceId":"sitesp_LgEPg","description":"What a DataOS API token is, how it's created and revoked, and how its scope and expiry work.","breadcrumbs":[{"label":"References"},{"label":"Key concepts"}]},{"id":"ff7524a0015a35ede4dad94bd4dfd8b11b62b847","title":"September 2026","pathname":"/releasenotes","siteSpaceId":"sitesp_eOyxL","description":"More control over platform operations, broader engine support, and tighter governance over how data gets shared.","breadcrumbs":[{"label":"Release Notes"}]},{"id":"hcD2wAfCWdwI8cBHLugK","title":"August 2026","pathname":"/releasenotes/august-2026","siteSpaceId":"sitesp_eOyxL","description":"More ways to land data, more confidence in every AI answer.","breadcrumbs":[{"label":"Release Notes"}]},{"id":"g4AkdvH8dJ6LNo4YbHN1","title":"July 2026","pathname":"/releasenotes/july-2026","siteSpaceId":"sitesp_eOyxL","description":"Tighter contracts on the way in, more ways to query on the way out.","breadcrumbs":[{"label":"Release Notes"}]},{"id":"D7RS3XV9lEs5uSFRCyHZ","title":"June 2026","pathname":"/releasenotes/june-2026","siteSpaceId":"sitesp_eOyxL","description":"A major DataOS release to build governed Data Products on any engine, then serve them to people, tools, and AI.","breadcrumbs":[{"label":"Release Notes"}]}]}