From 4dfa42487f623a9385b0547906f1cd9edc5bd024 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Fri, 3 Apr 2026 19:48:33 -0500 Subject: [PATCH] feat: use managed Valkey with per-customer key prefix instead of in-cluster valkey --- src/lib/config.ts | 1 + src/routes/customers.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index fc56e1e..5559068 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -7,6 +7,7 @@ export const config = { dbUrl: process.env.DATABASE_URL!, doadminDbUrl: process.env.DOADMIN_DATABASE_URL!, jwtSecret: process.env.JWT_SECRET!, + managedValkeyUrl: process.env.MANAGED_VALKEY_URL!, }; for (const [key, val] of Object.entries(config)) { diff --git a/src/routes/customers.ts b/src/routes/customers.ts index e0aad0e..a0d55a7 100644 --- a/src/routes/customers.ts +++ b/src/routes/customers.ts @@ -113,11 +113,11 @@ export async function customerRoutes(app: FastifyInstance) { }); const jwtSecret = crypto.randomBytes(32).toString("hex"); const databaseUrl = `postgresql://${slug}:${user.password}@${PGBOUNCER_HOST}:${PGBOUNCER_PORT}/${slug}`; - const redisUrl = `redis://${namespace}-valkey:6379`; await createSecret(namespace, "lunarfront-secrets", { "database-url": databaseUrl, "jwt-secret": jwtSecret, - "redis-url": redisUrl, + "redis-url": config.managedValkeyUrl, + "redis-key-prefix": slug, }); await setStep("namespace", "done"); await setStep("secrets", "done");