mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2025-12-08 11:27:59 +01:00
9762da895a164e30c5dc60e89a83e934ceae47ab
Now all opt values enter into a _opts function instead of the original.
This avoids a lot of verbosity for both None in the case opts are
unwanted, and Some() if they actually are.
They are used like so:
```rust
client.container().from("...");
client.container_opts(Some(ContainerOpts{ ... }))
```
Some from opts will be removed in a future commit/pr
dagger-rs
A dagger sdk written in rust for rust.
Usage
See dagger-sdk
Status
- dagger cli downloader
- dagger network session
- graphql rust codegen (User API)
- Scalars
- Enums
- Input
- Objects
- Implement context and querier
- Marshaller
- Querier
- Context
- Deserializer for nested response (bind)
- Add codegen to hook into querier
- fix build / release cycle
- general api stabilisation
- document usage
- make async variant
Architecture
.Root project mainly used for generating the CLI, which in turn is used to bootstrap the code generation fromdaggercrates/dagger-coreContains all base types used during actual usage. This is where the primary logic lives in which the user interacts (*disclaimer: most stuff haven't moved in here yet.)crates/dagger-sdkContains the actual sdk in which the user interacts,dagger-coreis reexported through this API as well.crates/dagger-codegenThis is the bulk of the work, it takes the input graphql and spits out the API in which the user interacts, this is heavily inspired by otherdagger-sdk's. It primarily turns graphql into rust code.
Languages
Rust
87.3%
TypeScript
5.5%
HTML
4.6%
CSS
2.5%