aboutsummaryrefslogtreecommitdiff
path: root/src/web
Commit message (Collapse)AuthorAgeFilesLines
* use cargo-shear to remove many unused dependencies between cratesAlex Auvolat8 days1-3/+0
|
* split s3/cors.rs into also common/cors.rsAlex Auvolat8 days1-1/+3
|
* fix things upAlex Auvolat8 days2-9/+9
|
* wip: split garage_api into garage_api_{common,s3,k2v,admin}Alex Auvolat8 days1-1/+2
|
* Bump to version 1.0.1v1.0.1rel-v1.0.1Alex Auvolat2024-09-221-1/+1
|
* [next-0.10] bump version number to 1.0v1.0.0-rc1Alex Auvolat2024-03-281-1/+1
|
* Merge branch 'main' into next-0.10Alex Auvolat2024-03-041-14/+15
|\
| * Merge pull request 'add request context helper' (#751) from ↵Alex2024-03-041-14/+15
| |\ | | | | | | | | | | | | | | | yuka/garage:req-ctx into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/751
| | * add request context helperYureka2024-03-041-14/+15
| | |
| * | [rel-0.9.3] Bump version to 0.9.3v0.9.3Alex Auvolat2024-03-041-1/+1
| |/
| * [rel-0.9.2] Bump version to v0.9.2v0.9.2rel-0.9.2Alex Auvolat2024-03-011-1/+1
| |
* | Merge branch 'main' into next-0.10Alex Auvolat2024-02-132-78/+75
|\|
| * [header-override-650] implement header overriding in GetObject (fix #650)header-override-650Alex Auvolat2024-02-091-2/+20
| |
| * [dep-upgrade-202402] fix shutdown issue introduced when upgrading hyperdep-upgrade-202402Alex Auvolat2024-02-081-6/+6
| |
| * [dep-upgrade-202402] refactor http listener codeAlex Auvolat2024-02-071-56/+19
| |
| * [dep-upgrade-202402] migration to http/hyper 1.0 for k2v apiAlex Auvolat2024-02-051-1/+3
| |
| * [dep-upgrade-202402] wip: port to http/hyper crates v1Alex Auvolat2024-02-052-54/+68
| |
| * [dep-upgrade-202402] refactor dependencies: move all as workspace depsAlex Auvolat2024-02-051-9/+9
| |
| * Bump version to 0.9.1v0.9.1rel-v0.9.1Alex Auvolat2024-01-161-1/+1
| |
* | bump crate versions to 0.10.0v0.10.0-beta1Alex Auvolat2024-01-111-1/+1
|/
* bump version to v0.9.0v0.9.0nextAlex Auvolat2023-10-101-1/+1
|
* everywhere: support unix sockets when binding in various placesnetworkException2023-09-291-9/+49
| | | | | this patch implements binding to paths as a unix socket for generic server and web server.
* cargo: add hyperlocal as a dependencynetworkException2023-09-291-0/+3
|
* update version to 0.8.4v0.8.4hold-netapp-0.5.2Alex Auvolat2023-09-051-1/+1
|
* bump version to 0.8.3v0.8.3-rc1Alex Auvolat2023-08-281-1/+1
|
* web_server.rs: handle error properly and refactorcompat/index-without-trailing-slashAlex Auvolat2023-08-281-23/+13
|
* support index on path missing a trailing slashQuentin Dufour2023-08-081-28/+102
|
* *: apply clippy recommendations.Jonathan Davies2023-05-091-1/+1
|
* Declare garage crates using workspace.dependenciesJakub Jirutka2023-05-091-4/+4
| | | | | | | | This will allow to really disable "sled" feature without declaring `default-features = false` in every Cargo.toml where garage_db and garage_model is used. See https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table
* Prepare for v0.8.2Alex Auvolat2023-03-131-5/+5
|
* web/web_server.rs: Handle X-Forwarded-For here too.Jonathan Davies2023-03-061-1/+14
|
* Fix duplicated content-type in error documentBaptiste Jonglez2023-01-291-1/+0
| | | | Fixes #492
* Cargo.toml: Loosen tracing dependency to just 0.1.Jonathan Davies2023-01-261-1/+1
|
* Bump everything to v0.8.1Alex Auvolat2023-01-021-5/+5
|
* cargo2nix unstable (patched), rust 1.63.0, nixpkgs 22.05 (32-bit builds are ↵Alex Auvolat2022-10-141-1/+1
| | | | broken)
* Make all HTTP services optionnalAlex Auvolat2022-09-072-199/+212
|
* Bump versions to 0.8.0 (compatibility is broken already)Alex Auvolat2022-09-061-5/+5
|
* First version of admin API (#298)Alex2022-05-242-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Spec:** - [x] Start writing - [x] Specify all layout endpoints - [x] Specify all endpoints for operations on keys - [x] Specify all endpoints for operations on key/bucket permissions - [x] Specify all endpoints for operations on buckets - [x] Specify all endpoints for operations on bucket aliases View rendered spec at <https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/admin-api/doc/drafts/admin-api.md> **Code:** - [x] Refactor code for admin api to use common api code that was created for K2V **General endpoints:** - [x] Metrics - [x] GetClusterStatus - [x] ConnectClusterNodes - [x] GetClusterLayout - [x] UpdateClusterLayout - [x] ApplyClusterLayout - [x] RevertClusterLayout **Key-related endpoints:** - [x] ListKeys - [x] CreateKey - [x] ImportKey - [x] GetKeyInfo - [x] UpdateKey - [x] DeleteKey **Bucket-related endpoints:** - [x] ListBuckets - [x] CreateBucket - [x] GetBucketInfo - [x] DeleteBucket - [x] PutBucketWebsite - [x] DeleteBucketWebsite **Operations on key/bucket permissions:** - [x] BucketAllowKey - [x] BucketDenyKey **Operations on bucket aliases:** - [x] GlobalAliasBucket - [x] GlobalUnaliasBucket - [x] LocalAliasBucket - [x] LocalUnaliasBucket **And also:** - [x] Separate error type for the admin API (this PR includes a quite big refactoring of error handling) - [x] Add management of website access - [ ] Check that nothing is missing wrt what can be done using the CLI - [ ] Improve formatting of the spec - [x] Make sure everyone is cool with the API design Fix #231 Fix #295 Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/298 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
* First implementation of K2V (#293)Alex2022-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **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>
* Fix some new clippy lintsfix-resyncAlex Auvolat2022-03-141-2/+1
|
* Bump version to 0.7 because of incompatible NetappAlex Auvolat2022-03-141-5/+5
|
* Add metrics to web endpointAlex Auvolat2022-03-142-4/+78
|
* Add tracing integration with opentelemetryAlex Auvolat2022-03-142-2/+2
|
* More permissive OPTIONS on S3 APIv0.6.1better-corsAlex Auvolat2022-03-011-2/+2
|
* Process CORS earlier in pipelineAlex Auvolat2022-02-281-1/+1
|
* Multipart improvementsAlex Auvolat2022-01-241-3/+3
| | | | | - support part_number for HeadObject - add checks in complete_multipart_upload
* Handle OPTIONS on website endpointbucket-corsAlex Auvolat2022-01-241-3/+7
|
* Implement {Put,Get,Delete}BucketCors and CORS in generalAlex Auvolat2022-01-241-52/+60
| | | | | | - OPTIONS request against API endpoint - Returning corresponding CORS headers on API calls - Returning corresponding CORS headers on website GET's
* Make use of website config, return error document on errorAlex Auvolat2022-01-131-26/+102
|
* New buckets for 0.6.0: make bucket id a SK and not a HK, CLI updatesAlex Auvolat2022-01-041-1/+1
|