Getting Started

Ductwork is designed for you to be up-and-running in only a few commands.

Installation

Currently, ductwork must be installed in a rails application. In the future, it may be possible to run ductwork in any ruby project.

To install ductwork simply add it to your Gemfile:

# Gemfile
gem "ductwork"

Rails Generator

To help you get started there is a rails generator that creates necessary files for you: bin/ductwork binstub, configuration file at config/ductwork.yml, and all necessary migrations. Run it with:

❯ bin/rails generate ductwork:install
      create  config/ductwork.yml
      create  bin/ductwork
      create  db/migrate/20251112180126_create_ductwork_pipelines.rb
      create  db/migrate/20251112180127_create_ductwork_steps.rb
      create  db/migrate/20251112180128_create_ductwork_jobs.rb
      create  db/migrate/20251112180129_create_ductwork_executions.rb
      create  db/migrate/20251112180130_create_ductwork_availabilities.rb
      create  db/migrate/20251112180131_create_ductwork_runs.rb
      create  db/migrate/20251112180132_create_ductwork_results.rb
      create  db/migrate/20251112180133_create_ductwork_processes.rb

Running Migrations

After that, the only thing left to do is run migrations via:

❯ bin/rails db:migrate
== 20251112180126 CreateDuctworkPipelines: migrating ==========================
-- create_table(:ductwork_pipelines)
   -> 0.0090s
...

Multi-Database Support

If you are connecting to multiple databases in your rails application you can configure which database to use with the database configuration. For more information see the Configuration page. Then, you’ll need to copy over the migrations that were generated to the migration_paths configuration for that database before migrating.


Once that is completed you are ready to define pipelines and run the ductwork process.


Copyright © 2025 Tyler Ewing