Domains
A domain groups related nodes into a business context and exposes them as reveals in Discover.
File naming convention: {name}.domain.celiq
Example
domain: payment_analysis
label: Payment Analysis
description: Revenue, payments, and customer data joined.
connection: main_postgres
nodes:
- payment
- customer
- rental
joins:
- from: payment
to: customer
type: left
on: payment.customer_id = customer.customer_id
- from: rental
to: payment
type: left
on: rental.rental_id = payment.rental_id
reveals:
- name: payment_analysis
label: Payment Analysis
primary_node: payment
description: Revenue and payment metrics
suggested_metrics:
- payment.total_revenue
- payment.avg_payment
- payment.payment_count
Top-level fields
| Field | Type | Description |
|---|---|---|
domain | string | Internal identifier |
label | string | Display name |
description | string | Shown in Discover reveal picker |
connection | string | Override project connection |
nodes | list | Node names included in this domain |
joins | list | Join definitions between nodes |
reveals | list | Curated views |
Reveals
Each reveal defines a curated view of the domain:
| Field | Type | Description |
|---|---|---|
name | string | Unique identifier |
label | string | Display name in Discover |
primary_node | string | The main node queries start from |
description | string | Shown in the reveal picker |
suggested_metrics | list | Pre-selected metrics (node.metric_name) |
Related
- Nodes → — build the underlying node files
- Discovers → Reveals → — how reveals appear in Discover