dagger-rs/README.md

1.3 KiB

dagger-sdk

A dagger sdk written in rust for rust.

Plan for next release

  • Introduce thiserror for better errors
  • Add compatibility with dagger run
  • Add open telemetry tracing to the sdk
  • Remove id().await? from passing to other dagger graphs, this should make the design much cleaner
  • Start MkBook on how to actually use the sdk
  • Update to newest upstream release
  • Fix bugs
    • Run in conjunction with golang and other sdks
    • Stabilize the initial Arc<Query> model into something more extensible

Examples

See examples

Run them like so

cargo run --example first-pipeline

The examples match the folder name in each directory in examples

Install

Simply install like:

cargo add dagger-sdk

Usage

#[tokio::main]
async fn main() -> eyre::Result<()> {
    let client = dagger_sdk::connect().await?;

    let version = client
        .container()
        .from("golang:1.19")
        .with_exec(vec!["go", "version"])
        .stdout()
        .await?;

    println!("Hello from Dagger and {}", version.trim());

    Ok(())
}

And run it like a normal application:

cargo run

Contributing

See CONTRIBUTING

or just cargo make codegen