aboutsummaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'main' into optimal-layoutAlex Auvolat2022-11-074-63/+224
|\
| * Add documentation to run Mastodon on GarageBaptiste Jonglez2022-11-061-2/+130
| |
| * Fix issue with 'http(s)://' prefixconsul-tlsAlex Auvolat2022-10-181-3/+3
| |
| * Add TLS support for Consul discovery + refactoringAlex Auvolat2022-10-181-31/+64
| |
| * update k2v docs for status 204 changesTobias Krischer2022-10-181-28/+28
| |
| * Update 'doc/book/reference-manual/features.md'borgified2022-10-161-1/+1
| | | | | | | | typo
* | Merge remote-tracking branch 'origin/main' into optimal-layoutMendes2022-10-0472-153/+10685
|\|
| * Fix typochemicstry2022-09-301-1/+1
| |
| * Update docschemicstry2022-09-301-2/+2
| |
| * Move documentation to bookchemicstry2022-09-301-0/+87
| |
| * Document db_engineAlex Auvolat2022-09-271-0/+43
| |
| * Merge pull request 'Documentation changes for v0.8' (#394) from doc-0.8 into ↵Alex2022-09-273-7/+41
| |\ | | | | | | | | | | | | | | | main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/394
| | * Update docker image linksAlex Auvolat2022-09-261-6/+6
| | |
| | * Add garage v0.8 migration guideAlex Auvolat2022-09-262-1/+35
| | |
| * | Update READMEnew-readmeAlex Auvolat2022-09-211-1/+1
| |/
| * Finish writing about Garage features, and fix from-source instructionsAlex Auvolat2022-09-153-45/+106
| |
| * Some work on documentation towards v0.8Alex Auvolat2022-09-1415-71/+151
| |
| * Document available build featuresAlex Auvolat2022-09-061-16/+33
| |
| * Add some documentation for CaddyQuentin Dufour2022-08-121-0/+22
| |
| * Fix typoAlex2022-06-291-1/+1
| |
| * Slides for talk at IMT Atlantique / STACK on 2022-06-23 (#333)Alex2022-06-2347-0/+8532
| | | | | | | | | | | | | | Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/333 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
| * improve internal item counter mechanisms and implement bucket quotas (#326)Alex2022-06-151-70/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - [x] Refactoring of internal counting API - [x] Repair procedure for counters (it's an offline procedure!!!) - [x] New counter for objects in buckets - [x] Add quotas to buckets struct - [x] Add CLI to manage bucket quotas - [x] Add admin API to manage bucket quotas - [x] Apply quotas by adding checks on put operations - [x] Proof-read Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/326 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
| * docs: Add Trafik reverse proxy documentationSimon C2022-06-071-2/+139
| |
| * docs: Fix title levelSimon C2022-06-071-1/+1
| |
| * docs: Add link to facilitate navigation in the documentationSimon C2022-06-071-1/+1
| |
| * Remove useless MC_REGION env variabledoc2Quentin Dufour2022-06-021-10/+0
| |
| * Fixes to S3 compatibility page (#314)Alex2022-05-251-29/+48
| | | | | | | | | | | | | | | | | | Mention PostObject is implemented, fix english mistakes Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/314 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
| * Update Ceph S3 endpoints compatibilityQuentin Dufour2022-05-251-28/+36
| |
| * Shorter page titledoc/admin-apiAlex Auvolat2022-05-241-1/+1
| |
| * Add lost content for Restic with GarageAlex Auvolat2022-05-241-0/+55
| | | | | | | | Suggested-by: Quentin <quentin@deuxfleurs.fr>
| * Add documentation for new Admin API and a few infos on K2VAlex Auvolat2022-05-243-7/+116
| |
| * First version of admin API (#298)Alex2022-05-241-0/+603
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **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>
| * Fix ReadIndex spec and add JSON5 remark to docfix-k2v-docAlex Auvolat2022-05-161-7/+44
| |
| * First implementation of K2V (#293)Alex2022-05-101-0/+680
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **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>
* | New version of the algorithm that calculate the layout.Mendes2022-09-212-9/+8
| | | | | | | | | | | | | | | | It takes as paramters the replication factor and the zone redundancy, computes the largest partition size reachable with these constraints, and among the possible assignation with this partition size, it computes the one that moves the least number of partitions compared to the previous assignation. This computation uses graph algorithms defined in graph_algo.rs
* | Added the section with description proofs of the parametric assignment ↵Mendes2022-09-104-12/+260
| | | | | | | | computation in the optimal layout report
* | ignore log files in commitMendes2022-09-085-333/+11
| |
* | Added a first draft version of the algorithm and analysis for the non-strict ↵Mendes2022-08-195-49/+120
| | | | | | | | mode.
* | Added the latex report on the optimal layout algorithmMendes2022-07-1813-0/+12357
|/
* Add documentation on running Kopia with GarageBaptiste Jonglez2022-04-101-0/+21
|
* Be clearer on what upgrades are (not) supporteddoc/upgradingQuentin Dufour2022-04-063-10/+4
|
* Add an "upgrading" section, add a guide for 0.7Quentin Dufour2022-04-053-2/+89
|
* Add documentation for winscp+sftpgodoc/winscp+sftpgoQuentin Dufour2022-03-311-2/+57
|
* New replication modes and their documentationfeature/documentationAlex Auvolat2022-03-281-17/+70
|
* document administrative optionsAlex Auvolat2022-03-281-0/+23
|
* Talk a bit about capacity balancing between regionsAlex Auvolat2022-03-221-11/+18
|
* document request routing logicRune Henriksen2022-03-211-0/+45
|
* add short tutorial for duplicati usage with garageRune Henriksen2022-03-211-1/+16
|
* Change position of the node-id argumentSteam2022-03-191-4/+4
|
* add support for kubernetes service discoveryMax Audron2022-03-121-0/+18
| | | | | | | | | | | | | | | | | | | | | 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.