A dagger sdk written in rust for rust
Go to file
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
.github/workflows feat(ci): add gha caching 2023-02-19 14:41:23 +01:00
ci fix(sdk): without phantom data 2023-02-19 17:30:03 +01:00
crates feat(sdk): without Some in _opts functions 2023-02-19 17:49:22 +01:00
src feat(sdk): re-export through lib.rs 2023-02-19 15:29:03 +01:00
.gitignore Add base sdk 2023-01-27 08:31:09 +01:00
Cargo.lock feat(sdk): move to &str instead of String and introduce builder. 2023-02-19 17:21:40 +01:00
Cargo.toml Release dagger-sdk v0.2.3, dagger-codegen v0.2.3, dagger-rs v0.2.9 2023-02-19 15:30:08 +01:00
CHANGELOG.md Release dagger-sdk v0.2.3, dagger-codegen v0.2.3, dagger-rs v0.2.9 2023-02-19 15:30:08 +01:00
LICENSE.MIT set readme and license 2023-01-27 08:38:39 +01:00
README.md feat: clear release-cycle roadmap item 2023-02-19 14:37:23 +01:00
renovate.json Add renovate.json 2023-01-27 22:42:47 +00:00

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 from dagger
  • crates/dagger-core Contains 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-sdk Contains the actual sdk in which the user interacts, dagger-core is reexported through this API as well.
  • crates/dagger-codegen This 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 other dagger-sdk's. It primarily turns graphql into rust code.