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
27 lines
1.1 KiB
TypeScript
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>;
|