New to Kestra?
Use blueprints to kickstart your first workflows.
Orchestrate dbt ELT on MotherDuck with Kestra. Clone your dbt project from Git, run dbt deps and dbt build in Docker against DuckDB in the cloud.
Run a complete dbt transformation pipeline against MotherDuck, the cloud-native DuckDB service, straight from a Git repository. This blueprint clones your dbt project, installs packages, and runs dbt build inside a pinned Docker image so models, tests, snapshots, and seeds all execute the same way locally, in CI, and in production. It solves the common problem of gluing together version-controlled dbt code, a serverless DuckDB warehouse, and a scheduler without writing custom shell scripts or maintaining a dbt runner host.
git task (io.kestra.plugin.core.flow.WorkingDirectory) creates an isolated working directory shared across the nested tasks.clone_repository (io.kestra.plugin.git.Clone) checks out the main branch of a dbt project from GitHub into that directory.dbt_build (io.kestra.plugin.dbt.cli.DbtCLI) runs on the io.kestra.plugin.scripts.runner.docker.Docker task runner using the ghcr.io/kestra-io/dbt-duckdb:latest image. An inline profiles block points the dev target at MotherDuck via the DuckDB connection string md:my_dbt_project?motherduck_token={{secret('MOTHERDUCK_TOKEN')}}, with disable_transactions, threads: 16, and a timeout_seconds of 300.dbt deps to install packages, then dbt build to materialize and test the project in one pass.dbt build (run plus test plus snapshot plus seed) against MotherDuck.dbt and the DuckDB CLI have no scheduler, no retry policy, and no native lineage across pipelines. Kestra adds event and schedule triggers, automatic retries on transient failures, run-level observability, and a declarative YAML definition that lives next to the rest of your stack. The Docker task runner pins the execution environment so a dbt build is identical everywhere, something a bare dbt invocation cannot guarantee.
https://github.com/kestra-io/dbt-example).MOTHERDUCK_TOKEN: the MotherDuck service token used in the DuckDB connection string.MOTHERDUCK_TOKEN as a secret in your Kestra instance.clone_repository at your own dbt project URL and branch.profiles block so the project name and target match your dbt project.io.kestra.plugin.core.trigger.Schedule trigger to run the pipeline on a cadence.dbt build into separate dbt run and dbt test commands for finer control.