garage/src/k2v-client
Alex b2a2d3859f
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone Build is passing
K2V client improvements (#307)
- [x] Better distinguish error types
- [x] Parse error messages received from server
- [x] Remove `src/` folder layer, we don't have that for other crates

Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: #307
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
2022-05-24 12:48:05 +02:00
..
bin K2V client improvements (#307) 2022-05-24 12:48:05 +02:00
Cargo.toml K2V client improvements (#307) 2022-05-24 12:48:05 +02:00
error.rs K2V client improvements (#307) 2022-05-24 12:48:05 +02:00
lib.rs K2V client improvements (#307) 2022-05-24 12:48:05 +02:00
README.md Add a K2V client library and CLI (#303) 2022-05-18 22:24:09 +02:00

Example usage:

# all these values can be provided on the cli instead
export AWS_ACCESS_KEY_ID=GK123456
export AWS_SECRET_ACCESS_KEY=0123..789
export AWS_REGION=garage
export K2V_ENDPOINT=http://172.30.2.1:3903
export K2V_BUCKET=my-bucket

cargo run --features=cli -- read-range my-partition-key --all

cargo run --features=cli -- insert my-partition-key my-sort-key --text "my string1"
cargo run --features=cli -- insert my-partition-key my-sort-key --text "my string2"
cargo run --features=cli -- insert my-partition-key my-sort-key2 --text "my string"

cargo run --features=cli -- read-range my-partition-key --all

causality=$(cargo run --features=cli -- read my-partition-key my-sort-key2 -b | head -n1)
cargo run --features=cli -- delete my-partition-key my-sort-key2 -c $causality

causality=$(cargo run --features=cli -- read my-partition-key my-sort-key -b | head -n1)
cargo run --features=cli -- insert my-partition-key my-sort-key --text "my string3" -c $causality

cargo run --features=cli -- read-range my-partition-key --all