New to Kestra?
Use blueprints to kickstart your first workflows.
Run dbt ELT pipelines on Snowflake from Git using Docker and Kestra. Execute dbt deps and dbt build to transform data in your Snowflake warehouse.
Run your dbt models directly on Snowflake by pulling the dbt project from Git and executing it inside a clean, reproducible Docker container. This blueprint solves the dependency-drift and "works on my machine" problem that plagues dbt teams: every run starts from version-controlled SQL and a pinned dbt image, so transformations behave identically across local development, CI, and production. It pairs dbt Core, Snowflake, Git, and containerized execution into a single declarative workflow, with warehouse credentials injected at runtime as secrets rather than committed to a profiles file.
io.kestra.plugin.core.flow.WorkingDirectory task creates a shared, isolated working directory so the cloned project and the dbt run share the same filesystem.io.kestra.plugin.git.Clone checks out the dbt project from https://github.com/kestra-io/dbt-example on the main branch.io.kestra.plugin.dbt.cli.DbtCLI runs the project using the io.kestra.plugin.scripts.runner.docker.Docker task runner with the ghcr.io/kestra-io/dbt-snowflake:latest image. The Snowflake connection is defined in an inline profiles block (account, user, password, role, database, plus warehouse: COMPUTE_WH, schema: public, and threads: 4).dbt deps to install packages, then dbt build to run and test all models in dependency order.dbt build for trustworthy data.dbt's own CLI and scheduler can run models, but they cannot react to upstream events, retry failed steps, or stitch dbt into a wider pipeline. With Kestra you define the whole run in declarative YAML, add event or schedule triggers, attach retries and alerting, and capture execution lineage and logs in one place. The same flow can sit downstream of ingestion and upstream of reverse ETL or reporting, something a standalone dbt invocation cannot coordinate.
kestra-io/dbt-example).SNOWFLAKE_ACCOUNTSNOWFLAKE_USERSNOWFLAKE_PASSWORDSNOWFLAKE_ROLESNOWFLAKE_DATABASEio.kestra.plugin.git.Clone url and branch at your own dbt repository.profiles block to match your warehouse, schema, and target.dbt build with dbt run plus dbt test, or add dbt docs generate.io.kestra.plugin.core.trigger.Schedule or event trigger to run on a cadence or after ingestion.