Commit graph

901 commits

Author SHA1 Message Date
Max Audron
9d44127245
add support for kubernetes service discovery
This commit adds support to discover garage instances running in
kubernetes.

Once enabled by setting `kubernetes_namespace` and
`kubernetes_service_name` garage will create a Custom Resources
`garagenodes.deuxfleurs.fr` with nodes public key as the resource name.
and IP and Port information as spec in the namespace configured by
`kubernetes_namespace`.

For discovering nodes the resources are filtered with the optionally set
`kubernetes_service_name` which sets a label
`garage.deuxfleurs.fr/service` on the resources.

This allows to separate multiple garage deployments in a single
namespace.

the `kubernetes_skip_crd` variable allows to disable the creation of the
CRD by garage itself. The user must deploy this manually.
2022-03-12 13:05:52 +01:00
Quentin Dufour
c00b2c9948 Functional tests for admin commands 2022-03-07 17:32:07 +01:00
Quentin Dufour
8df1e186de Functional tests for website endpoints 2022-03-07 17:32:07 +01:00
Quentin Dufour
2ef60b8417 Functional test for multipart endpoints 2022-03-07 17:32:07 +01:00
Quentin Dufour
1e639ec67c Functional test for ListMultipartUploads 2022-03-07 17:32:07 +01:00
Quentin Dufour
cfea1e0315 Functional tests for bucket endpoints 2022-03-07 17:32:02 +01:00
Quentin Dufour
05eb79929e Functional tests for object operations 2022-03-07 17:05:10 +01:00
Quentin Dufour
0f4e0e8bb9 Move ListObjects tests to Rust 2022-03-07 17:05:10 +01:00
Quentin Dufour
2a3afcaf65 Test WinSCP 2022-03-03 14:29:10 +01:00
Alex Auvolat
8a5bbc3b0b
More permissive OPTIONS on S3 API 2022-03-01 11:15:16 +01:00
Alex Auvolat
97f245f218
Add tracing output to signature calculation 2022-02-28 12:22:39 +01:00
Alex Auvolat
8129a98291
Process CORS earlier in pipeline 2022-02-28 12:22:39 +01:00
Quentin Dufour
54e02b4c3b Force static builds for all platforms 2022-02-24 16:12:37 +01:00
trinity-1686a
f6f8b7f1ad Support for PostObject (#222)
Add support for [PostObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)

- [x] routing PostObject properly
- [x] parsing multipart body
- [x] validating signature
- [x] validating policy
- [x] validating content length
- [x] actually saving data

Co-authored-by: trinity-1686a <trinity@deuxfleurs.fr>
Co-authored-by: Trinity Pointard <trinity.pointard@gmail.com>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/222
Reviewed-by: Alex <alex@adnab.me>
Co-authored-by: trinity-1686a <trinity.pointard@gmail.com>
Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
2022-02-21 23:02:30 +01:00
Alex Auvolat
e312ba977e
Add FOSDEM talk and move all .pdf files to Git LFS 2022-02-16 20:01:36 +01:00
Alex Auvolat
2465163e39
documentation: add mention to install build-essential 2022-02-16 12:18:24 +01:00
Jill
84613e66a2
garage(tests): Remove RNG stuff 2022-02-11 10:50:55 +01:00
Jill
c8b30ebc79
garage(tests): Remove superfluous test 2022-02-10 17:55:51 +01:00
Jill
d7decda3f4
garage(tests): Add random suffix to created buckets. 2022-02-10 17:55:50 +01:00
Jill
cd13ea461b
garage(tests): Add some unsafe-usage doc and tweaks 2022-02-10 17:55:50 +01:00
Quentin Dufour
5d19f3d2d7
Add integration tests to Drone 2022-02-10 17:55:50 +01:00
Quentin Dufour
084dcdbd3a
Upgrade cargo2nix 2022-02-10 17:55:50 +01:00
Jill
3baa841d6f
tests: Fix garage integration test 2022-02-10 17:55:49 +01:00
Jill
dd407e7041
tests: Add garage integration tests (base) 2022-02-10 17:55:49 +01:00
Alex Auvolat
af261e1789 Fix a bug when a migration is followed by a rebalance
Nodes would stabilize on different encoding formats for the values,
some having the pre-migration format and some having the post-migration
format. This would be reflected in the Merkle trees never converging
and thus having an infinite resync loop.
2022-02-10 17:38:27 +01:00
Alex
4ae03aa774 Small documentation updates (#237)
Fixes #234, among other things

Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/237
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
2022-02-10 15:58:09 +01:00
Quentin
3e1373fafc Add a new S3 comparison Matrix to documentation (#220)
Co-authored-by: Quentin Dufour <quentin@deuxfleurs.fr>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/220
Co-authored-by: Quentin <quentin@dufour.io>
Co-committed-by: Quentin <quentin@dufour.io>
2022-02-07 16:04:52 +01:00
Alex Auvolat
7d68b7060e
Fix anchors in links 2022-02-07 16:01:48 +01:00
Quentin Dufour
99ed67503c
Update quickstart to set endpoints ending in localhost 2022-02-07 16:01:48 +01:00
Quentin Dufour
5a1fb7cce7
Improve integration part of the doc 2022-02-07 16:01:45 +01:00
Alex
1c0ba930b8 Reorganize documentation for new website (#213)
This PR should be merged after the new website is deployed.

- [x] Rename files
- [x] Add front matter section to all `.md` files in the book (necessary for Zola)
- [x] Change all internal links to use Zola's linking system that checks broken links
- [x] Some updates to documentation contents and organization

Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/213
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
2022-02-07 11:51:12 +01:00
Alex Auvolat
45d6d377d2
Remove website publishing (new website is now online) 2022-02-06 09:25:04 +01:00
Quentin Dufour
6f7ef11537 Generate and upload a JSON result 2022-02-05 22:09:43 +01:00
Alex Auvolat
241db1e1f5 Add URL field to JSON builds 2022-02-05 22:09:43 +01:00
Quentin Dufour
ecd76977ea Generate JSON build description 2022-02-05 22:09:43 +01:00
Alex Auvolat
935670690f
Probably fix test-smoke 2022-02-02 17:34:19 +01:00
Alex Auvolat
ae2f32baf1
Hide deleted key in bucket info (fix #211) 2022-02-02 17:12:48 +01:00
Quentin Dufour
f67029ce2a Improve testing conf + test CORS 2022-02-01 17:55:14 +01:00
Alex Auvolat
2760f1cb17
Add advice about --fast-list 2022-01-31 16:51:39 +01:00
Alex Auvolat
26849ed066
Add step to 0.6.0 migration guide 2022-01-27 14:31:25 +01:00
Alex Auvolat
c99f55c420
Add restriction on part ordering in CompleteMultipartUpload 2022-01-25 12:45:00 +01:00
Alex Auvolat
acdf893362
Fix partnumber 2022-01-25 12:25:23 +01:00
Alex Auvolat
338b1b83ee
Implement part_number for GetObject 2022-01-24 21:04:42 +01:00
Alex Auvolat
6dab836f3a
Multipart improvements
- support part_number for HeadObject
- add checks in complete_multipart_upload
2022-01-24 21:04:40 +01:00
Alex Auvolat
513a6b15f9
Handle OPTIONS on website endpoint 2022-01-24 12:32:28 +01:00
Alex Auvolat
ea7fb901eb
Implement {Put,Get,Delete}BucketCors and CORS in general
- OPTIONS request against API endpoint
- Returning corresponding CORS headers on API calls
- Returning corresponding CORS headers on website GET's
2022-01-24 11:58:00 +01:00
Trinity Pointard
820924534a use clamp instead of min(max()) 2022-01-24 11:56:59 +01:00
Quentin Dufour
94f0e7c135 Test ListParts endpoint with awscli 2022-01-21 10:42:35 +01:00
Quentin Dufour
440374524b Implement ListParts 2022-01-21 10:42:30 +01:00
Quentin Dufour
fe003d6fbc Add ListPartsResult structure 2022-01-20 16:38:55 +01:00