• Stable v0.7.2 b2a2d3859f

    Garage v0.7.2

    lx released this 4 days ago | 5 commits to main since this release

    This release introduces a more complete API for administrative operations (#298), building upon the API endpoint that was introduced previously for exposing Prometheus metrics. Now, almost all operations accessible from the CLI (cluster layout management, bucket and access key management, ...) are also accessible using a REST API. Note that at this stage, there is no committement to the stability of these API endpoints. Documentation of these APIs in their current form can be found here.

    This release also contains code for a first iteration of the K2V storage service, which we designed to complement S3 for the storage of small values (#293). K2V is currently disabled at compile-time by default and is not distributed in the published binaries, as its API is still experimental and subject to changes. Special builds featuring K2V can be found in our "extra builds" section on the Download page, and can also be produced by activating the k2v Cargo feature flag. Specification of the K2V API in its current form can be found here.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Stable v0.7.1 def78c5e6f

    Garage v0.7.1

    lx released this 3 weeks ago | 12 commits to main since this release

    This minor release includes a few improvements and fixes:

    • remove size limitation in UploadPartCopy (#280)
    • defragmentation in UploadPartCopy (#286)
    • fix to garage layout show (#295)
    • netapp upgrade (#300)

    Click here to get a binary release suited to your platform

    Downloads
     
  • Stable v0.7.0 dffcd9f4b1

    Garage v0.7.0

    lx released this 2 months ago | 19 commits to main since this release

    The Garage team is very proud to announce the public release of our second Beta version of Garage, version 0.7.0. The main features of this new version are better Kubernetes integration and observability using OpenTelemetry; these features are discussed extensively on our blog.

    Changes in this release are mostly covered in the release notes for v0.7 RC1. The following patches were added:

    • Many documentation updates
    • Introduce new replication modes 2-dangerous, 3-degraded and 3-dangerous with different guarantees
    • Log GET requests on the admin endpoint at debug level to reduce noise
    • Add "blocks in errored state" to garage stats
    • Reduce maximum exponential backoff time for block resync
    • Updated netapp dependency to 0.4.2

    Thanks to all of the contributors for this release: Alex, Jill, Max Audron, Maximilien, Quentin, Rune Henrisken, Steam, and trinity-1686a.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Pre-Release v0.7.0-rc1 0cf4efac89

    Garage v0.7.0 RC1

    lx released this 2 months ago | 33 commits to main since this release

    This release is the first Release Candidate for Garage 0.7. Improvements in this version are the following:

    • Support for extracting metrics and traces through the opentelemetry framework (#111, #243)

    • Support for automatic discovery of nodes in a Kubernetes cluster (#241, #262, #269, #276)

    • Fixes in block manager: exponential backoff when errors happen, more aggressive fsync's to avoid losing data (#252, #256, #257, #259)

    • Updated Netapp that includes cross-node tracing support, as well as better detection of node failure scenarios (#243, #264, #268)

    • Handle streaming payload signatures in all requests with a body (#239, #247)

    • Improved test suite with many more functionnal tests (#240, #242, #261)

    • Fixes to the partition assignation algorithm (#266)

    • Documentation updates (#271, #272, #274, #275)

    Thanks to all of the contributors for this release: Alex, Jill, Max Audron, Maximilien, Quentin, Rune Henrisken, Steam, trinity-1686a

    Click here to get a binary release suited to your platform (the build is under "extra builds")

    Downloads
     
  • Stable v0.6.1 8a5bbc3b0b

    Garage v0.6.1

    lx released this 3 months ago | 92 commits to main since this release

    This small release introduces just a few changes:

    • static builds are now correctly produced for ARM platforms

    • implemented the POSTObject S3 API endpoint

    • discussions going on about CORS (see PR #254 and issue #258)

    Garage is still considered BETA QUALITY at this stage.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Stable v0.6.0 935670690f

    Garage v0.6.0 beta

    lx released this 4 months ago | 118 commits to main since this release

    The Garage team is extremely proud to announce the public release of our first Beta version of Garage, version 0.6.0.

    Garage is a distribute data storage system that implements the Amazon S3 API, and that ensures durability and redundancy by storing data on multiple server nodes in multiple geographical locations. This release marks a point where we believe enough core features of the S3 protocol are implemented and stable enough that we can recommend people to try it out.

    Changes in this release are mostly covered in the release notes for v0.6 RC1. The following patch was added:

    • Hide deleted key in bucket info (fix #211) (#216)

    Please get in touch if you are interested in trying out Garage, or if you are currently using it; we are very interested in your feedback! You can contact us by e-mail (garagehq@deuxfleurs.fr), on the Matrix network (#garage:deuxfleurs.fr), or by commenting on the issue tracker here on Gitea.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Pre-Release v0.6.0-rc1 c99f55c420

    Garage v0.6.0 RC1

    lx released this 4 months ago | 123 commits to main since this release

    This is only a release candidate (RC) that prepares for the eventual release of Garage v0.6, which will be our first official beta release.

    Highlights:

    • Overhaul of the way buckets are managed. Buckets may now have several names (called aliases), including names that are visible only when using a certain access key (called local aliases). This is non-standard but adds much flexibility that AWS S3 lacks. Compatibility with the S3 API is preserved in all cases.
    • Add an owner flag giving administrative privilege for access keys over buckets
    • New API endpoints: CreateBucket, DeleteBucket.
    • Implement a subset of S3's bucket website configurations, and implement corresponding API calls: {Put,Get,Delete}BucketWebsite
    • Implement S3 CORS configurations and corresponding API calls: {Put,Get,Delete}BucketCors
    • Support STREAMING-AWS4-HMAC-SHA256-PAYLOAD in PutObject
    • Implement compression of stored data using zstd
    • New API endpoints: ListMultipartUploads, ListParts, UploadPartCopy
    • Handle the partNumber query parameter in GetObject and HeadObject
    • Handle x-amz-copy-if-xxx headers in CopyObject and UploadPartCopy
    • Many more S3 API compatibility fixes, bug fixes, and improvement to the code base

    Click here to get a binary release suited to your platform (the build is under "extra builds")

    Downloads
     
  • Pre-Release v0.5.0 85b2e4ca29

    Garage v0.5.0

    lx released this 6 months ago | 191 commits to main since this release

    Highlights:

    • Improved cluster layout management on the command line. Adding and removing nodes now happens in two steps: nodes are added or removed from a staging area that prepares the next layout version, which is enacted all at once when all desired changes are included.

    • New algorithm to assign partitions to nodes. The assignation of individual partitions to nodes is now "stateful" and recorded in the layout description. This allows us to improve the quality of the assignation to better balance load between nodes and to reduce the quantity of data that moves around when nodes are added or removed.

    • Garage now supports vhost-style bucket addressing (the new S3 standard), in addition to path-style

    Click here to get a binary release suited to your platform

    Downloads
     
  • Pre-Release v0.4.0 08b1e8a7ea

    Garage v0.4.0

    lx released this 7 months ago | 206 commits to main since this release

    Highlights:

    • Clean build using Nix, static binaries available on https://garagehq.deuxfleurs.fr/_releases.html, much smaller Docker images

    • Replace RPC stack by Netapp (previously was using HTTP+TLS). The security model changed a lot, please read the new documentation.

    • Many improvements to the command line

    • Improvements to garbage collector

    • Improved documentation

    • New repair operation: scrub (reads all blocks on disk and checks the checksums)

    • Performance improvements in S3ListObjects

    • Performance improvements for read requests

    • Performance improvements for background operations such as block resync and scrub

    Click here to get a binary release suited to your platform

    Downloads
     
  • Pre-Release v0.3.0 b9127dd6f8

    Garage v0.3.0

    lx released this 1 year ago | 261 commits to main since this release

    Highlights:

    • Highly improved codebase and documentation quality

    • Garage can now work in 1-node and 2-node configurations thanks to a
      new parameter replication_mode that can be used to change
      replication to none or two-way replication

    • Support for gateway-only nodes (these nodes do not store data directly
      but they can be used in certain scenarios to make requests faster)

    • Datacenters are now called zones, as there are cases where it makes
      sense to have nodes in different physical locations belong to the same
      zone, and conversely

    • New command garage stats to inspect cluster status

    • New API endpoints: ListBuckets, GetBucketLocation, GetBucketVersioning

    • XML response are now made with a real serializer so they should be
      correct (several XML encoding bugs fixed)

    • S3 API now returns errors in XML format with codes similar to real S3
      return codes

    • Minio-client mostly works, preliminary support for Duck

    • Bootstrap & peer discovery improvements (peer list is now persisted to
      disk)

    • Sled by default uses smaller cache (128MB), and can now be changed in
      the config file

    Binaries are available for the following architectures:

    • aarch64 - (eg. Helios64)
    • x86_64 - (eg. your laptop or desktop computer)
    • armv7 - (eg. the Raspberry Pi 3 Model B)
    • arm
    Downloads