dagger-rs/crates/dagger-sdk
kjuulh ecca036bc6 fix(sdk): fix builder pattern to actually work with default values
In previous versions the builder pattern required all values to be set.
This has not been fixed, so that default values are allowed.
2023-02-25 01:47:57 +01:00
..
examples feat: update to dagger-v0.3.13 2023-02-25 00:10:46 +01:00
src fix(sdk): fix builder pattern to actually work with default values 2023-02-25 01:47:57 +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.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 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.