• Stable v0.8.1 76230f2028

    Garage v0.8.1

    lx released this 1 month ago | 145 commits to main since this release

    This minor release includes a few improvements and fixes:

    • New /health and /v0/health admin API endpoints to check node health (#440)

    • Various CLI improvements, including new debug options for lost blocks (#448)

    • Refactoring of the Helm chart (#422, #446)

    • Properly enforce allow_create_bucket permission flag (#445, #447)

    • Fix crash on garage layout apply (#414, #429)

    • Fix router keyword handling with non-empty value (#442, #446)

    • Fix logs appearing twice (#435)

    • Make Git repository into a Nix flake (#424)

    • Many documentation updates

    Thanks to all of the contributors that have participated in this release: felix.scheinost, kaiyou, Maximilien R, Patrick Jahns, tompearson.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Stable v0.8.0 1e40c93fd0

    Garage v0.8.0

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

    This release is the final version of Garage v0.8.0. Most changes have already been listed in the release notes of v0.8.0 RC1 and RC2. Here are the main highlights of v0.8.0 compared to v0.7.3:

    • LMDB is now officially supported as an alternative database engine to replace Sled

    • Bucket size monitoring and quotas

    • Many improvements to background maintenance tasks, including scheduled automatic scrub of the data store

    • Significant performance improvements

    • Our experimental K2V API is included in release builds (though not activated if you haven't configured it)

    The following has changed since RC2:

    • Many documentation updates

    • OpenAPI specification of the Admin API (see https://garagehq.deuxfleurs.fr/api/garage-admin-v0.html for a rendered version)

    • Show a backtrace and a nice message when Garage panics

    • Added an experimental garage bucket cleanup-unfinished-uploads command to help remove unfinished multipart uploads when they take too much space.

    There is one known bug for this release:

    • #414: Panic during application of new cluster layout in 0.8.0-rc1. Please comment on the issue if you also had it, so that we know this is not an isolated case.

    Thanks to all of the contributors that have participated in this new version since v0.7.3: Alex, chemicstry, Jakub Jirutka, Maximilien, Quentin, Simon C, Tobias Krischer, Zorun.

    **Click here to get a binary release suited to your platform

    Downloads
     
  • Pre-Release v0.8.0-rc2 5254750658

    Garage v0.8.0 RC2

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

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

    • Shutdown properly on SIGTERM/SIGHUP and on Windows signals (#396)

    • Fix time calculations that made Garage panic in extreme scenarios (#398, thanks to Zorun for the intensive testing)

    • Add Helm chart for running Garage inside of Kubernetes (#331, thanks chemicstry and Maximilien)

    • Upgraded build toolchain with Rust >= 1.63.0 (#400)

    • Admin API and K2V API: return HTTP 204 No Content when appropriate (#376, #403, thanks Tobias Krischer for the contribution)

    • Add support for talking to Consul through HTTPS (#405)

    • Many documentation updates

    Thanks to all of the contributors for this release: Alex, chemicstry, Maximilien, Tobias Krischer, Zorun.

    Click here to get a binary release suited to your platform (scroll down to "extra builds")

    Downloads
     
  • Pre-Release v0.8.0-rc1 2197753dfd

    Garage v0.8.0 RC1

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

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

    • Ability to replace sled with lmdb or sqlite for the metadata storage (#284, #322)

    • K2V now included in official release builds, still as a technical
      preview (the API is unstable and might be subject to changes) (#302)

    • Bucket quotas (#71, #326)

    • Update to Netapp 0.5 with streaming body; stream data blocks to client
      as they are received (#343)

    • Improved monitoring of background tasks (#207, #332)

    • Scrub is scheduled automatically, can be paused/resumed/made faster or
      slower at runtime (#207, #255, #332)

    • Background block resync can be made faster or slower at runtime (#369)

    • Many computationally-intensive tasks have been moved to dedicated
      tokio threads for blocking tasks (#342)

    • Reduce lock contention in block manager (#342)

    • Less sensitive timeouts for RPC operations, avoiding nodes
      deconnecting or requests timing out on slow connections (#387)

    • Cleaner and better optimized handling of byte chunks with the bytes
      crate (#342, #343)

    • Many improvements in build system; cargo features for everything (#370, #372, #373)

    • HTTP servers (S3 API, K2V API, Admin API) are no longer mandatory: by
      removing the corresponding config section, they are simply not started (#354, #373)

    • pretty_env_logger is replaced by tracing_subscriber::fmt

    • Various API fixes (#227, #384, #389)

    • Fix the build version reported by the CLI (#328, #350, #352)

    • Fixed builds for non-amd64 platforms (#344, #345)

    • Provide multi-arch Docker containers (#375, #393)

    • Avoid using/propagating broken cluster layouts (#363, #364, #380)

    • Allow for hostnames in bootstrap_peers and rpc_public_addr (#353, #383)

    • Some documentation updates (not finished yet)

    Thanks to all of the contributors for this release: Alex, Quentin, Jakub Jirutka, Simon C.

    Click here to get a binary release suited to your platform (scroll down to "extra builds")

    Downloads
     
  • Stable v0.7.3 e8a52192d0

    Garage v0.7.3

    lx released this 5 months ago | 0 commits to dev0.7.3 since this release

    This minor release includes a small number of fixes:

    • The correct Garage version is now reported by garage --version
    • ARM and ARM64 builds now work
    • The Content-Type header is now set correctly in all JSON responses in the Admin and K2V API endpoints

    Warning. v0.7.3 is (unexpectedly) incompatible with v0.7.1. Make sure to update your entire cluster at once.

    Click here to get a binary release suited to your platform

    Downloads
     
  • Stable v0.7.2 b2a2d3859f

    Garage v0.7.2

    lx released this 5 months ago | 423 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 9 months ago | 430 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 10 months ago | 437 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 10 months ago | 451 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 11 months ago | 510 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