Skip to main content

Deploying DbtProjectComponent to Dagster+ — missing manifest.json error

Problem description​

When deploying a code location that uses DbtProjectComponent to Dagster+, the deploy fails with:

DagsterDbtManifestNotFoundError: /path/to/target/manifest.json does not exist.

Root cause​

DbtProjectComponent reads from your dbt project's manifest.json at load time. The manifest is generated by running dbt parse (or another dbt command that produces the manifest) against the project. CI/CD pipelines that deploy the code without first running dbt parse ship a project missing the manifest, and the agent fails to load the component.

Solution​

Add a dbt parse step to your deployment pipeline before the Dagster+ deploy step.

GitHub Actions​

- name: Prepare dbt projects
run: |
cd path/to/dbt/project
dbt deps
dbt parse

- name: Deploy to Dagster+
run: |
dagster-cloud ci deploy --location-name=$DAGSTER_CODE_LOCATION_NAME

Docker deployments​

Run dbt deps and dbt parse during the image build so the manifest is baked into the image:

RUN cd /path/to/dbt/project && \
dbt deps && \
dbt parse