aboutsummaryrefslogtreecommitdiff
path: root/doc/book/src/intro.md
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-11-09 12:24:04 +0100
committerAlex Auvolat <alex@adnab.me>2021-11-16 15:45:46 +0100
commita3871f2251ab61744ab6e0b77763207949e0dd20 (patch)
tree24cebae3b618e35882f770d32a21e34c53d3df83 /doc/book/src/intro.md
parent53888995bdd7c672d2e3ab8bb6a3529195c127a9 (diff)
downloadgarage-a3871f2251ab61744ab6e0b77763207949e0dd20.tar.gz
garage-a3871f2251ab61744ab6e0b77763207949e0dd20.zip
Improve how node roles are assigned in Garagenode-configure
- 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.
Diffstat (limited to 'doc/book/src/intro.md')
-rw-r--r--doc/book/src/intro.md39
1 files changed, 20 insertions, 19 deletions
diff --git a/doc/book/src/intro.md b/doc/book/src/intro.md
index ffce8847..a54362be 100644
--- a/doc/book/src/intro.md
+++ b/doc/book/src/intro.md
@@ -18,10 +18,18 @@ This very website is hosted using Garage. In other words: the doc is the PoC!
# The Garage Geo-Distributed Data Store
-Garage is a lightweight geo-distributed data store.
-It comes from the observation that despite numerous object stores
-many people have broken data management policies (backup/replication on a single site or none at all).
-To promote better data management policies, we focused on the following **desirable properties**:
+Garage is a lightweight geo-distributed data store that implements the
+[Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html)
+object storage protocole. It enables applications to store large blobs such
+as pictures, video, images, documents, etc., in a redundant multi-node
+setting. S3 is versatile enough to also be used to publish a static
+website.
+
+Garage comes from the observation that despite the numerous existing
+implementation of object stores, many people have broken data management
+policies (backup/replication on a single site or none at all). To promote
+better data management policies, we focused on the following **desirable
+properties**:
- **Self-contained & lightweight**: works everywhere and integrates well in existing environments to target [hyperconverged infrastructures](https://en.wikipedia.org/wiki/Hyper-converged_infrastructure).
- **Highly resilient**: highly resilient to network failures, network latency, disk failures, sysadmin failures.
@@ -32,26 +40,19 @@ We also noted that the pursuit of some other goals are detrimental to our initia
The following has been identified as **non-goals** (if these points matter to you, you should not use Garage):
- **Extreme performances**: high performances constrain a lot the design and the infrastructure; we seek performances through minimalism only.
- - **Feature extensiveness**: complete implementation of the S3 API or any other API to make garage a drop-in replacement is not targeted as it could lead to decisions impacting our desirable properties.
+ - **Feature extensiveness**: complete implementation of the S3 API or any other API to make Garage a drop-in replacement is not targeted as it could lead to decisions impacting our desirable properties.
- **Storage optimizations**: erasure coding or any other coding technique both increase the difficulty of placing data and synchronizing; we limit ourselves to duplication.
- **POSIX/Filesystem compatibility**: we do not aim at being POSIX compatible or to emulate any kind of filesystem. Indeed, in a distributed environment, such synchronizations are translated in network messages that impose severe constraints on the deployment.
-## Supported and planned protocols
-
-Garage speaks (or will speak) the following protocols:
-
- - [S3](https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html) - *SUPPORTED* - Enable applications to store large blobs such as pictures, video, images, documents, etc. S3 is versatile enough to also be used to publish a static website.
- - [IMAP](https://github.com/go-pluto/pluto) - *PLANNED* - email storage is quite complex to get good performances.
-To keep performances optimal, most IMAP servers only support on-disk storage.
-We plan to add logic to Garage to make it a viable solution for email storage.
- - *More to come*
-
## Use Cases
-**[Deuxfleurs](https://deuxfleurs.fr):** Garage is used by Deuxfleurs which is a non-profit hosting organization.
-Especially, it is used to host their main website, this documentation and some of its members' blogs.
-Additionally, Garage is used as a [backend for Nextcloud](https://docs.nextcloud.com/server/20/admin_manual/configuration_files/primary_storage.html).
-Deuxfleurs also plans to use Garage as their [Matrix's media backend](https://github.com/matrix-org/synapse-s3-storage-provider) and as the backend of [OCIS](https://github.com/owncloud/ocis).
+**[Deuxfleurs](https://deuxfleurs.fr):** Garage is used by Deuxfleurs which
+is a non-profit hosting organization. Especially, it is used to host their
+main website, this documentation and some of its members' blogs.
+Deuxfleurs also uses Garage as their [Matrix's media
+backend](https://github.com/matrix-org/synapse-s3-storage-provider).
+Deuxfleurs also uses it in its continuous integration platform to store
+Drone's job logs and a Nix binary cache.
*Are you using Garage? [Open a pull request](https://git.deuxfleurs.fr/Deuxfleurs/garage/) to add your organization here!*