dagger-rs/crates/dagger-sdk
2023-02-20 11:42:03 +01:00
..
examples fix(core): Fix async panic on blocking #19 2023-02-20 10:19:43 +01:00
src fix(all): race condition in process 2023-02-20 11:42:03 +01:00
tests fix(core): Fix async panic on blocking #19 2023-02-20 10:19:43 +01:00
.gitignore add dagger-sdk 2023-01-29 11:38:13 +01:00
Cargo.toml Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 2023-02-20 10:42:12 +01:00
CHANGELOG.md Release dagger-core v0.2.4, dagger-codegen v0.2.6, dagger-sdk v0.2.11 2023-02-20 10:48:05 +01:00
LICENSE.MIT add dagger-sdk 2023-01-29 11:38:13 +01:00
README.md docs(sdk): change to await syntax 2023-02-19 21:47:40 +01:00

dagger-sdk

A dagger sdk written in rust for rust.

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()?;

    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

Disclaimer

You are free to use something else than tokio, I haven't tested it with anything else, but it should work with any other runtime. We don't rely on it specifically. That might change in the future though.