From 392534a6acb90148b7eb97531e54c311652b5927 Mon Sep 17 00:00:00 2001 From: nav Date: Wed, 13 May 2026 08:52:16 +0000 Subject: [PATCH] feat(guild): fail fast when center auth env is missing --- README.md | 7 +++++++ src/main.ts | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/README.md b/README.md index ed7a8ae..7f247b3 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,10 @@ Guild Node service for Fabric. - API skeleton (NestJS) - Chat domain models - Seq allocator and range query endpoints + +## Required env (startup hard checks) +- `CENTER_BASE_URL` +- `CENTER_API_KEY` +- `GUILD_NODE_ID` + +If any of the above is missing, service startup fails immediately. diff --git a/src/main.ts b/src/main.ts index d55d4a8..273f5c8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -6,7 +6,23 @@ import { AppModule } from './app.module'; import { createRequestContextMiddleware } from './common/request-context.middleware'; import { MetricsService } from './common/metrics.service'; +function requireEnv(name: string): string { + const value = process.env[name]; + if (!value || value.trim() === '') { + throw new Error(`Missing required env: ${name}`); + } + return value; +} + +function validateEnv(): void { + requireEnv('CENTER_BASE_URL'); + requireEnv('CENTER_API_KEY'); + requireEnv('GUILD_NODE_ID'); +} + async function bootstrap() { + validateEnv(); + const app = await NestFactory.create(AppModule); app.setGlobalPrefix('api'); const metrics = app.get(MetricsService);