n8n
Version:
n8n Workflow Automation Tool
343 lines (342 loc) • 8.46 kB
TypeScript
import convict from 'convict';
declare const config: convict.Config<{
database: {
type: string;
tablePrefix: string;
logging: {
enabled: boolean;
options: string;
maxQueryExecutionTime: number;
};
postgresdb: {
database: string;
host: string;
password: string;
port: number;
user: string;
schema: string;
poolSize: number;
ssl: {
enabled: boolean;
ca: string;
cert: string;
key: string;
rejectUnauthorized: boolean;
};
};
mysqldb: {
database: string;
host: string;
password: string;
port: number;
user: string;
};
sqlite: {
database: string;
enableWAL: boolean;
poolSize: number;
executeVacuumOnStartup: boolean;
};
};
credentials: {
overwrite: {
data: string;
endpoint: string;
};
defaultName: string;
};
workflows: {
defaultName: string;
onboardingFlowDisabled: boolean;
callerPolicyDefaultOption: string;
};
executions: {
process: string;
mode: string;
timeout: number;
maxTimeout: number;
saveDataOnError: string;
saveDataOnSuccess: string;
saveExecutionProgress: boolean;
saveDataManualExecutions: boolean;
pruneData: boolean;
pruneDataMaxAge: number;
pruneDataHardDeleteBuffer: number;
pruneDataIntervals: {
hardDelete: number;
softDelete: number;
};
pruneDataMaxCount: number;
};
queue: {
health: {
active: boolean;
port: number;
};
bull: {
prefix: string;
redis: {
db: number;
host: string;
password: string;
port: number;
timeoutThreshold: number;
username: string;
clusterNodes: string;
tls: boolean;
};
queueRecoveryInterval: number;
gracefulShutdownTimeout: number;
settings: {
lockDuration: number;
lockRenewTime: number;
stalledInterval: number;
maxStalledCount: number;
};
};
};
generic: {
timezone: string;
instanceType: string;
releaseChannel: string;
gracefulShutdownTimeout: number;
};
path: string;
host: string;
port: number;
listen_address: string;
protocol: string;
secure_cookie: boolean;
ssl_key: string;
ssl_cert: string;
editorBaseUrl: string;
security: {
restrictFileAccessTo: string;
blockFileAccessToN8nFiles: boolean;
audit: {
daysAbandonedWorkflow: number;
};
};
endpoints: {
payloadSizeMax: number;
metrics: {
enable: boolean;
prefix: string;
includeDefaultMetrics: boolean;
includeWorkflowIdLabel: boolean;
includeNodeTypeLabel: boolean;
includeCredentialTypeLabel: boolean;
includeApiEndpoints: boolean;
includeApiPathLabel: boolean;
includeApiMethodLabel: boolean;
includeApiStatusCodeLabel: boolean;
includeCacheMetrics: boolean;
includeMessageEventBusMetrics: boolean;
};
rest: string;
form: string;
formTest: string;
formWaiting: string;
webhook: string;
webhookWaiting: string;
webhookTest: string;
disableUi: boolean;
disableProductionWebhooksOnMainProcess: boolean;
additionalNonUIRoutes: string;
};
publicApi: {
disabled: boolean;
path: string;
swaggerUi: {
disabled: boolean;
};
};
workflowTagsDisabled: boolean;
userManagement: {
jwtSecret: string;
jwtSessionDurationHours: number;
jwtRefreshTimeoutHours: number;
isInstanceOwnerSetUp: boolean;
emails: {
mode: string;
smtp: {
host: string;
port: number;
secure: boolean;
startTLS: boolean;
auth: {
user: string;
pass: string;
serviceClient: string;
privateKey: string;
};
sender: string;
};
templates: {
invite: string;
passwordReset: string;
workflowShared: string;
credentialsShared: string;
};
};
authenticationMethod: string;
};
externalFrontendHooksUrls: string;
externalHookFiles: string;
nodes: {
include: undefined;
exclude: undefined;
errorTriggerType: string;
communityPackages: {
enabled: boolean;
};
};
logs: {
level: string;
output: string;
file: {
fileCountMax: number;
fileSizeMax: number;
location: string;
};
};
versionNotifications: {
enabled: boolean;
endpoint: string;
infoUrl: string;
};
templates: {
enabled: boolean;
host: string;
};
push: {
backend: string;
};
binaryDataManager: {
availableModes: string;
mode: string;
localStoragePath: string;
};
externalStorage: {
s3: {
host: string;
bucket: {
name: string;
region: string;
};
credentials: {
accessKey: string;
accessSecret: string;
};
};
};
externalSecrets: {
updateInterval: number;
preferGet: boolean;
};
deployment: {
type: string;
};
mfa: {
enabled: boolean;
};
sso: {
justInTimeProvisioning: boolean;
redirectLoginToSso: boolean;
saml: {
loginEnabled: boolean;
loginLabel: string;
};
ldap: {
loginEnabled: boolean;
loginLabel: string;
};
};
hiringBanner: {
enabled: boolean;
};
personalization: {
enabled: boolean;
};
diagnostics: {
enabled: boolean;
config: {
posthog: {
apiKey: string;
apiHost: string;
};
sentry: {
dsn: string;
};
frontend: string;
backend: string;
};
};
defaultLocale: string;
onboardingCallPrompt: {
enabled: boolean;
};
license: {
serverUrl: string;
autoRenewEnabled: boolean;
autoRenewOffset: number;
activationKey: string;
tenantId: number;
cert: string;
};
hideUsagePage: boolean;
eventBus: {
checkUnsentInterval: number;
logWriter: {
keepLogCount: number;
maxFileSizeInKB: number;
logBaseName: string;
};
crashRecoveryMode: string;
};
redis: {
prefix: string;
queueModeId: string;
};
cache: {
backend: string;
memory: {
maxSize: number;
ttl: number;
};
redis: {
prefix: string;
ttl: number;
};
};
ai: {
enabled: boolean;
provider: string;
openAI: {
apiKey: string;
model: string;
};
pinecone: {
apiKey: string;
};
};
expression: {
evaluator: string;
reportDifference: boolean;
};
sourceControl: {
defaultKeyPairType: string;
};
workflowHistory: {
enabled: boolean;
pruneTime: number;
};
multiMainSetup: {
instanceType: string;
enabled: boolean;
ttl: number;
interval: number;
};
proxy_hops: number;
}>;
export default config;