Commit Graph

651 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 v0.6.1 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 v0.6.0 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 v0.6.0-rc1 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