dagger-rs/crates/dagger-sdk
2023-02-25 00:11:35 +01:00
..
examples feat: update to dagger-v0.3.13 2023-02-25 00:10:46 +01:00
src fix: set deserialize on enums as well 2023-02-25 00:10:46 +01:00
tests fix(core): Fix async panic on blocking #19 2023-02-20 10:19:43 +01:00
.gitignore
Cargo.toml Release dagger-core v0.2.7, dagger-sdk v0.2.15 2023-02-25 00:11:35 +01:00
CHANGELOG.md Release dagger-core v0.2.7, dagger-sdk v0.2.15 2023-02-25 00:11:35 +01:00
LICENSE.MIT
README.md

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.