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.