- Start Kestra 2.0:
docker run --pull=always --rm -it -p 8080:8080 --user=root --name kestra \
-v kestra_data_volume:/app/storage \
-v kestra_db_volume:/app/data \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp:/tmp \
-e KESTRA_PLUGINS_AUTO_INSTALL_ENABLED=true \
-e KESTRA_SERVER_BASIC_AUTH_USERNAME=admin@kestra.io \
-e KESTRA_SERVER_BASIC_AUTH_PASSWORD=Admin1234 \
kestra/kestra:latest-slim server localOpen http://localhost:8080 and explore the UI.
- Add the flow below and run it. We use DuckDB here and everything runs locally so that you don't need any remote data warehouse credentials to set up.
Give the first run a few minutes while the images are downloaded.
id: dbt_build_duckdb
namespace: company.team
tasks:
- id: dbt
type: io.kestra.plugin.core.flow.WorkingDirectory
tasks:
- id: clone_repository
type: io.kestra.plugin.git.Clone
url: https://github.com/kestra-io/dbt-example
branch: main
- id: dbt_build
type: io.kestra.plugin.dbt.cli.DbtCLI
taskRunner:
type: io.kestra.plugin.scripts.runner.docker.Docker
containerImage: ghcr.io/kestra-io/dbt-duckdb:latest
commands:
- dbt deps
- dbt build
profiles: |
my_dbt_project:
outputs:
dev:
type: duckdb
path: ":memory:"
fixed_retries: 1
threads: 16
timeout_seconds: 300
target: dev- Have a look around the UI while the execution is in progress and after it finishes.
- Send me a few bullet points on:
- your first impression of Kestra and the dbt plugin
- what you would improve.