2024-02-21 - 2025-02-21
Overview
11 releases published by 1 user
Pre-release
v1.1.0-rc1
Garage v1.1.0-RC1
Tag
v1.99.0-internal
Release
v1.0.1
Garage v1.0.1
Release
v1.0.0
Garage v1.0.0
Release
v0.9.4
Garage v0.9.4
Pre-release
v1.0.0-rc1
Garage v1.0.0 RC1
Release
v0.8.7
Garage v0.8.7
Release
v0.9.3
Garage v0.9.3
Release
v0.9.2
Garage v0.9.2
Release
v0.8.6
Garage v0.8.6
Tag
v0.9.2-rc1
116 pull requests merged by 28 users
Merged
#967 Implement all HTTP preconditions in GetObject/HeadObject
Merged
#937 fix crash in layout computation when changing all nodes of a zone to gateway mode
Merged
#966 web: implement x-amz-website-redirect-location
Merged
#960 implement STREAMING-*-PAYLOAD-TRAILER
Merged
#959 fix compilation warnings
Merged
#958 s3api: return Location in CompleteMultipartUpload (fix #852)
Merged
#957 block manager: avoid deadlock in fix_block_location (fix #845)
Merged
#956 Store data blocks only on nodes in the latest cluster layout version (fix #815)
Merged
#608 web_server.rs: Added bucket domain to observability
Merged
#954 s3 api: parse x-id query parameter and warn of any inconsistency (fix #822)
Merged
#953 cli: return info of all nodes when doing garage stats -a (fix #814)
Merged
#910 support redirection on s3 endpoint
Merged
#930 db-snapshot: Add error handling to metadata snapshot creation
Merged
#945 Admin API refactoring: convert existing commands to API requests (step 3)
Merged
#952 remove uses of #[async_trait]
Merged
#951 upgrade Rust compiler and Cargo dependencies
Merged
#950 compile with crane
Merged
#949 woodpecker: use parallel nix-build in debug builds
Merged
#947 split garage_api in garage_api_{common,s3,k2v,admin}
Merged
#946 table::insert_many: avoid failure with zero items (fix #915)
Merged
#943 admin refactoring: refactor CLI to use Admin API requests (step 2)
Merged
#939 admin API refactoring (step 1)
Merged
#942 api: better handling of helper errors to distinguish error codes
Merged
#941 Update doc/book/connect/repositories.md
Merged
#938 s3 api: make x-amz-meta-* headers lowercase (fix #844)
Merged
#932 snapshot: sqlite: use a subdirectory for consistency with LMDB
Merged
#919 Decrease write quorum for fully-replicated tables (buckets, API keys, ...)
Merged
#931 update nix crate to 0.29 and libc to 0.2.169
Merged
#933 db-snapshot: allow to set directory where snapshots are stored
Merged
#936 fix problems with CI doing work multiple times
Merged
#935 ci: fix woodpecker definitions to comply with woodpecker 3
Merged
#927 doc: Fix Nix devenv setup
Merged
#928 Fix all typos
Merged
#923 Helm chart: Add garage.existingConfigmap and replace garage.garage.toml with garage.garageTomlString
Merged
#924 update toolchain
Merged
#921 The version flag is required when applying a layout
Merged
#917 Fix #907
Merged
#918 update flake.lock
Merged
#912 woodpecker: use modern syntax for secrets (removes warning)
Merged
#908 feat: add use_local_tz configuration
Merged
#896 add extraVolumes and extraVolumeMounts to helm chart
Merged
#887 Update Python SDK documentation
Merged
#888 doc: update mastodon media header pruning section
Merged
#901 doc: add Triplebit's use-case
Merged
#898 fix bit/byte inversion in rpc secret error message
Merged
#881 Garage v1.0.1
Merged
#880 fix logic in garage layout skip-dead-nodes
+ fix typo (fix #879)
Merged
#877 Don't fetch old values in cross-partition transactional inserts
Merged
#873 KV: don't retrieve values for write ops
Merged
#875 Typo
Merged
#866 update compiler to Rust 1.77
Merged
#865 update crate time (fix #849)
Merged
#864 api servers: kill opened connections after SIGINT after 10s deadline (fix #806)
Merged
#863 fix build when lmdb feature is disabled (fix #800)
Merged
#861 layout: discard old info when it is completely out-of-date (fix #841)
Merged
#862 Quick start: mention Docker (replace #803)
Merged
#850 don't modify postobject request before validating policy
Merged
#855 Set "no read ahead" on LMDB to improve performances when "LMDB size" > "RAM size"
Merged
#846 Improve error message for malformed RPC secret key
Merged
#836 docs: Mise à jour d'un lien
Merged
#843 Add environment dict to helm chart.
Merged
#831 doc: fix typo
Merged
#817 add rpc_public_addr_subnet config option
Merged
#823 adding the ability to change the default podManagementPolicy for StatefulSets
Merged
#813 cli: clarify garage block
is node-local
Merged
#816 flake.nix: add rust-analyzer to devShells.full, expose devShells.full in shell.nix
Merged
#802 [fix-doc] fix broken references in documentation
Merged
#683 Garage v1.0
Merged
#799 fix typo in doc
Merged
#798 Garage v0.9.4
Merged
#796 jepsen testing of Garage v1.0.0-rc1
Merged
#795 [doc-units] document how interval value is parsed
Merged
#792 Fix unbounded buffering when one node has slower network
Merged
#793 CI: properly cleanup between garage integration tests
Merged
#791 Disable more K2V tests
Merged
#789 [disable-k2v-test] disable tests::k2v::test_poll_item as it is not 100% reliable
Merged
#787 checksum algorithms
Merged
#786 Fixes to garage_net peering manager
Merged
#785 Add marker files in data directories (fix #601)
Merged
#784 Add support to logging to syslog (based on patch by @jirutka)
Merged
#783 CLI: allow manipulating buckets by prefixes of their full IDs
Merged
#782 block refcount repair
Merged
#781 Update WinSCP link in documentation
Merged
#779 Use connection pooling in sqlite backend
Merged
#775 metadata db snapshotting
Merged
#774 disable_scrub
configuration option
Merged
#773 Doc: be slightly more critical of LMDB
Merged
#767 Remove Sled
Merged
#766 Remove migration path from Garage v0.5
Merged
#765 Refactoring of db engines
Merged
#750 ReplicationMode -> ConsistencyMode+ReplicationFactor
Merged
#730 SSE-C encryption
Merged
#763 allow utf-8 in headers + add test for object metadata
Merged
#760 refactor: remove max_write_errors and max_faults
Merged
#751 add request context helper
Merged
#758 Garage v0.8.7
Merged
#757 Garage v0.9.3
Merged
#756 Add API test + fix presigned requests
Merged
#755 Add talk on 2024-02-09 at capitoul.org
Merged
#749 doc: fix typo in connect/backup.md
Merged
#747 Bump version to v0.9.2
Merged
#746 Bump version to v0.8.6
Merged
#745 AWS signatures v4: don't actually check Content-Type is signed
Merged
#744 Backport AWS signature verification refactoring and fixes to v0.8.x
Merged
#740 Security: backport #737 to the v0.8.x branch
Merged
#741 Backport woodpecker CI to v0.8.x branch
Merged
#737 Fix potential timing side-channels in authentication mechanisms
Merged
#739 Docs: add default metrics_token in quick start + uniformize use of base64
Merged
#736 Mention deduplication and compression in features page
Merged
#735 Split presigned signature verification + fix conditions
Merged
#734 rewrite read_and_put_block as a series of steps with channels
Merged
#733 doc: reverse-proxy.md: Added section on caddy-fs-s3
Merged
#732 GetObject: split out handle_get_full (small refactoring)
Merged
#729 some refactoring on data read/write path
Merged
#728 Add node-global lock for bucket/key operations (fix #723)
Merged
#727 Minor typos & grammar fixes in docs
13 pull requests proposed by 8 users
Proposed
#731 WIP: Allow external HTTP client (Aerogramme testing)
Proposed
#820 refactor: make TableShardedReplication a thin wrapper around LayoutManager
Proposed
#826 WIP: Adding ente documentation
Proposed
#853 WIP: add metrics to the metadata engine
Proposed
#883 WIP: Automatically create node layout, keys and buckets
Proposed
#891 WIP: Compile on windows
Proposed
#903 WIP: replace some todo trees with disk-backed queues
Proposed
#906 WIP: Fjall DB engine
Proposed
#925 WIP: Windows support
Proposed
#948 WIP: Garage v2
Proposed
#961 WIP: add boto3 test for STREAMING-UNSIGNED-PAYLOAD-TRAILER
Proposed
#964 WIP: v1.99-internal version for Deuxfleurs use only
Proposed
#968 WIP: Garage v1.1.0
76 issues closed from 57 users
Closed
#804 If-Match Not Implemented for GET
Closed
#824 Add support for X-Amz-Content-Sha256: STREAMING-UNSIGNED-PAYLOAD-TRAILER
Closed
#955 Problème de 404
Closed
#852 garage omit Location in CompleteMultipartUploadResult cause minio js client failed to parse
Closed
#916 Cluster/layout migration status is wrong after removing nodes
Closed
#845 garage repair rebalance stops when encountering corrupted block
Closed
#815 avoid writing blocks to draining nodes ?
Closed
#822 Can't perform PutObject operation with current aws crates
Closed
#814 garage stats -a does not return stats from draining nodes
Closed
#665 Peut-on gérer les redirections ?
Closed
#547 Implement PutBucketWebsite > RedirectAllRequestsTo
Closed
#920 Metadata snapshot does not indicate an error even when disk is full
Closed
#934 Garage resync queue length just grows
Closed
#915 cleanup-incomplete-uploads fails with "Could not reach quorum of 2"
Closed
#940 GetKeyInfo causes panic if no query parameter is specified
Closed
#844 Metadata keys are returned with weird casing (instead of all-lowercase)
Closed
#926 Allow specifying destination for metadata snapshots
Closed
#900 Performance question
Closed
#876 stat_object
method needs unknown permissions
Closed
#922 gotemplating in helm chart causes errors with Argo CD deployments
Closed
#911 Garage cluster encounters resync problems and does not seem to recover
Closed
#913 Garage on k3s with # ssds < # nodes
Closed
#907 "Estimated available storage space cluster-wide" went down after adding capacity
Closed
#904 Question: How to forcefully delete a bucket
Closed
#909 extremely unstable on arm rpi4
Closed
#899 Lifecycle worker always start at UTC midnight
Closed
#890 Durability Concerns Regarding Disk Failure in Multi-Datacenter Deployments
Closed
#885 Question about metadata directory
Closed
#886 Connection refused for layout show or status
Closed
#897 "Messagepack decode error: wrong msgpack marker FixPos(0)"
Closed
#884 Migration 0.9.0 -> 1.0.1: Unable to decode persisted data file
Closed
#893 Question: best approach for low latency
Closed
#889 tree block ref tables contain data but there is no data stored
Closed
#811 influence RPC public address detection
Closed
#879 How to remove old dead nodes
Closed
#878 Roadmap
Closed
#859 support DNS resolution for *bind_addr*
Closed
#870 Unable to delete peer
Closed
#839 Slow GC
Closed
#849 Rust 1.80 breaks garage build
Closed
#806 Be more reactive to SIGTERM even if connections are open
Closed
#800 Build issue (0.9.4 / 1.0.0): fails to build when lmdb is disabled
Closed
#841 New node failing to sync after layout change
Closed
#825 ACL header get converted to x-amz-acl
Closed
#858 error 400 Bad Request, Authorization header malformed, unexpected scope
Closed
#821 Reduce FullTableReplication Write Quorum?
Closed
#840 License restrictions
Closed
#697 Unable to Connect Using AMP
Closed
#829 Bucket API alias not working
Closed
#828 Warnings spam on Docker setup
Closed
#361 Use SRPT scheduling to improve liveness when sending messages between peers
Closed
#812 Is there any risk in using Garage at a large scale?
Closed
#805 content-length
on HEAD
object
Closed
#797 merkle tree panic
Closed
#794 Helm chart version needs to be incremented along with app version
Closed
#788 Unbounded block buffering, was: nomad (lmdb / sqlite): inevitable OOM
Closed
#790 [feature request] Manage default pages directly within Guichet
Closed
#347 x-amz-checksum-algorithm for multipart uploads
Closed
#761 garage status
keeps displaying old IP for itself
Closed
#601 Check data_dir valid on startup
Closed
#368 Add support for logging to syslog
Closed
#644 Occasional reference counter mismatches
Closed
#780 Broken link in documentation to WinSCP
Closed
#772 segfault on startup
Closed
#776 change replication factor on a existing cluster?
Closed
#522 Helm installation - Pods don't auto-discover, no CRD
Closed
#769 JavaScript admin SDK npm
Closed
#768 JavaScript admin SD
Closed
#660 DB error: LMDB: MDB_READERS_FULL: Environment maxreaders limit reached
Closed
#602 SSE-C encryption
Closed
#754 garage craches on start
Closed
#752 pict-rs broken after upgrading from 0.9.0 to 0.9.2
Closed
#742 Cannot create a usable website bucket over s3
Closed
#743 Invalid RPC remote node identifier
Closed
#738 Can't perform PutObject operation
Closed
#723 Add a local lock on CreateBucket etc, as a temporary measure
105 issues created by 34 users
Opened
#738 Can't perform PutObject operation
Opened
#742 Cannot create a usable website bucket over s3
Opened
#743 Invalid RPC remote node identifier
Opened
#752 pict-rs broken after upgrading from 0.9.0 to 0.9.2
Opened
#754 garage craches on start
Opened
#759 Empty Multipart Uploads Fail
Opened
#761 garage status
keeps displaying old IP for itself
Opened
#762 Buildin on RISC-V
Opened
#768 JavaScript admin SD
Opened
#769 JavaScript admin SDK npm
Opened
#770 Version 0.93 breaks with x-amx-content-sha256 bad header?
Opened
#772 segfault on startup
Opened
#776 change replication factor on a existing cluster?
Opened
#777 Migrate all metrics under garage_ namespace
Opened
#778 LMDB: MDB_BAD_VALSIZE error
Opened
#780 Broken link in documentation to WinSCP
Opened
#788 Unbounded block buffering, was: nomad (lmdb / sqlite): inevitable OOM
Opened
#790 [feature request] Manage default pages directly within Guichet
Opened
#794 Helm chart version needs to be incremented along with app version
Opened
#797 merkle tree panic
Opened
#800 Build issue (0.9.4 / 1.0.0): fails to build when lmdb is disabled
Opened
#801 Unclear how to troubleshoot connection to Docker image
Opened
#804 If-Match Not Implemented for GET
Opened
#805 content-length
on HEAD
object
Opened
#806 Be more reactive to SIGTERM even if connections are open
Opened
#807 Missing admin openapi specification v1.0.0
Opened
#808 Cluster does not come up when Discovery fails
Opened
#809 Can not remove node when it is involved in an unfinished intermediate layout change
Opened
#810 garage block list-errors
shows errors after cluster layout change and node reboot
Opened
#811 influence RPC public address detection
Opened
#812 Is there any risk in using Garage at a large scale?
Opened
#814 garage stats -a does not return stats from draining nodes
Opened
#815 avoid writing blocks to draining nodes ?
Opened
#818 object expiration?
Opened
#821 Reduce FullTableReplication Write Quorum?
Opened
#822 Can't perform PutObject operation with current aws crates
Opened
#824 Add support for X-Amz-Content-Sha256: STREAMING-UNSIGNED-PAYLOAD-TRAILER
Opened
#825 ACL header get converted to x-amz-acl
Opened
#827 Metrics for capacity planning
Opened
#828 Warnings spam on Docker setup
Opened
#829 Bucket API alias not working
Opened
#830 Config: Look for garage.toml in the garage binary directory
Opened
#832 Expiring access keys
Opened
#833 alias query parameter matches only global alias, might be ambiguous
Opened
#834 COSI Driver for garage
Opened
#835 Improve OpenShift compatiblity
Opened
#837 Capacity vs DataAvail and going overboard
Opened
#838 Buckets with different replication factor
Opened
#839 Slow GC
Opened
#840 License restrictions
Opened
#841 New node failing to sync after layout change
Opened
#842 Instructions around data loss but meta data present
Opened
#844 Metadata keys are returned with weird casing (instead of all-lowercase)
Opened
#845 garage repair rebalance stops when encountering corrupted block
Opened
#848 Don't use random IVs for AES-GCM for SSE-C
Opened
#849 Rust 1.80 breaks garage build
Opened
#851 Performances collapse with 10 millions pictures in a bucket
Opened
#852 garage omit Location in CompleteMultipartUploadResult cause minio js client failed to parse
Opened
#856 Implement underlying information about LMDB database
Opened
#857 Metadata written infinitely
Opened
#858 error 400 Bad Request, Authorization header malformed, unexpected scope
Opened
#859 support DNS resolution for *bind_addr*
Opened
#867 Tracing context should be propagated from the upstream
Opened
#868 It's not obvious how to use Garage's nix-shell
Opened
#869 implement x-amz-website-redirect-location header
Opened
#870 Unable to delete peer
Opened
#871 Document how to debug Garage distroless container
Opened
#874 Document built-in caching behavior (or absence thereof)
Opened
#876 stat_object
method needs unknown permissions
Opened
#878 Roadmap
Opened
#879 How to remove old dead nodes
Opened
#882 Bucket aliases not getting deleted
Opened
#884 Migration 0.9.0 -> 1.0.1: Unable to decode persisted data file
Opened
#885 Question about metadata directory
Opened
#886 Connection refused for layout show or status
Opened
#889 tree block ref tables contain data but there is no data stored
Opened
#890 Durability Concerns Regarding Disk Failure in Multi-Datacenter Deployments
Opened
#892 Ask for key <=> block Mapping
Opened
#893 Question: best approach for low latency
Opened
#894 Disable timestamp in logging output
Opened
#895 Rclone says AccessDenied: Forbidden: Invalid signature
Opened
#897 "Messagepack decode error: wrong msgpack marker FixPos(0)"
Opened
#899 Lifecycle worker always start at UTC midnight
Opened
#900 Performance question
Opened
#902 Health endpoint reports OK status when node fails with no file descriptors available
Opened
#904 Question: How to forcefully delete a bucket
Opened
#905 Add the resync-tranquility command to the documentation
Opened
#907 "Estimated available storage space cluster-wide" went down after adding capacity
Opened
#909 extremely unstable on arm rpi4
Opened
#911 Garage cluster encounters resync problems and does not seem to recover
Opened
#913 Garage on k3s with # ssds < # nodes
Opened
#914 Documentation website menu has layout glitches
Opened
#915 cleanup-incomplete-uploads fails with "Could not reach quorum of 2"
Opened
#916 Cluster/layout migration status is wrong after removing nodes
Opened
#920 Metadata snapshot does not indicate an error even when disk is full
Opened
#922 gotemplating in helm chart causes errors with Argo CD deployments
Opened
#926 Allow specifying destination for metadata snapshots
Opened
#929 Pre-generate Node Id/keys
Opened
#934 Garage resync queue length just grows
Opened
#940 GetKeyInfo causes panic if no query parameter is specified
Opened
#944 Implement multiple admin API tokens
Opened
#955 Problème de 404
Opened
#962 Return part checksums in GetObject if checksum-mode: ENABLED
Opened
#963 Add CRC64NVME checksumming algorithm
Opened
#965 Ring not yet ready, read/writes will be lost!
16 unresolved conversations
Open
#417
Publish official helm chart on artifacthub
Open
#725
WIP: jepsen.garage nixos test
Open
#536
windows and mac builds
Open
#166
Support S3 versioning
Open
#179
have some kind of cache for frequently accessed blocks
Open
#232
Provide a web interface to administrate Garage
Open
#546
Question about auth systems integrations opinions
Open
#527
High load makes API unresponsive
Open
#675
Garage connects to Consul node address instead of service address when using agent API
Open
#450
Declarative bucket and key configuration
Open
#699
Proposal: decouple config structs used in garage and garage_model crates
Open
#310
require new nodes to be validated before being able to connect
Open
#420
expose bucket usage metrics
Open
#639
K2V PollItem test is not 100% reliable
Open
#127
libsodium-sys is deprecated
Open
#649
Race condition in CreateBucket