Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | More error refactoring | Alex Auvolat | 2022-05-13 | 12 | -54/+37 |
| | |||||
* | Rename error::Error to s3::error::Error | Alex Auvolat | 2022-05-13 | 27 | -28/+27 |
| | |||||
* | Error refactoring | Alex Auvolat | 2022-05-13 | 24 | -206/+135 |
| | |||||
* | Common error type and admin error type that uses it | Alex Auvolat | 2022-05-13 | 11 | -29/+249 |
| | |||||
* | Possibility of different error types for different APIs | Alex Auvolat | 2022-05-13 | 7 | -50/+64 |
| | |||||
* | Fix clippy | Alex Auvolat | 2022-05-12 | 2 | -6/+2 |
| | |||||
* | Slightly more detailed error reporting from helper | Alex Auvolat | 2022-05-12 | 5 | -15/+22 |
| | |||||
* | Simplify | Alex Auvolat | 2022-05-12 | 2 | -16/+6 |
| | |||||
* | BucketAllowKey and BucketDenyKey | Alex Auvolat | 2022-05-12 | 4 | -7/+92 |
| | |||||
* | DeleteBucket | Alex Auvolat | 2022-05-12 | 2 | -0/+63 |
| | |||||
* | CreateBucket | Alex Auvolat | 2022-05-12 | 2 | -4/+105 |
| | |||||
* | ListBucket and GetBucketInfo | Alex Auvolat | 2022-05-12 | 5 | -13/+241 |
| | |||||
* | Implement CreateKey, DeleteKey and rudimentary UpdateKey | Alex Auvolat | 2022-05-11 | 7 | -105/+227 |
| | |||||
* | First key endpoints: ListKeys and GetKeyInfo | Alex Auvolat | 2022-05-11 | 4 | -3/+195 |
| | |||||
* | Add API access key admin endpoints | Alex Auvolat | 2022-05-11 | 4 | -24/+68 |
| | |||||
* | Update Cargo.nix and improve log message | Alex Auvolat | 2022-05-10 | 1 | -1/+1 |
| | |||||
* | Refactor code for apply/revert, implement Update/Apply/RevertLayout | Alex Auvolat | 2022-05-10 | 11 | -62/+175 |
| | |||||
* | Specify remaining cluster-related endpoints | Alex Auvolat | 2022-05-10 | 1 | -0/+2 |
| | |||||
* | Fmt & cleanup | Alex Auvolat | 2022-05-10 | 3 | -33/+58 |
| | |||||
* | Implement /status Admin endpoint | Alex Auvolat | 2022-05-10 | 5 | -49/+152 |
| | |||||
* | Make background runner terminate correctly | Alex Auvolat | 2022-05-10 | 2 | -15/+23 |
| | |||||
* | Refactor admin API to be in api/admin and use common code | Alex Auvolat | 2022-05-10 | 14 | -200/+221 |
| | |||||
* | First implementation of K2V (#293) | Alex | 2022-05-10 | 78 | -1141/+5520 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Specification:** View spec at [this URL](https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/k2v/doc/drafts/k2v-spec.md) - [x] Specify the structure of K2V triples - [x] Specify the DVVS format used for causality detection - [x] Specify the K2V index (just a counter of number of values per partition key) - [x] Specify single-item endpoints: ReadItem, InsertItem, DeleteItem - [x] Specify index endpoint: ReadIndex - [x] Specify multi-item endpoints: InsertBatch, ReadBatch, DeleteBatch - [x] Move to JSON objects instead of tuples - [x] Specify endpoints for polling for updates on single values (PollItem) **Implementation:** - [x] Table for K2V items, causal contexts - [x] Indexing mechanism and table for K2V index - [x] Make API handlers a bit more generic - [x] K2V API endpoint - [x] K2V API router - [x] ReadItem - [x] InsertItem - [x] DeleteItem - [x] PollItem - [x] ReadIndex - [x] InsertBatch - [x] ReadBatch - [x] DeleteBatch **Testing:** - [x] Just a simple Python script that does some requests to check visually that things are going right (does not contain parsing of results or assertions on returned values) - [x] Actual tests: - [x] Adapt testing framework - [x] Simple test with InsertItem + ReadItem - [x] Test with several Insert/Read/DeleteItem + ReadIndex - [x] Test all combinations of return formats for ReadItem - [x] Test with ReadBatch, InsertBatch, DeleteBatch - [x] Test with PollItem - [x] Test error codes - [ ] Fix most broken stuff - [x] test PollItem broken randomly - [x] when invalid causality tokens are given, errors should be 4xx not 5xx **Improvements:** - [x] Descending range queries - [x] Specify - [x] Implement - [x] Add test - [x] Batch updates to index counter - [x] Put K2V behind `k2v` feature flag Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/293 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me> | ||||
* | Update netapp to 0.4.4, fix #300v0.7.1netapp-0.4.4 | Alex Auvolat | 2022-05-09 | 1 | -1/+1 |
| | |||||
* | Fix `layout show` to not show changes when there are no changes (#297) | Alex | 2022-05-09 | 2 | -5/+22 |
| | | | | | | | | | fixes #295, partially Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/297 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me> | ||||
* | fix clippyfix-multipart-fragmentation | Alex Auvolat | 2022-04-19 | 1 | -1/+1 |
| | |||||
* | Prettier code for defragmentation | Alex Auvolat | 2022-04-19 | 1 | -104/+102 |
| | |||||
* | Defragmentation in UploadPartCopy: first pass (not pretty but it compiles) | Alex Auvolat | 2022-04-19 | 1 | -63/+122 |
| | |||||
* | remove size limitation in UploadPartCopy (#280) | withinboredom | 2022-04-19 | 1 | -12/+0 |
| | | | | | | | | | | | This removes the >1mb s3_copy restriction. This restriction doesn't seem to be documented anywhere (I could be wrong). It also causes some software to fail (such as #248). Co-authored-by: Rob Landers <landers.robert@gmail.com> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/280 Co-authored-by: withinboredom <landers.robert@gmail.com> Co-committed-by: withinboredom <landers.robert@gmail.com> | ||||
* | Add missing opentelemetry features | Alex Auvolat | 2022-04-08 | 1 | -1/+1 |
| | |||||
* | Update to netapp 0.4.2 (a tiny fix) | Alex Auvolat | 2022-04-07 | 4 | -4/+4 |
| | |||||
* | Bring maximum exponential backoff time down from 16h to 1h | Alex Auvolat | 2022-04-07 | 1 | -1/+5 |
| | |||||
* | New replication modes and their documentationfeature/documentation | Alex Auvolat | 2022-03-28 | 1 | -4/+13 |
| | |||||
* | fix a clippy lint | Alex Auvolat | 2022-03-28 | 1 | -1/+1 |
| | |||||
* | Add blocks in errored state to `garage stats` | Alex Auvolat | 2022-03-28 | 2 | -0/+11 |
| | |||||
* | Log admin GET requests at debug level instead of info | Alex Auvolat | 2022-03-28 | 1 | -1/+1 |
| | | | | to reduce noise in logs | ||||
* | Add feature flag for Kubernetes discovery | Alex Auvolat | 2022-03-24 | 6 | -79/+108 |
| | |||||
* | Make layout optimization work in relative termsbug/layout | Alex Auvolat | 2022-03-24 | 1 | -9/+14 |
| | |||||
* | Allow `garage layout assign` to assign to several nodes at once | Alex Auvolat | 2022-03-24 | 2 | -46/+56 |
| | |||||
* | Slight change and add comment to layout assignation algo | Alex Auvolat | 2022-03-24 | 1 | -37/+33 |
| | |||||
* | Small change to partition assignation algorithm | Alex Auvolat | 2022-03-24 | 2 | -9/+37 |
| | | | | | | This change helps ensure that nodes for each partition are spread over all datacenters, a property that wasn't ensured previously when going from a 2 DC deployment to a 3 DC deployment | ||||
* | Add lots of comments on how the resync queue works | Alex Auvolat | 2022-03-23 | 1 | -5/+96 |
| | | | | (I don't really want to change/refactor that code though) | ||||
* | Clippy | Alex Auvolat | 2022-03-23 | 2 | -5/+5 |
| | |||||
* | Make background tranquility a configurable parameter | Alex Auvolat | 2022-03-23 | 4 | -16/+25 |
| | |||||
* | Move block RC code to separate `rc.rs` | Alex Auvolat | 2022-03-23 | 3 | -136/+175 |
| | |||||
* | Move DataBlock out of manager.rs | Alex Auvolat | 2022-03-23 | 4 | -81/+86 |
| | |||||
* | Move block manager to separate module | Alex Auvolat | 2022-03-23 | 11 | -41/+64 |
| | |||||
* | cleanup | trinity-1686a | 2022-03-23 | 1 | -19/+4 |
| | |||||
* | add test for create bucket and put website with streaming signature | trinity-1686a | 2022-03-23 | 1 | -0/+84 |
| | |||||
* | add test framework for arbitraty S3 requests | trinity-1686a | 2022-03-23 | 12 | -16/+409 |
| | | | | and implement some basic test with it |