dagger-rs/crates/dagger-sdk
kjuulh 3a9abb97c2 Add thiserror instead of exposing eyre anonymous errors
The change here is to make it easier for the consumer to debug the api.
Such that they can `match` on individual errors instead of having to
parse text.

eyre is convenient, but mostly from a consumers perspective
2023-04-30 13:12:23 +02:00
..
examples feat: update to dagger-5.1 2023-04-30 00:41:48 +02:00
src Add thiserror instead of exposing eyre anonymous errors 2023-04-30 13:12:23 +02:00
tests Add thiserror instead of exposing eyre anonymous errors 2023-04-30 13:12:23 +02:00
.gitignore add dagger-sdk 2023-01-29 11:38:13 +01:00
Cargo.toml Add thiserror instead of exposing eyre anonymous errors 2023-04-30 13:12:23 +02:00
CHANGELOG.md Release dagger-core v0.2.11, dagger-sdk v0.2.22 2023-04-30 10:56:53 +02:00
LICENSE.MIT add dagger-sdk 2023-01-29 11:38:13 +01:00
README.md docs(sdk): fix missing await in connect 2023-02-25 02:42:34 +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().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