Alex Auvolat
1bcd6fabbd
New buckets for 0.6.0: small changes
...
- Fix bucket delete
- fix merge of bucket creation date
- Replace deletable with option in aliases
Rationale: if two aliases point to conflicting bucket, resolving
by making an arbitrary choice risks making data accessible when it
shouldn't be. We'd rather resolve to deleting the alias until
someone puts it back.
2022-01-04 12:52:47 +01:00
Alex Auvolat
2140cd7205
Remove website redirects
2022-01-04 12:52:46 +01:00
Alex Auvolat
beeef4758e
Some movement of helper code and refactoring of error handling
2022-01-04 12:52:46 +01:00
Alex Auvolat
d8ab5bdc3e
New buckets for 0.6.0: fix model and migration
2022-01-04 12:47:28 +01:00
Alex Auvolat
b76d0580a0
Fix forgotten flag
2022-01-04 12:47:28 +01:00
Alex Auvolat
b1cfd16913
New buckets for 0.6.0: small fixes, including:
...
- ensure bucket names are correct aws s3 names
- when making aliases, ensure timestamps of links in both ways are the
same
- fix small remarks by trinity
- don't have a separate website_access field
2022-01-04 12:46:41 +01:00
Alex Auvolat
0bbb6673e7
Model changes
2022-01-04 12:45:52 +01:00
Alex Auvolat
5b1117e582
New model for buckets
2022-01-04 12:45:46 +01:00
trinity-1686a
ca7b438f3f
less strict ListBuckets ( #178 )
...
fix #175
Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com >
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/178
Co-authored-by: trinity-1686a <trinity.pointard@gmail.com >
Co-committed-by: trinity-1686a <trinity.pointard@gmail.com >
2021-12-15 15:05:36 +01:00
trinity-1686a
60d4459926
BucketWebsite ( #174 )
...
fix #77
this does not store anything but a on/off switch for website, and does not implement GetBucketWebsite as it would require storing more. GetBucketWebsite should be pretty easy to implement once data is stored though.
Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com >
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/174
Co-authored-by: trinity-1686a <trinity.pointard@gmail.com >
Co-committed-by: trinity-1686a <trinity.pointard@gmail.com >
2021-12-15 10:41:39 +01:00
trinity-1686a
c4ac8835d3
add proper request router for s3 api ( #163 )
...
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 >
2021-12-06 15:17:47 +01:00
trinity-1686a
7f26ed55cd
Improved handling of HTTP ranges
...
- 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 >
2021-11-29 11:52:42 +01:00
Quentin Dufour
8811bb08e6
In ListBuckets, hide entry if no perms
2021-11-22 12:10:28 +01:00
Alex Auvolat
c94406f428
Improve how node roles are assigned in Garage
...
- 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.
2021-11-16 16:05:53 +01:00
Trinity Pointard
53888995bd
update doc and comments
2021-11-16 15:41:41 +01:00
Trinity Pointard
396fe4c702
clippy
2021-11-16 15:41:41 +01:00
Trinity Pointard
02158ee666
fix issue where list on vhost-bucket would list bucket instead of bucket content
2021-11-16 15:41:41 +01:00
Trinity Pointard
9c58ec28d3
add support for vhost-style s3 bucket
2021-11-16 15:41:41 +01:00
Alex Auvolat
ada7899b24
Fix clippy lints ( fix #121 )
2021-10-26 10:20:05 +02:00
Alex Auvolat
de4276202a
Improve CLI, adapt tests, update documentation
2021-10-25 14:21:48 +02:00
Alex Auvolat
1b450c4b49
Improvements to CLI and various fixes for netapp version
...
Discovery via consul, persist peer list to file
2021-10-22 16:55:24 +02:00
Alex Auvolat
4067797d01
First port of Garage to Netapp
2021-10-22 15:55:18 +02:00
Alex Auvolat
f6060b92aa
Fix HTTP return code for DeleteObject ( fix #98 )
2021-10-11 14:24:49 +02:00
Alex Auvolat
f3a097abdf
WIP: try to fix #93 , and improve S3 ListObjects (v1 and v2) API calls
2021-10-11 11:15:47 +02:00
Alex Auvolat
b9127dd6f8
Prepare for v0.3.0 and add migration path from v0.2.1.x
2021-05-28 15:29:58 +02:00
Quentin Dufour
5fdabf3e75
Add basic support for the "Versioning" command
2021-05-14 22:33:26 +02:00
Alex Auvolat
6ccffc3162
Improved XML serialization
...
- 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
2021-05-06 22:37:15 +02:00
Trinity Pointard
e4b9e4e24d
rename types to CamelCase
2021-05-03 22:15:09 +02:00
Trinity Pointard
84856e84e5
fix clippy warnings on api
2021-05-03 22:11:41 +02:00
Quentin Dufour
631c36b3ff
S3 API: support ListBuckets
2021-05-03 21:55:30 +02:00
Alex Auvolat
ee2a3d363b
Remove STREAMING-AWS4-HMAC-SHA256-PAYLOAD (see #64 )
2021-05-03 17:30:40 +02:00
Alex Auvolat
dcfc32cf85
Many S3 compatibility improvements:
...
- return XML errors
- implement AuthorizationHeaderMalformed error to redirect clients to
correct location (used by minio client)
- implement GetBucketLocation
- fix DeleteObjects XML parsing and response
2021-04-28 01:05:40 +02:00
Alex Auvolat
642186c530
Fix #59 (& issue)
2021-04-27 23:10:43 +02:00
Trinity Pointard
74373aebcf
make most requested changes
2021-04-27 16:47:08 +02:00
Trinity Pointard
1e3df189d0
document api crate
2021-04-27 16:37:10 +02:00
Alex Auvolat
f859d15062
update to v0.2.1
2021-03-19 13:39:18 +01:00
Alex Auvolat
4c26a0b9c1
Update Cargo.toml files with AGPL license info
2021-03-18 21:59:17 +01:00
Alex Auvolat
6edbc65847
Add trinity's comment in the code
2021-03-18 19:46:43 +01:00
Alex
bfa0ff8f82
Merge pull request 'add support for caching headers' ( #49 ) from trinity-1686a/garage:cache-headers into master
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/49
2021-03-18 19:45:02 +01:00
Alex Auvolat
dead945c8f
Prepare for release 0.2
2021-03-18 19:33:15 +01:00
Trinity Pointard
b4c903371c
add support for caching headers
2021-03-18 15:46:33 +01:00
Alex Auvolat
f4346cc5f4
Update dependencies
2021-03-16 15:58:40 +01:00
Alex Auvolat
0cd5b2ae19
WIP migrate to tokio 1
2021-03-15 22:36:41 +01:00
Alex Auvolat
667e4e72a8
Small fixes
2021-03-15 19:51:16 +01:00
Alex Auvolat
3bf2df622a
Time and metadata improvements
2021-03-15 16:21:41 +01:00
Alex Auvolat
097c339d98
Fix race condition
2021-03-15 15:26:29 +01:00
Alex Auvolat
bdcbdd1cd8
Fix list API bug
2021-03-15 14:46:37 +01:00
Alex Auvolat
831eb35763
cargo fmt
2021-03-12 21:52:19 +01:00
Alex Auvolat
c475471e7a
Implement table gc, currently for block_ref and version only
2021-03-12 19:57:37 +01:00
Alex Auvolat
7fdaf7aef0
Fix merkle updater not being notified; improved logging
2021-03-12 14:37:46 +01:00