Same three-node pipeline as rust-dataflow, but node source code is fetched from a Git repository with version pinning via tags.
timer (10ms) --> rust-node --> random --> rust-status-node --> status --> rust-sink
timer (100ms) -->
Instead of referencing local paths, each node specifies a Git URL and tag:
- id: rust-node
git: https://github.com/dora-rs/dora.git
tag: v0.1.0
build: cargo build -p rust-dataflow-example-node
path: target/debug/rust-dataflow-example-nodeDora clones the repository at the pinned tag, runs the build: command inside the clone, then executes the built binary. This enables:
- Version pinning:
tag:ensures reproducible builds - Remote nodes: pull node code from any Git repository
- Independent versioning: each node can use a different tag or repo
cargo run --example rust-dataflow-gitOr directly:
dora build dataflow.yml
dora run dataflow.yml| Feature | Where |
|---|---|
git: for remote source fetching |
YAML (all nodes) |
tag: for version pinning |
YAML (all nodes) |
build: for post-clone compilation |
YAML (all nodes) |
| Same topology, different deployment model | vs rust-dataflow |