Cube Core
Euno's Cube Core integration ingests a zip of Cube schema YAML from self-hosted Cube Core deployments. Euno discovers cubes, views, measures, and dimensions, and enriches them with lineage to warehouse tables and columns.
This integration is push-only: upload your Cube model/ tree as a zip file. Euno does not call Cube APIs.
Limitations
Euno currently supports Cube Core deployments connected to Snowflake only. Other warehouses, Cube Cloud, and JavaScript schema files are not supported.
What Euno discovers
Cube deployment β optional container when Instance slug is set
Cubes β semantic models over warehouse tables
Views β consumer-facing projections over cubes
Dimensions and measures β under cubes or views
Lineage β warehouse table and column dependencies, cube-to-cube joins, and view member aliases
For property and relationship details, see Cube Core Integration Discovered Resources.
Prerequisites
Before setting up a Cube Core source in Euno:
Cube schema YAML β Export or package your Cube
model/directory as a.zipfile. Files must be undermodel/**/*.ymlormodel/**/*.yamland containcubes:and/orviews:at the root of each document.Jinja stubs (if needed) β If your
sql_tablevalues useCOMPILE_CONTEXTJinja, configure Security context and Custom context in the source so Euno can render table names offline.
Upload the complete model/ tree when your deployment has joins or views that reference cubes defined in other YAML files. Partial uploads produce incomplete graphs.
Setting up a Cube Core source in Euno
Step 1: Access the Sources page
Navigate to the Sources page in Euno.
Click Add New Source and select Cube Core.
Step 2: General configuration
Asterisk (*) means a mandatory field.
Name*
Display name for this source (for example, Cube Core - Production).
Warehouse technology*
Warehouse type for the default Cube data source.
Snowflake host*
Warehouse host or account locator for the default data source (for example, JGB69604.us-west-2.aws or account.region.snowflakecomputing.com).
Default database
Default database for unqualified sql_table names on the default Cube data source.
Default schema
Default schema for unqualified table names on the default Cube data source.
Instance slug
URI namespace for cube resources. When set, Euno also creates a cube_deployment container for this instance.
Instance display name
Optional label for the deployment container. Defaults to the instance slug.
Step 3: Resource cleanup
To keep your data relevant and free of outdated resources, Euno provides automatic resource cleanup options. These settings determine when a resource should be removed if it is no longer detected by a source integration. For a detailed explanation, see Resource Sponsorship in Euno.
Time-Based Cleanup (default): Remove resources that were last detected a number of days before the most recent successful source integration run (default is 7 days).
Immediate Cleanup: Remove resources not detected in the most recent successful source integration run.
No Cleanup: Keep all resources indefinitely, even if they are no longer detected.
Step 4: Advanced settings (optional)
Click Advanced to configure additional options:
Data source mapping
Map named Cube data_source values to warehouse hosts and default database/schema. Required for every non-default data_source referenced in your schema.
Cube pattern
Include or exclude cubes by name using regular expressions. Defaults to including all cubes.
View pattern
Include or exclude views by name using regular expressions. Defaults to including all views.
Security context
Stub values for offline Jinja rendering of COMPILE_CONTEXT.securityContext. Supported keys: tenant, deployment_id, team, environment.
Custom context
Additional top-level COMPILE_CONTEXT keys for offline Jinja rendering (string values).
Each data source mapping entry includes:
Warehouse technology
Warehouse type for this named data source.
Snowflake host
Warehouse host for cubes that use this named data source.
Default database
Default database for unqualified sql_table names on this data source.
Default schema
Default schema for unqualified table names on this data source.
Security context
Optional override of the top-level security context for this data source.
Custom context
Optional override of the top-level custom context for this data source.
Step 5: Save configuration
Click Save. Euno opens a modal with:
Your trigger secret β copy and store it securely; it is shown only once
The
prepare-uploadendpoint URL β for programmatic zip uploads
Use the trigger secret as a Bearer token in the Authorization header for prepare-upload calls.
Rotating your trigger secret: Open your Cube Core source on the Sources page and click Reset Trigger Key to generate a new secret. This invalidates the previous secret immediately.
Uploading Cube schema YAML
Preparing your upload
Package your Cube model tree as a single .zip file:
Include YAML files under
model/**/*.ymlormodel/**/*.yamlEach file must parse as YAML with a mapping root and contain a
cubes:and/orviews:sectionUpload exactly one
.zipfile per run
Upload methods
Manual upload via UI
The easiest way to upload Cube schema YAML is through Euno's UI:
Open your Cube Core source on the Sources page.
Click Upload Artifacts.
Select your
.zipfile and start the run.
Euno parses the schema, emits Cube resources, and runs lineage enrichment to warehouse tables and columns. Check the run report for inventory counts, skipped files, and Jinja render results.
Programmatic upload (recommended for production)
For production workflows, upload your zip after Cube schema changes using the prepare-upload endpoint:
Request a signed upload URL β
POSTto.../integrations/YOUR_INTEGRATION_ID/prepare-uploadwith the zip filename andAuthorization: Bearer YOUR_TRIGGER_SECRETUpload the zip β
PUTthe file to the signed URL from the responseProcessing starts automatically β no further API call is required
See reference implementations below:
Python script
Use a standalone Python script to zip and upload your Cube model tree β View Python Upload Guide
GitHub Actions
Automate uploads when Cube schema YAML changes in your repository β View GitHub Actions Guide
Euno performs offline Jinja2 rendering for sql_table values that contain COMPILE_CONTEXT references. Rendering uses only COMPILE_CONTEXT assembled from Security context and Custom contextβcontrol-flow constructs such as {% if %} work when they depend on those stub values. Cube runtime helpers and macros (for example env_var() or functions from model/globals.py) are not available, and query-compilation variables such as {CUBE} are not evaluated.
Last updated