Skip to main content

dbt Artifact Storage: Local/Shared Filesystem

This guide walks you through configuring a local or shared filesystem as the artifact storage layer for dbt Core + Collate integration. Ideal for development, single-server deployments, or Kubernetes with shared volumes.
Important: Not recommended for production distributed systems. dbt and Collate must access the same filesystem. Use cloud storage (S3/GCS/Azure) for production multi-server deployments.

Prerequisites Checklist

Configuration Options

Option A: Same Machine (Development)

If dbt and Collate run on the same machine: 1. Run dbt and generate artifacts:
2. Note the target directory path:
3. Configure Collate with absolute path:
  • Manifest: /path/to/dbt/project/target/manifest.json
  • Catalog: /path/to/dbt/project/target/catalog.json
  • Run Results: /path/to/dbt/project/target/run_results.json

Option B: Docker Compose with Shared Volume

Perfect for local development stacks. docker-compose.yml:
Configure Collate:
  • Manifest: /dbt-artifacts/manifest.json
  • Catalog: /dbt-artifacts/catalog.json
  • Run Results: /dbt-artifacts/run_results.json

Option C: Kubernetes with PersistentVolumeClaim

For Kubernetes deployments where dbt and Collate run in the same cluster. 1. Create PersistentVolumeClaim:
2. dbt CronJob (uploads artifacts):
3. Mount volume in Collate deployment:
Configure Collate:
  • Manifest: /dbt-artifacts/manifest.json
  • Catalog: /dbt-artifacts/catalog.json
  • Run Results: /dbt-artifacts/run_results.json

Option D: NFS Mounted Shared Storage

For VMs or bare-metal servers with shared NFS storage. 1. Set up NFS share: On NFS server:
2. Mount on client machines: On dbt server:
On Collate server:
3. Configure dbt to write to NFS:
Configure Collate:
  • Manifest: /mnt/dbt-artifacts/manifest.json
  • Catalog: /mnt/dbt-artifacts/catalog.json
  • Run Results: /mnt/dbt-artifacts/run_results.json

Step 2: Configure Collate

Configuration

  1. In the left navigation menu, select Connections > Database Services.
  2. Click the database service you want to configure.
  3. Go to the Agents tab.
  4. Click Add Agent.
  5. Select DBT from the dropdown.
Configure dbt Source (Local): Configure dbt Options:

Verification

Best Practices

1. Use Absolute Paths

Always use absolute paths, not relative:
  • /dbt-artifacts/manifest.json
  • ../dbt/target/manifest.json

2. Ensure Read Permissions

3. Automate Artifact Copying

4. Use ReadWriteMany for Kubernetes

For Kubernetes PVC, ensure accessMode: ReadWriteMany:
  • Works: NFS, EFS, Azure Files, GlusterFS
  • Doesn’t work: EBS (ReadWriteOnce only)

Troubleshooting

  • No built-in versioning or backup
  • File locking issues possible with concurrent access
  • Requires shared filesystem infrastructure
For production, consider:

Next Steps

Note: See other storage options: S3 | GCS | Azure | HTTP | dbt Cloud