dagger-rs/crates/dagger-sdk
kjuulh 94336d0637 feat(sdk): move to &str instead of String and introduce builder.
This will make the api much easier to use, as we can now rely on ""
instead of "".into() for normal string values.

Introduced builder as well, which makes it much easier to use *Opts, as
it can handle the building of that, and get the benefits from String ->
&str, as that is currently not allowed for optional values
2023-02-19 18:00:04 +01:00
..
examples feat(sdk): move to &str instead of String and introduce builder. 2023-02-19 18:00:04 +01:00
src feat(sdk): move to &str instead of String and introduce builder. 2023-02-19 18:00:04 +01:00
tests feat(sdk): move to &str instead of String and introduce builder. 2023-02-19 18:00:04 +01:00
.gitignore add dagger-sdk 2023-01-29 11:38:13 +01:00
Cargo.toml feat(sdk): move to &str instead of String and introduce builder. 2023-02-19 18:00:04 +01:00
CHANGELOG.md Release dagger-sdk v0.2.4 2023-02-19 15:34:07 +01:00
LICENSE.MIT add dagger-sdk 2023-01-29 11:38:13 +01:00
README.md fix(sdk): readme dagger-rs -> dagger-sdk 2023-02-19 15:33:48 +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

fn main() -> eyre::Result<()> {
    let client = dagger_sdk::connect()?;

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

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

    Ok(())
}

And run it like a normal application:

cargo run