Skip to content

Graphorin API reference v0.1.0


Graphorin API reference / @graphorin/server / config / ServerConfigSpec

Interface: ServerConfigSpec

Defined in: packages/server/src/config.ts:46

Stable

Properties

PropertyModifierTypeDefined in
auditreadonly{ cipher?: string; enabled: boolean; passphraseRef?: string; path?: string; }packages/server/src/config.ts:114
audit.cipher?readonlystringpackages/server/src/config.ts:118
audit.enabledreadonlybooleanpackages/server/src/config.ts:115
audit.passphraseRef?readonlystringpackages/server/src/config.ts:117
audit.path?readonlystringpackages/server/src/config.ts:116
authreadonly{ kind: "token" | "none"; pepperRef?: string; perIpFailureThreshold?: number; perIpLockoutMs?: number; tokenEnvironments: readonly string[]; tokenPrefix: string; }packages/server/src/config.ts:124
auth.kindreadonly"token" | "none"packages/server/src/config.ts:125
auth.pepperRef?readonlystringpackages/server/src/config.ts:126
auth.perIpFailureThreshold?readonlynumberpackages/server/src/config.ts:129
auth.perIpLockoutMs?readonlynumberpackages/server/src/config.ts:130
auth.tokenEnvironmentsreadonlyreadonly string[]packages/server/src/config.ts:128
auth.tokenPrefixreadonlystringpackages/server/src/config.ts:127
hardeningreadonly{ applyOnStart: boolean; refuseRoot: boolean; umask: number; }packages/server/src/config.ts:135
hardening.applyOnStartreadonlybooleanpackages/server/src/config.ts:136
hardening.refuseRootreadonlybooleanpackages/server/src/config.ts:137
hardening.umaskreadonlynumberpackages/server/src/config.ts:138
healthreadonly{ walWarnThresholdBytes: number; }packages/server/src/config.ts:145
health.walWarnThresholdBytesreadonlynumberpackages/server/src/config.ts:146
metricsreadonly{ enabled: boolean; path: string; requireAuth: boolean; }packages/server/src/config.ts:140
metrics.enabledreadonlybooleanpackages/server/src/config.ts:141
metrics.pathreadonlystringpackages/server/src/config.ts:142
metrics.requireAuthreadonlybooleanpackages/server/src/config.ts:143
observabilityreadonly{ logger: "json" | "pretty" | "silent"; }packages/server/src/config.ts:132
observability.loggerreadonly"json" | "pretty" | "silent"packages/server/src/config.ts:133
secretsreadonly{ source: SecretsSource; strict: boolean; }packages/server/src/config.ts:120
secrets.sourcereadonlySecretsSourcepackages/server/src/config.ts:121
secrets.strictreadonlybooleanpackages/server/src/config.ts:122
serverreadonly{ basePath: string; cors: { allowCredentials: boolean; allowHeaders: readonly string[]; allowMethods: readonly string[]; allowOrigins: readonly string[]; maxAgeSeconds: number; }; csrf: { cookieName: string; enabled: boolean; headerName: string; safeMethods: readonly string[]; }; host: string; idempotency: { checkBodyFingerprint: boolean; enabled: boolean; lruCacheSize: number; requireKey: IdempotencyRequireKeyMode; ttlSeconds: number; }; port: number; rateLimit: { enabled: boolean; perIpRequests: number; windowMs: number; }; shutdown: { drainTimeoutMs: number; }; sse: { enabled: boolean; keepAliveMs: number; path: string; }; stream: { disconnectGracePeriodMs: number; disconnectPolicy: "continue" | "pause-on-disconnect" | "abort-on-disconnect"; perConnectionQueueLimit: number; replayBuffer: { maxEvents: number; ttlSeconds: number; }; }; trustProxy: boolean; ws: { commentarySanitization: { applyToEvents: readonly string[]; policy: DeliveryCommentaryPolicyConfig; }; enabled: boolean; path: string; ticketTtlMs: number; }; }packages/server/src/config.ts:47
server.basePathreadonlystringpackages/server/src/config.ts:50
server.corsreadonly{ allowCredentials: boolean; allowHeaders: readonly string[]; allowMethods: readonly string[]; allowOrigins: readonly string[]; maxAgeSeconds: number; }packages/server/src/config.ts:51
server.cors.allowCredentialsreadonlybooleanpackages/server/src/config.ts:53
server.cors.allowHeadersreadonlyreadonly string[]packages/server/src/config.ts:55
server.cors.allowMethodsreadonlyreadonly string[]packages/server/src/config.ts:54
server.cors.allowOriginsreadonlyreadonly string[]packages/server/src/config.ts:52
server.cors.maxAgeSecondsreadonlynumberpackages/server/src/config.ts:56
server.csrfreadonly{ cookieName: string; enabled: boolean; headerName: string; safeMethods: readonly string[]; }packages/server/src/config.ts:58
server.csrf.cookieNamereadonlystringpackages/server/src/config.ts:60
server.csrf.enabledreadonlybooleanpackages/server/src/config.ts:59
server.csrf.headerNamereadonlystringpackages/server/src/config.ts:61
server.csrf.safeMethodsreadonlyreadonly string[]packages/server/src/config.ts:62
server.hostreadonlystringpackages/server/src/config.ts:48
server.idempotencyreadonly{ checkBodyFingerprint: boolean; enabled: boolean; lruCacheSize: number; requireKey: IdempotencyRequireKeyMode; ttlSeconds: number; }packages/server/src/config.ts:69
server.idempotency.checkBodyFingerprintreadonlybooleanpackages/server/src/config.ts:73
server.idempotency.enabledreadonlybooleanpackages/server/src/config.ts:70
server.idempotency.lruCacheSizereadonlynumberpackages/server/src/config.ts:74
server.idempotency.requireKeyreadonlyIdempotencyRequireKeyModepackages/server/src/config.ts:71
server.idempotency.ttlSecondsreadonlynumberpackages/server/src/config.ts:72
server.portreadonlynumberpackages/server/src/config.ts:49
server.rateLimitreadonly{ enabled: boolean; perIpRequests: number; windowMs: number; }packages/server/src/config.ts:64
server.rateLimit.enabledreadonlybooleanpackages/server/src/config.ts:65
server.rateLimit.perIpRequestsreadonlynumberpackages/server/src/config.ts:67
server.rateLimit.windowMsreadonlynumberpackages/server/src/config.ts:66
server.shutdownreadonly{ drainTimeoutMs: number; }packages/server/src/config.ts:76
server.shutdown.drainTimeoutMsreadonlynumberpackages/server/src/config.ts:77
server.ssereadonly{ enabled: boolean; keepAliveMs: number; path: string; }packages/server/src/config.ts:98
server.sse.enabledreadonlybooleanpackages/server/src/config.ts:99
server.sse.keepAliveMsreadonlynumberpackages/server/src/config.ts:101
server.sse.pathreadonlystringpackages/server/src/config.ts:100
server.streamreadonly{ disconnectGracePeriodMs: number; disconnectPolicy: "continue" | "pause-on-disconnect" | "abort-on-disconnect"; perConnectionQueueLimit: number; replayBuffer: { maxEvents: number; ttlSeconds: number; }; }packages/server/src/config.ts:80
server.stream.disconnectGracePeriodMsreadonlynumberpackages/server/src/config.ts:82
server.stream.disconnectPolicyreadonly"continue" | "pause-on-disconnect" | "abort-on-disconnect"packages/server/src/config.ts:81
server.stream.perConnectionQueueLimitreadonlynumberpackages/server/src/config.ts:87
server.stream.replayBufferreadonly{ maxEvents: number; ttlSeconds: number; }packages/server/src/config.ts:83
server.stream.replayBuffer.maxEventsreadonlynumberpackages/server/src/config.ts:84
server.stream.replayBuffer.ttlSecondsreadonlynumberpackages/server/src/config.ts:85
server.trustProxyreadonlybooleanpackages/server/src/config.ts:79
server.wsreadonly{ commentarySanitization: { applyToEvents: readonly string[]; policy: DeliveryCommentaryPolicyConfig; }; enabled: boolean; path: string; ticketTtlMs: number; }packages/server/src/config.ts:89
server.ws.commentarySanitizationreadonly{ applyToEvents: readonly string[]; policy: DeliveryCommentaryPolicyConfig; }packages/server/src/config.ts:93
server.ws.commentarySanitization.applyToEventsreadonlyreadonly string[]packages/server/src/config.ts:95
server.ws.commentarySanitization.policyreadonlyDeliveryCommentaryPolicyConfigpackages/server/src/config.ts:94
server.ws.enabledreadonlybooleanpackages/server/src/config.ts:90
server.ws.pathreadonlystringpackages/server/src/config.ts:91
server.ws.ticketTtlMsreadonlynumberpackages/server/src/config.ts:92
storagereadonly{ encryption: { cipher?: string; enabled: boolean; passphraseRef?: string; }; mode: "lib" | "server"; path: string; walCheckpointIntervalMs?: number; }packages/server/src/config.ts:104
storage.encryptionreadonly{ cipher?: string; enabled: boolean; passphraseRef?: string; }packages/server/src/config.ts:108
storage.encryption.cipher?readonlystringpackages/server/src/config.ts:110
storage.encryption.enabledreadonlybooleanpackages/server/src/config.ts:109
storage.encryption.passphraseRef?readonlystringpackages/server/src/config.ts:111
storage.modereadonly"lib" | "server"packages/server/src/config.ts:106
storage.pathreadonlystringpackages/server/src/config.ts:105
storage.walCheckpointIntervalMs?readonlynumberpackages/server/src/config.ts:107