Files
c0py/packages/config/src/index.ts
T
admin aacbf3c3d6
CI (SIAX Cloud) / security (push) Successful in 12s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / contracts (pull_request) Successful in 16s
CI (SIAX Cloud) / contracts (push) Successful in 45s
CI (SIAX Cloud) / quality (push) Successful in 57s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m21s
fix(config): CL0UD_BASE_URL optional (disabled state until CL0UD machine surface exists)
2026-09-16 23:28:19 +02:00

27 lines
1.1 KiB
TypeScript

import { z } from "zod";
export const envSchema = z.object({
PORT: z.coerce.number().default(3000),
NODE_ENV: z.enum(["development", "production", "test"]).default("development"),
CL0UD_BASE_URL: z.string().url().optional(),
ZITADEL_ISSUER: z.string().url(),
ZITADEL_AUDIENCE: z.string(),
DATABASE_URL: z.string(),
ZITADEL_INTROSPECTION_CLIENT_ID: z.string().optional(),
ZITADEL_INTROSPECTION_CLIENT_SECRET: z.string().optional(),
ZITADEL_EXPECTED_AUDIENCE: z.string().optional(),
AUD0_BASE_URL: z.string().url().optional(),
AUD0_API_KEY: z.string().optional(),
ST0RE_BASE_URL: z.string().url().optional(),
INF0_BASE_URL: z.string().url().optional(),
N0D_BASE_URL: z.string().url().optional(),
CRAWL_TIMEOUT_MS: z.coerce.number().default(30000),
MAX_REGISTRY_PAGES: z.coerce.number().default(1000),
CAPTURE_WORKER: z.enum(["on", "off"]).default("on"),
CL0UD_API_TOKEN: z.string().optional(),
CL0UD_REQUIRED: z.enum(["true", "false"]).default("false"),
CL0UD_PROBE_INTERVAL_MS: z.coerce.number().default(300000),
});
export type Env = z.infer<typeof envSchema>;