From f56330a3d10825c790983af0879cb7e40aecbbb1 Mon Sep 17 00:00:00 2001 From: Stijnvandenbroek Date: Tue, 3 Mar 2026 21:09:00 +0000 Subject: [PATCH] feat: fix dagster setup --- Dockerfile | 3 +++ dbt/models/staging/stg_example.sql | 3 +-- docker-compose.yaml | 5 +++++ entrypoint.sh | 7 +++++++ pyproject.toml | 8 ++++++-- 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index dc5f65e..ee12247 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,3 +15,6 @@ COPY . . # Make the venv's binaries available on PATH ENV PATH="/app/.venv/bin:$PATH" ENV DAGSTER_HOME=/app/dagster_home + +RUN chmod +x /app/entrypoint.sh +ENTRYPOINT ["/app/entrypoint.sh"] diff --git a/dbt/models/staging/stg_example.sql b/dbt/models/staging/stg_example.sql index 265e72c..d4eae0a 100644 --- a/dbt/models/staging/stg_example.sql +++ b/dbt/models/staging/stg_example.sql @@ -1,5 +1,4 @@ -- Placeholder staging model. --- Replace this with your actual source query, e.g.: --- select * from {{ source('my_source', 'my_table') }} +-- Replace with your actual source query using the source() macro. select 1 as id, 'example' as name diff --git a/docker-compose.yaml b/docker-compose.yaml index b6f598b..799cad1 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -6,6 +6,10 @@ x-dagster: &dagster-common context: . dockerfile: Dockerfile env_file: .env + environment: + DAGSTER_HOME: /app/dagster_home + volumes: + - dbt-target:/app/dbt/target depends_on: postgres: condition: service_healthy @@ -49,3 +53,4 @@ services: volumes: postgres-data: + dbt-target: diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..9cf4599 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +echo "Generating dbt manifest..." +dbt parse --profiles-dir /app/dbt --project-dir /app/dbt + +exec "$@" diff --git a/pyproject.toml b/pyproject.toml index 03732d3..20742ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,8 +18,12 @@ build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["data_platform"] -[tool.uv] -dev-dependencies = [ +[tool.dagster] +module_name = "data_platform" +attribute = "defs" + +[dependency-groups] +dev = [ "pytest", "dagster-webserver", ]