Declarative Automation Bundles (DABs, formerly Databricks Asset Bundles — officially renamed March 16, 2026) are an infrastructure-as-code framework that enables developers to programmatically define, deploy, and manage Databricks resources—including jobs, notebooks, pipelines, clusters, apps, and Unity Catalog objects—using declarative YAML or Python configuration. Introduced as Databricks' native CI/CD solution, DABs facilitate software engineering best practices such as source control, code review, automated testing, and multi-environment deployments (dev → staging → production). A key evolution in 2025–2026: DABs now support Python-based configuration (via bundle.py and @job_mutator decorators) and a direct deployment engine that removes the Terraform dependency and will become the sole supported deployment path. A key mental model: bundles treat your entire Databricks project—code, configuration, and dependencies—as a single deployable unit, ensuring consistency and reproducibility across environments.
What This Cheat Sheet Covers
This topic spans 19 focused tables and 206 indexed concepts, 119 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Concepts and Terminology
The vocabulary you'll see in every bundle project — bundles, targets, resources, variables, and the databricks.yml that ties them together. Getting these terms straight early pays off, especially the distinction between a bundle (your whole deployable project) and a target (one environment's overrides), plus newer arrivals like the Terraform-free direct deployment engine and Python-based configuration.
| Concept | Example | Description | |
|---|---|---|---|
databricks.yml at project root | A package containing all YAML/Python configuration files, source code, notebooks, and artifacts needed to deploy a Databricks project as a single unit. | ||
bundle: name: my_projecttargets: dev: | The primary configuration file (required at bundle root) that defines bundle metadata, resources, targets, and deployment settings. | ||
targets: dev: production: | An environment-specific configuration (e.g., dev, staging, production) that overrides base settings for workspace, compute, and permissions. | ||
resources: jobs: pipelines: | The mapping section in YAML where you define Databricks assets like jobs, pipelines, apps, model serving endpoints, schemas, and volumes. | ||
variables: catalog: default: dev | A custom placeholder that can be referenced via ${var.catalog} throughout YAML, making configurations reusable across targets. | ||
databricks bundle init default-python | A project scaffold providing pre-configured folder structure, sample code, and YAML configuration to jumpstart bundle development. | ||
mode: production | The deployment mode (development or production) that determines isolation behavior, immutability, and whether resources can be modified post-deploy. | ||
run_as: service_principal_name: sp123 | • The execution identity for deployed workflows • separates who deploys from who runs, recommended as service principal for production. | ||
workspace: host: https://... root_path: /Users/... | The Databricks workspace connection details, including host URL and deployment path where bundle resources are created. | ||
artifacts: - type: whl path: ./dist/*.whl | A build output (e.g., Python wheel, JAR file) referenced in the bundle, automatically built and uploaded during deployment. | ||
include: - resources/*.yml | A glob pattern specifying additional YAML files to merge into the bundle configuration, supporting modular project structure. | ||
bundle: deployment: kind: direct | • A Terraform-free deployment engine that uses direct CRUD operations via the CLI • becoming the default; Terraform engine is being deprecated. | ||
bundle.py or mutators.py at root | • Python-based bundle definition and mutation • jobs and pipelines can be fully defined in Python or mutated programmatically via @job_mutator decorators. | ||
databricks bundle deploy --sync | A continuous synchronization feature that watches local file changes and automatically redeploys notebooks/files to the workspace during development. |