mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2024-12-26 12:03:38 +01:00
A dagger sdk written in rust for rust
kjuulh
bb74617d3f
🚀 chore(Cargo.toml): update dependencies and add optional tracing-opentelemetry feature ✨ feat(Cargo.toml): add opentelemetry and opentelemetry-jaeger dependencies as optional features 🚀 chore(Cargo.toml): update tracing and tracing-subscriber dependencies The dependencies in the Cargo.toml file have been updated to their latest versions. The tracing-opentelemetry feature has been added as an optional feature to the dagger-core and dagger-sdk crates. The opentelemetry and opentelemetry-jaeger dependencies have been added as optional features to the dagger-sdk crate. This allows for the use of OpenTelemetry tracing in the application. |
||
---|---|---|
.github/workflows | ||
ci | ||
crates | ||
.gitignore | ||
ARCHITECTURE.md | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
Cross.toml | ||
LICENSE.MIT | ||
Makefile.toml | ||
README.md | ||
renovate.json |
dagger-sdk
A dagger sdk written in rust for rust.
Plan for next release
- Introduce thiserror for better errors
- Add compatibility with
dagger run
- Add open telemetry tracing to the sdk
- Remove
id().await?
from passing to other dagger graphs, this should make the design much cleaner - Start MkBook on how to actually use the sdk
- Update to newest upstream release
- Fix bugs
- Run in conjunction with golang and other sdks
- Stabilize the initial
Arc<Query>
model into something more extensible
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
Contributing
See CONTRIBUTING
or just cargo make codegen