2023-01-27 08:37:19 +01:00
|
|
|
# dagger-rs
|
|
|
|
|
|
|
|
A dagger sdk written in rust for rust.
|
2023-01-27 08:54:43 +01:00
|
|
|
|
|
|
|
## Disclaimer
|
|
|
|
|
|
|
|
Work in progress. This is not ready for usage yet
|
2023-01-28 20:21:19 +01:00
|
|
|
|
|
|
|
### Status
|
|
|
|
|
|
|
|
- [x] dagger cli downloader
|
|
|
|
- [x] dagger network session
|
2023-01-30 22:25:40 +01:00
|
|
|
- [x] graphql rust codegen (User API)
|
2023-01-29 22:18:39 +01:00
|
|
|
- [x] Scalars
|
|
|
|
- [x] Enums
|
|
|
|
- [x] Input
|
2023-01-30 22:25:40 +01:00
|
|
|
- [x] Objects
|
2023-02-11 14:03:06 +01:00
|
|
|
- [x] Implement context and querier
|
2023-02-05 19:29:44 +01:00
|
|
|
- [x] Marshaller
|
|
|
|
- [x] Querier
|
2023-02-05 23:45:35 +01:00
|
|
|
- [x] Context
|
2023-02-11 14:03:06 +01:00
|
|
|
- [x] Deserializer for nested response (bind)
|
2023-01-30 22:25:40 +01:00
|
|
|
- [ ] Add codegen to hook into querier
|
2023-01-28 20:21:19 +01:00
|
|
|
- [ ] fix build / release cycle
|
|
|
|
- [ ] general api stabilisation
|
2023-01-29 22:39:06 +01:00
|
|
|
- [ ] document usage
|
2023-01-29 22:33:21 +01:00
|
|
|
|
|
|
|
## 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.
|