Bundle configuration¶
Bundle support turns on whenever a databricks.yml file is present in the
project root. Pass --no-bundle to lhp generate or lhp validate to
disable it. LHP never reads or modifies databricks.yml; it only detects the
file’s presence and writes pipeline resource YAML under resources/lhp/.
See also
How-to guides: Validate and ship pipelines in CI, Deploy and run.
Activation flags¶
Flag |
Command |
Behavior |
|---|---|---|
|
|
Skip bundle detection and resource sync even when |
|
|
Path (relative to project root) to the |
|
|
Deprecated no-op. Every run fully regenerates; the flag is hidden and ignored. |
When bundle support is enabled and -pc / --pipeline-config is omitted,
both generate and validate fail up-front with LHP-CFG-023 before any
files are written. Supply the flag, or pass --no-bundle to skip bundle
resource generation entirely.
databricks.yml¶
User-owned; LHP reads only its presence. These fields govern how the Databricks CLI picks up LHP-generated resources.
Field |
Type |
Description |
|---|---|---|
|
string |
Bundle name used by the Databricks CLI for deploy paths. |
|
list[string] |
Resource-file globs. Must cover |
|
mapping |
One entry per deployment target. Each target name must match an LHP environment — a |
bundle:
name: my_project
include:
- resources/*.yml
- resources/lhp/*.yml
targets:
dev:
mode: development
default: true
workspace:
host: <databricks_host>
prod:
mode: production
workspace:
host: <databricks_host>
config/pipeline_config.yaml¶
A multi-document YAML file. The first document holds project_defaults; each
subsequent document targets one or more pipelines via a pipeline key (a
single name or a list). Pass its path with -pc / --pipeline-config.
project_defaults:
<shared keys>
---
pipeline: <name> # or [name1, name2]
<per-pipeline keys>
Top-level keys¶
Valid under both project_defaults and a per-pipeline document.
Key |
Type |
Required |
Default |
Description |
|---|---|---|---|---|
|
string |
Yes |
— |
Unity Catalog name. Must be set with |
|
string |
Yes |
— |
Schema name. Must be set with |
|
bool |
No |
|
Pipeline compute mode. |
|
string |
No |
|
One of |
|
string |
No |
|
One of |
|
bool |
No |
|
Streaming/continuous pipeline mode. |
|
string |
No |
|
One of |
Any other top-level key (clusters, configuration, notifications,
tags, event_log, environment, permissions, photon, and any
Databricks Pipelines API field such as run_as) is passed through verbatim
into the generated pipeline resource.
Merge precedence (lowest to highest): built-in defaults → project_defaults
→ per-pipeline document. Nested mappings are deep-merged; lists are replaced
wholesale. Token substitution from substitutions/<env>.yaml applies to every
field.
project_defaults:
catalog: "${catalog}"
schema: "${bronze_schema}"
serverless: true
---
pipeline: bronze_load
packaging: wheel
Wheel packaging¶
Set packaging: wheel on a pipeline (or under project_defaults) to ship
its generated code as a built wheel instead of source files. Wheel mode requires
a wheel.artifact_volume in lhp.yaml.
Key ( |
Type |
Description |
|---|---|---|
|
string |
Unity Catalog volume path where built wheels are uploaded. After substitution it must start with |
wheel:
artifact_volume: "/Volumes/${catalog}/artifacts/wheels"
Generated output¶
Each generated pipeline produces one resource file
resources/lhp/<pipeline_name>.pipeline.yml carrying a
# Generated by LakehousePlumber header. Every lhp generate run wipes
resources/lhp/ and rewrites it — manual edits are lost.
Path |
Contents |
|---|---|
|
Pipeline resource; declares a |
|
Written only when at least one pipeline uses |