env
All checks were successful
Build & Deploy KLZ Cables / build-and-deploy (push) Successful in 3m53s

This commit is contained in:
2026-01-28 01:00:30 +01:00
parent 2896556659
commit 407b2227b3
3 changed files with 10 additions and 6 deletions

View File

@@ -13,6 +13,9 @@ export async function register() {
// Initialize server services on boot // Initialize server services on boot
// We do this AFTER Sentry to ensure errors during service init are caught // We do this AFTER Sentry to ensure errors during service init are caught
const { validateConfig } = await import('@/lib/config');
validateConfig();
const { getServerAppServices } = await import('@/lib/services/create-services.server'); const { getServerAppServices } = await import('@/lib/services/create-services.server');
getServerAppServices(); getServerAppServices();
} }

View File

@@ -32,7 +32,7 @@ const getEnv = (key: string, defaultValue?: string): string | undefined => {
(trimmed.startsWith('"') && trimmed.endsWith('"'))) { (trimmed.startsWith('"') && trimmed.endsWith('"'))) {
return trimmed.slice(1, -1); return trimmed.slice(1, -1);
} }
if (trimmed !== '') return trimmed; return trimmed;
} }
return defaultValue; return defaultValue;
@@ -141,8 +141,12 @@ export function validateConfig() {
]; ];
for (const key of required) { for (const key of required) {
if (!getEnv(key)) { const value = getEnv(key);
throw new Error(`Missing required environment variable: ${key}`); if (!value) {
// In Next.js, process.env might not be a real object with enumerable keys in the bundle
// so we check the specific key directly
const rawValue = process.env[key];
throw new Error(`Missing required environment variable: ${key}. (getEnv: "${value}", process.env: "${rawValue}"). If this is set in your environment, ensure it is not being shadowed or cleared by the container runtime.`);
} }
} }
} }

View File

@@ -7,9 +7,6 @@ import { GlitchtipErrorReportingService } from './errors/glitchtip-error-reporti
import { NoopErrorReportingService } from './errors/noop-error-reporting-service'; import { NoopErrorReportingService } from './errors/noop-error-reporting-service';
import { PinoLoggerService } from './logging/pino-logger-service'; import { PinoLoggerService } from './logging/pino-logger-service';
import { config, getMaskedConfig, validateConfig } from '../config'; import { config, getMaskedConfig, validateConfig } from '../config';
// Validate configuration on server startup
validateConfig();
let singleton: AppServices | undefined; let singleton: AppServices | undefined;
export function getServerAppServices(): AppServices { export function getServerAppServices(): AppServices {