@goatlab/node-backend 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,12 @@ export declare class RedisConnectionPool {
14
14
  /**
15
15
  * Get a Redis store from the pool. Creates a new KeyvRedis instance that uses
16
16
  * a shared Redis client if one exists, or creates a new client if not.
17
+ *
18
+ * For `rediss://` (TLS) URLs, automatically adds `tls: { rejectUnauthorized: false }`
19
+ * so that connections to Redis instances using non-public CA certificates (e.g., GCP
20
+ * Memorystore with Google-managed certs) work without disabling TLS validation
21
+ * process-wide via NODE_TLS_REJECT_UNAUTHORIZED.
22
+ *
17
23
  * @param connectionString The Redis connection string
18
24
  * @returns KeyvRedis store instance
19
25
  */
@@ -23,6 +23,12 @@ class RedisConnectionPool {
23
23
  /**
24
24
  * Get a Redis store from the pool. Creates a new KeyvRedis instance that uses
25
25
  * a shared Redis client if one exists, or creates a new client if not.
26
+ *
27
+ * For `rediss://` (TLS) URLs, automatically adds `tls: { rejectUnauthorized: false }`
28
+ * so that connections to Redis instances using non-public CA certificates (e.g., GCP
29
+ * Memorystore with Google-managed certs) work without disabling TLS validation
30
+ * process-wide via NODE_TLS_REJECT_UNAUTHORIZED.
31
+ *
26
32
  * @param connectionString The Redis connection string
27
33
  * @returns KeyvRedis store instance
28
34
  */
@@ -33,8 +39,18 @@ class RedisConnectionPool {
33
39
  // Create a new KeyvRedis instance that uses the existing client
34
40
  return new redis_1.default(entry.client);
35
41
  }
36
- // Create new connection - KeyvRedis will create the Redis client
37
- const store = new redis_1.default(connectionString);
42
+ // For rediss:// (TLS) URLs, pass per-connection TLS options to ioredis
43
+ // so we don't need the process-wide NODE_TLS_REJECT_UNAUTHORIZED=0 hack.
44
+ // GCP Memorystore Valkey uses Google-managed CA certs not in Node's default
45
+ // CA bundle, so rejectUnauthorized must be false for those connections.
46
+ const isTls = connectionString.startsWith('rediss://');
47
+ const store = isTls
48
+ ? new redis_1.default({
49
+ uri: connectionString,
50
+ tls: { rejectUnauthorized: false },
51
+ family: 4,
52
+ })
53
+ : new redis_1.default(connectionString);
38
54
  // @ts-expect-error - accessing private property to get the client
39
55
  const client = store.redis || store.client;
40
56
  this.pool.set(connectionString, {
@@ -1 +1 @@
1
- {"version":3,"file":"RedisConnectionPool.js","sourceRoot":"","sources":["../../src/cache/RedisConnectionPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedisConnectionPool.js","sourceRoot":"","sources":["../../src/cache/RedisConnectionPool.ts"],"names":[],"mappings":"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"}