aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* add proper request router for s3 api (#163)trinity-1686a2021-12-067-185/+1476
| | | | | | | | | | | | | fix #161 Current request router was organically grown, and is getting messier and messier with each addition. This router cover exaustively existing API endpoints (with exceptions listed in [#161(comment)](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/161#issuecomment-1773) either because new and old api endpoint can't feasabily be differentied, or it's more lambda than s3). Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/163 Reviewed-by: Alex <alex@adnab.me> Co-authored-by: trinity-1686a <trinity.pointard@gmail.com> Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
* Improved handling of HTTP rangestrinity-1686a2021-11-295-14/+46
| | | | | | | | | | | - correct HTTP code when range syntax is invalid (fix #140) - when multiple ranges are given, simply ignore and send whole file Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/157 Reviewed-by: Alex <alex@adnab.me> Co-authored-by: trinity-1686a <trinity.pointard@gmail.com> Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
* In ListBuckets, hide entry if no permsfeature/hide-buckets-without-permQuentin Dufour2021-11-221-0/+1
|
* Improve how node roles are assigned in Garagev0.5-beta1Alex Auvolat2021-11-1627-438/+1193
| | | | | | | | | | | | | | | | | - change the terminology: the network configuration becomes the role table, the configuration of a nodes becomes a node's role - the modification of the role table takes place in two steps: first, changes are staged in a CRDT data structure. Then, once the user is happy with the changes, they can commit them all at once (or revert them). - update documentation - fix tests - implement smarter partition assignation algorithm This patch breaks the format of the network configuration: when migrating, the cluster will be in a state where no roles are assigned. All roles must be re-assigned and commited at once. This migration should not pose an issue.
* update doc and commentsTrinity Pointard2021-11-162-4/+5
|
* clippyTrinity Pointard2021-11-161-1/+1
|
* fix issue where list on vhost-bucket would list bucket instead of bucket contentTrinity Pointard2021-11-161-73/+29
|
* add support for vhost-style s3 bucketTrinity Pointard2021-11-167-121/+223
|
* Implement GC delay for table dataAlex Auvolat2021-11-083-44/+76
|
* Safety: never voluntarily delete block in 10min interval after RC reaches zeroAlex Auvolat2021-11-083-51/+182
|
* Refactor and comment table GC logicAlex Auvolat2021-11-082-23/+130
|
* allow missing bootstrap_peers in garage.tomlTrinity Pointard2021-11-051-1/+1
|
* Request strategy: don't launch all 3 requests if not neededv0.4-rc2Alex Auvolat2021-11-042-45/+152
|
* Add tranquilizer mechanism to improve on token bucket mechanismtranquilityAlex Auvolat2021-11-045-30/+95
|
* Add semaphore to limit RAM used by buffered outgoing requestsrequest-buffer-semaphoreAlex Auvolat2021-11-033-7/+34
|
* Fix peer list persistence: do not forget previous peersAlex Auvolat2021-11-031-7/+23
|
* Add environment variables equivalents for some CLI options.Jill2021-11-031-3/+8
|
* Fix race in block resyncAlex Auvolat2021-10-271-9/+8
|
* Refactoring on repair commandscli-verify-integrityAlex Auvolat2021-10-275-92/+105
|
* add cli parameter to verify local bloc integrityTrinity Pointard2021-10-273-29/+107
| | | | | reuse code for listing local blocks add disk i/o speed limit on integrity check
* CLI: default rpc_hostv0.4-rc1Alex Auvolat2021-10-262-8/+25
|
* Use published netapp crate instead of git repoAlex Auvolat2021-10-264-4/+9
|
* Fix clippy lints (fix #121)Alex Auvolat2021-10-2614-57/+55
|
* Refactor block manager code, and hopefully fix deadlockAlex Auvolat2021-10-251-170/+247
|
* Improve CLI, adapt tests, update documentationAlex Auvolat2021-10-2519-772/+972
|
* Improvements to CLI and various fixes for netapp versionAlex Auvolat2021-10-2224-422/+654
| | | | Discovery via consul, persist peer list to file
* First port of Garage to NetappAlex Auvolat2021-10-2230-1981/+1108
|
* Build Garage with Nixfeature/staticQuentin Dufour2021-10-191-2/+2
|
* Fix git_version!() when not in git repo (fix #100)Alex Auvolat2021-10-111-1/+5
|
* Fix HTTP return code for DeleteObject (fix #98)Alex Auvolat2021-10-111-1/+2
|
* WIP: try to fix #93, and improve S3 ListObjects (v1 and v2) API callsAlex Auvolat2021-10-111-58/+160
|
* Support pkcs8 private keys (allowing for ed25519 to be used for rpc)Alex Auvolat2021-07-061-8/+9
|
* exit when inconsistent level of replication is detected (#92)trinity-1686a2021-06-021-0/+16
| | | | | | | | | fix #88 Authored-by: Trinity Pointard <trinity.pointard@gmail.com> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/92 Co-authored-by: trinity-1686a <trinity.pointard@gmail.com> Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
* try parsing rpc-host command-line parameterTrinity Pointard2021-06-011-1/+10
|
* format garage status output betterTrinity Pointard2021-06-011-22/+59
|
* make most changes suggested during install-partyTrinity Pointard2021-05-292-4/+8
|
* Prepare for v0.3.0 and add migration path from v0.2.1.xv0.3.0Alex Auvolat2021-05-2810-39/+71
|
* Rename datacenters into zones (doc not yet updated)Alex Auvolat2021-05-282-21/+21
|
* Many improvements on ring/replication and its configuration:Alex Auvolat2021-05-289-106/+251
| | | | | | | | | | | | | | | | | | | | - Explicit "replication_mode" configuration parameters that takes either "none", "2" or "3" as values, instead of letting user configure replication factor themselves. These are presets whose corresponding replication/quorum values can be found in replication/mode.rs - Explicit support for single-node and two-node deployments (number of nodes must be at least "replication_mode", with "none" we can have only one node) - Ring is now stored much more compactly with 256*8 + n*32 bytes, instead of 256*32 bytes - Support for gateway-only nodes that do not store data (these nodes still need a metadata_directory to store the list of bucket and keys since those are stored on all nodes; it also technically needs a data_directory to start but it will stay empty unless we have bugs)
* Add basic support for the "Versioning" commandQuentin Dufour2021-05-143-0/+48
|
* Improved XML serializationbetter_xmlAlex Auvolat2021-05-0610-281/+728
| | | | | | - Use quick_xml and serde for all XML response returned by the S3 API. - Include tests for all structs used to generate XML - Remove old manual XML escaping function which was unsafe
* rename types to CamelCaseTrinity Pointard2021-05-0335-216/+212
|
* fix clippy warnings on garageTrinity Pointard2021-05-033-90/+84
|
* fix clippy warnings on webTrinity Pointard2021-05-032-12/+13
|
* fix clippy warnings on apiTrinity Pointard2021-05-038-81/+85
|
* fix clippy warnings on modelTrinity Pointard2021-05-035-38/+38
|
* fix clippy warnings on tableTrinity Pointard2021-05-0310-43/+63
|
* fix clippy warnings on util and rpcTrinity Pointard2021-05-039-51/+45
|
* S3 API: support ListBucketsQuentin Dufour2021-05-034-2/+99
|
* Remove STREAMING-AWS4-HMAC-SHA256-PAYLOAD (see #64)Alex Auvolat2021-05-031-3/+1
|