From 4ef933bbe83989fc33994b53fd7213d423440151 Mon Sep 17 00:00:00 2001 From: Tomasz Pietrek Date: Mon, 17 Feb 2025 09:29:54 +0100 Subject: [PATCH 1/3] Fix kv release history date Signed-off-by: Tomasz Pietrek --- adr/ADR-8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adr/ADR-8.md b/adr/ADR-8.md index b98e6f9..757e771 100644 --- a/adr/ADR-8.md +++ b/adr/ADR-8.md @@ -19,7 +19,7 @@ | 4 | 2023-10-25 | Support compression | 2.10.0 | | 5 | 2024-06-05 | Add KV management | | | 6 | 2024-06-05 | Add Keys listers with filters | | -| 7 | 2025-02-23 | Add Max Age limit Markers, remove non direct gets | 2.11.0 | +| 7 | 2025-01-23 | Add Max Age limit Markers, remove non direct gets | 2.11.0 | ## Context From d4b459670dc66ac21a0d510f81f6cc6bffab5895 Mon Sep 17 00:00:00 2001 From: Tomasz Pietrek Date: Mon, 17 Feb 2025 09:49:22 +0100 Subject: [PATCH 2/3] Add stream metadata to KV Signed-off-by: Tomasz Pietrek --- adr/ADR-8.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/adr/ADR-8.md b/adr/ADR-8.md index 757e771..ca0fbe0 100644 --- a/adr/ADR-8.md +++ b/adr/ADR-8.md @@ -20,6 +20,7 @@ | 5 | 2024-06-05 | Add KV management | | | 6 | 2024-06-05 | Add Keys listers with filters | | | 7 | 2025-01-23 | Add Max Age limit Markers, remove non direct gets | 2.11.0 | +| 8 | 2025-02-17 | Add Metadata | 2.10.0 | ## Context @@ -320,6 +321,7 @@ A bucket is a Stream with these properties: * Allow Direct is always set to `true`. (It can be modified out-of-band only if desired, but not through KV bucket update.) * Placement is allowed * Republish is allowed + * Stream Metadata is allowed * If compression is requested in the configuration set `compression` to `s2` Enabling Limit Markers requires NATS Server with API level 1 or newer support (2.11+) and clients should assert this using the `$JS.API.INFO` call or similar means (not connected server version). @@ -357,6 +359,9 @@ Here is a full example of the `CONFIGURATION` bucket with compression enabled: "src": "repub.>", "dest": "dest.>", "headers_only": true + }, + "metadata": { + "encoding": "base64" } } ``` From d5f28265c7dbac0eb5f8bd1be03f053d165046ae Mon Sep 17 00:00:00 2001 From: Tomasz Pietrek Date: Mon, 17 Feb 2025 09:55:44 +0100 Subject: [PATCH 3/3] Remove read-after-write guarantees in KV ADR Signed-off-by: Tomasz Pietrek --- adr/ADR-8.md | 1 - 1 file changed, 1 deletion(-) diff --git a/adr/ADR-8.md b/adr/ADR-8.md index ca0fbe0..03bdb36 100644 --- a/adr/ADR-8.md +++ b/adr/ADR-8.md @@ -45,7 +45,6 @@ additional behaviors will come during the 1.x cycle. * Key deletes preserves history * Keys can be expired from the bucket based on a TTL, TTL is set for the entire bucket * Watching a specific key, ranges based on NATS wildcards, or the entire bucket for live updates - * Read-after-write safety * Valid keys are `\A[-/_=\.a-zA-Z0-9]+\z`, additionally they may not start or end in `.` * Valid buckets are `\A[a-zA-Z0-9_-]+\z` * Custom Stream Names and Stream ingest subjects to cater for different domains, mirrors and imports