2023-01-29 11:38:13 +01:00
|
|
|
# dagger-rs
|
|
|
|
|
|
|
|
A dagger sdk written in rust for rust.
|
|
|
|
|
2023-02-17 18:00:20 +01:00
|
|
|
## Examples
|
2023-01-29 11:38:13 +01:00
|
|
|
|
2023-02-17 18:00:20 +01:00
|
|
|
See [examples](./examples/)
|
2023-01-29 11:38:13 +01:00
|
|
|
|
2023-02-17 18:00:20 +01:00
|
|
|
Run them like so
|
2023-01-29 11:38:13 +01:00
|
|
|
|
2023-02-17 18:00:20 +01:00
|
|
|
```bash
|
|
|
|
cargo run --example first-pipeline
|
|
|
|
```
|
|
|
|
|
|
|
|
The examples match the folder name in each directory in examples
|
|
|
|
|
|
|
|
## Install
|
|
|
|
|
|
|
|
Simply install like:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cargo install dagger-sdk
|
|
|
|
```
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
```rust
|
|
|
|
fn main() -> eyre::Result<()> {
|
|
|
|
let client = dagger_sdk::client::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:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cargo run
|
|
|
|
```
|