dagger-rs/crates/dagger-sdk
kjuulh 57ecf97d23
feat(sdk): without Some in _opts functions
Option has been removed as a wrapper around opts. This makes it much
more convenient to use

```rust
client.container_opts(Some(ContainerOpts{}))
// ->
client.container_opts(ContainerOpts{})
```

The same options are still available, either an empty object can be
passed, or a non _opts function can be used
2023-02-19 17:49:22 +01:00
..
examples feat(sdk): without Some in _opts functions 2023-02-19 17:49:22 +01:00
src feat(sdk): without Some in _opts functions 2023-02-19 17:49:22 +01:00
tests feat(sdk): without Some in _opts functions 2023-02-19 17:49:22 +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 17:21:40 +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