S3-compatible object store for small self-hosted geo-distributed deployments
Go to file
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
doc add support for kubernetes service discovery 2022-03-12 13:05:52 +01:00
nix Test WinSCP 2022-03-03 14:29:10 +01:00
script Functional tests for admin commands 2022-03-07 17:32:07 +01:00
src add support for kubernetes service discovery 2022-03-12 13:05:52 +01:00
.dockerignore Build Docker image 2020-06-30 17:18:42 +02:00
.drone.yml Add integration tests to Drone 2022-02-10 17:55:50 +01:00
.gitattributes Add FOSDEM talk and move all .pdf files to Git LFS 2022-02-16 20:01:36 +01:00
.gitignore Work on API 2020-04-28 10:18:14 +00:00
Cargo.lock add support for kubernetes service discovery 2022-03-12 13:05:52 +01:00
Cargo.nix add support for kubernetes service discovery 2022-03-12 13:05:52 +01:00
Cargo.toml Skeleton to the new web API 2020-11-02 15:48:39 +01:00
Dockerfile Extract toolchain build from the CI 2021-10-29 11:34:01 +02:00
LICENSE Switch to AGPL 2021-03-16 16:35:46 +01:00
Makefile Build Garage with Nix 2021-10-19 16:56:07 +02:00
README.md Improve how node roles are assigned in Garage 2021-11-16 16:05:53 +01:00
default.nix Force static builds for all platforms 2022-02-24 16:12:37 +01:00
rustfmt.toml Fix the Sync issue. Details: 2020-04-10 22:01:48 +02:00
shell.nix add support for kubernetes service discovery 2022-03-12 13:05:52 +01:00

README.md

Garage Build Status

Garage logo

[ Website and documentation | Binary releases | Git repository | Matrix channel ]

Garage is a lightweight S3-compatible distributed object store, with the following goals:

  • As self-contained as possible
  • Easy to set up
  • Highly resilient to network failures, network latency, disk failures, sysadmin failures
  • Relatively simple
  • Made for multi-datacenter deployments

Non-goals include:

  • Extremely high performance
  • Complete implementation of the S3 API
  • Erasure coding (our replication model is simply to copy the data as is on several nodes, in different datacenters if possible)

Our main use case is to provide a distributed storage layer for small-scale self hosted services such as Deuxfleurs.