diff --git a/garage.md b/garage.md index 3ba18f3..fe60a8d 100644 --- a/garage.md +++ b/garage.md @@ -183,7 +183,7 @@ kubectl -n garage exec garage-garage-sfs-0 -- \ | `garage.dataFsync` | bool | `false` | Garage's default. A lost block is one object and is replaceable; a lost metadata write can take the index with it. Turning it on costs an `fsync` per written block. | | `garage.metadataAutoSnapshotInterval` | string | `"6h"` | Go-style duration. **The only consistent recovery point this deployment has.** An empty string is rejected by the schema; `null` falls back to the default, because switching the snapshots off is not a configuration this chart offers at factor 1. See [the window](#the-restore-window-is-two-snapshots-wide). | | `garage.blockSize` | string | `"1M"` | Chunk size objects are split into. | -| `garage.compressionLevel` | int | `1` | zstd level for stored blocks; `0` disables compression. | +| `garage.compressionLevel` | int or `"none"` | `1` | zstd level for stored blocks; negative values are zstd's fast modes. **To switch compression off, write the string `"none"` — not `0`.** Garage accepts an integer or the literal `"none"`, and `0` is a valid integer that zstd reads as *its* default level (3), i.e. **more** compression than `1`, not none. The schema rejects any other string, and the ConfigMap quotes the `"none"` form so the rendered TOML stays valid. | | `garage.bindAddress` | string | `"[::]"` | Host part of the S3, web and RPC listeners. Accepts IPv4 as well while `net.ipv6.bindv6only` is `0` — the Linux default, but a node sysctl the chart cannot see. | | `garage.adminBindAddress` | string | `"0.0.0.0"` | Host part of the **admin** listener, separate on purpose: all three probes use this port, and a probe that cannot connect would be a pod that never becomes Ready for a reason nothing in the manifest shows. On an IPv6-only cluster set `"[::]"`. | | `garage.ports.s3` / `.rpc` / `.web` / `.admin` | int | `3900` / `3901` / `3902` / `3903` | In **one** place: the ConfigMap renders them into `garage.toml`'s bind addresses and the StatefulSet renders them as `containerPort`s. The probes address the admin port by **name**, so they follow a change here. |