Skip to content

Repository files navigation

Dagger

Dagger is a Rust library for bounded workflow execution.

This repository has one Cargo package: dagger-workflow-core. This package is the canonical Dagger engine.

The engine provides these parts:

  • Strict JSON and YAML workflow definitions.
  • Immutable workflow revisions.
  • Action, Map, Choice, Approval, Succeed, and Fail nodes.
  • Tenant and namespace isolation.
  • Run budgets and fixed run limits.
  • Durable attempts, retries, approvals, events, and recovery.
  • In-memory stores for tests and local process use.
  • SQLite control state with the sqlite feature.
  • In-memory or local file-system object storage.

Check the code

You need Rust 1.82 or later.

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo test --doc --workspace --all-features
cargo doc --workspace --all-features --no-deps

Run an example

cargo run -p dagger-workflow-core --example yaml_pipeline
cargo run -p dagger-workflow-core --example guardrails
cargo run -p dagger-workflow-core --example multi_tenant
cargo run -p dagger-workflow-core --features sqlite --example durable_demo

Read the documentation

Start with the system overview.

Task tracking

This repository uses Tusker for tasks, proof, gates, and project knowledge. Automation is off unless a human enables it.

tusker list
tusker show <TASK-ID> --capsule
tusker validate --vault ./.tusker --json

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages