feat(garage): new chart for the Garage object store #82

Merged
jklein merged 4 commits from feat/garage-chart into main 2026-10-04 15:09:20 +02:00
3 changed files with 23 additions and 4 deletions
Showing only changes of commit 5d10b02458 - Show all commits

No files matched your search

+9
View File
@@ -92,7 +92,16 @@ data:
metadata_auto_snapshot_interval = "{{ $settings.metadataAutoSnapshotInterval }}"
block_size = "{{ $settings.blockSize }}"
# An integer is the zstd level; the literal "none" disables compression and
# has to be QUOTED to stay valid TOML. Garage's deserializer takes exactly
# those two forms - and 0 is not the second one: it is a valid integer that
# zstd reads as its default level (3), so writing 0 to "switch compression
# off" quietly turns it up.
{{- if kindIs "string" $settings.compressionLevel }}
compression_level = {{ $settings.compressionLevel | quote }}
{{- else }}
compression_level = {{ $settings.compressionLevel | int64 }}
{{- end }}
# Inter-node RPC. There are no other nodes here (no bootstrap_peers, no
# kubernetes_discovery - see values.yaml), but Garage binds this listener
+5 -3
View File
@@ -77,9 +77,11 @@
"minLength": 1
},
"compressionLevel": {
"description": "zstd level for stored blocks; 0 disables compression.",
"type": "integer",
"minimum": 0
"description": "zstd level for stored blocks, or the literal string \"none\" to disable compression. NOT 0 for disabling: Garage accepts 0 as an integer and zstd reads it as its default level (3), i.e. more compression than 1, not none. Negative integers are zstd's fast modes.",
"oneOf": [
{ "type": "integer" },
{ "type": "string", "enum": ["none"] }
]
},
"bindAddress": {
"description": "Host part of the S3, web and RPC listeners. '[::]' accepts IPv4 as well while net.ipv6.bindv6only is 0.",
+9 -1
View File
@@ -212,7 +212,15 @@ garage:
# Garage's defaults, exposed because they are the two knobs that trade disk
# against CPU. blockSize is the chunk size objects are split into;
# compressionLevel is the zstd level for stored blocks (1 = fast, higher =
# smaller, "none" is not a value here - set 0 to disable).
# smaller, negative levels are zstd's "fast" modes).
#
# TO DISABLE COMPRESSION, WRITE THE STRING "none" - and not 0, which is the
# trap this comment exists for: Garage's deserializer accepts an integer or
# the literal "none" (src/util/config.rs, deserialize_compression), and 0 is
# a perfectly valid integer that zstd reads as "use my default level", i.e.
# level 3 - MORE compression than the 1 below, not less. The schema therefore
# accepts an integer or exactly "none", and the ConfigMap quotes the string
# form so the rendered TOML stays valid.
blockSize: "1M"
compressionLevel: 1