From d0f12ab6d6f4666b34a7f150425ebf2a96626efa Mon Sep 17 00:00:00 2001 From: flakey5 <73616808+flakey5@users.noreply.github.com> Date: Tue, 11 Aug 2026 14:25:53 -0700 Subject: [PATCH 1/2] src: enable kv directory listing for some dirs Enables kv-backed directory listing for every path other than mainline releases (`nodejs/release/`) in prod. Staging remains serving kv-backed listings for all paths. Signed-off-by: flakey5 <73616808+flakey5@users.noreply.github.com> --- src/env.ts | 5 +++++ src/providers/r2Provider.ts | 10 +++++++++- wrangler.jsonc | 11 +++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/env.ts b/src/env.ts index 080a2ef..ed4151b 100644 --- a/src/env.ts +++ b/src/env.ts @@ -21,6 +21,11 @@ export interface Env { */ USE_KV: boolean; + /** + * Temp list of directory prefixes that KV should be used for listing + */ + KV_DIRECTORIES?: Array; + /** * Endpoint to hit when using the S3 api. */ diff --git a/src/providers/r2Provider.ts b/src/providers/r2Provider.ts index d8eb449..3b5849e 100644 --- a/src/providers/r2Provider.ts +++ b/src/providers/r2Provider.ts @@ -107,7 +107,15 @@ export class R2Provider implements Provider { }); if (this.ctx.env.USE_KV) { - return await kvProvider.readDirectory(path); + if (this.ctx.env.KV_DIRECTORIES !== undefined) { + for (const prefix of this.ctx.env.KV_DIRECTORIES) { + if (path.startsWith(prefix)) { + return await kvProvider.readDirectory(path); + } + } + } else { + return await kvProvider.readDirectory(path); + } } let result: ReadDirectoryResult | undefined; diff --git a/wrangler.jsonc b/wrangler.jsonc index c2982b8..4a9c9b9 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -87,6 +87,17 @@ "S3_ENDPOINT": "https://07be8d2fbc940503ca1be344714cb0d1.r2.cloudflarestorage.com", "BUCKET_NAME": "dist-prod", "ORIGIN_HOST": "https://origin.nodejs.org", + "KV_DIRECTORIES": [ + "metrics/", + "nodejs/chakracore-nightly/", + "nodejs/chakracore-rc/", + "nodejs/chakracore-release/", + "nodejs/docs/", + "nodejs/nightly/", + "nodejs/rc/", + "nodejs/test/", + "nodejs/v8-canary/" + ] }, "r2_buckets": [ { From 6e4f5160771f412cdccf1cf14fdb01a2a0337619 Mon Sep 17 00:00:00 2001 From: flakey5 <73616808+flakey5@users.noreply.github.com> Date: Tue, 11 Aug 2026 15:27:42 -0700 Subject: [PATCH 2/2] enable USE_KV in prod Signed-off-by: flakey5 <73616808+flakey5@users.noreply.github.com> --- wrangler.jsonc | 1 + 1 file changed, 1 insertion(+) diff --git a/wrangler.jsonc b/wrangler.jsonc index 4a9c9b9..36f26c6 100644 --- a/wrangler.jsonc +++ b/wrangler.jsonc @@ -87,6 +87,7 @@ "S3_ENDPOINT": "https://07be8d2fbc940503ca1be344714cb0d1.r2.cloudflarestorage.com", "BUCKET_NAME": "dist-prod", "ORIGIN_HOST": "https://origin.nodejs.org", + "USE_KV": true, "KV_DIRECTORIES": [ "metrics/", "nodejs/chakracore-nightly/",