init push
This commit is contained in:
307
config/staging/config.json
Normal file
307
config/staging/config.json
Normal file
@@ -0,0 +1,307 @@
|
||||
{
|
||||
"env": "${APP_ENV}",
|
||||
"http": {
|
||||
"port": ${HTTP_PORT},
|
||||
"bodyLimit": ${HTTP_BODY_LIMIT},
|
||||
"timeouts": {
|
||||
"read": "${HTTP_READ_TIMEOUT}",
|
||||
"write": "${HTTP_WRITE_TIMEOUT}",
|
||||
"idle": "${HTTP_IDLE_TIMEOUT}",
|
||||
"request": "${HTTP_REQUEST_TIMEOUT}",
|
||||
"requestOverrides": "${HTTP_REQUEST_TIMEOUT_OVERRIDES}",
|
||||
"shutdown": "${HTTP_SHUTDOWN_TIMEOUT}"
|
||||
},
|
||||
"cors": {
|
||||
"allowOrigins": "${HTTP_CORS_ALLOW_ORIGINS}",
|
||||
"allowMethods": "${HTTP_CORS_ALLOW_METHODS}",
|
||||
"allowHeaders": "${HTTP_CORS_ALLOW_HEADERS}",
|
||||
"exposeHeaders": "${HTTP_CORS_EXPOSE_HEADERS}",
|
||||
"allowCredentials": ${HTTP_CORS_ALLOW_CREDENTIALS},
|
||||
"maxAge": ${HTTP_CORS_MAX_AGE}
|
||||
},
|
||||
"rateLimit": {
|
||||
"max": ${HTTP_RATE_LIMIT_MAX},
|
||||
"window": "${HTTP_RATE_LIMIT_WINDOW}",
|
||||
"endpoints": "${HTTP_RATE_LIMIT_ENDPOINTS}"
|
||||
},
|
||||
"security": {
|
||||
"hstsMaxAge": ${HTTP_SECURITY_HSTS_MAX_AGE}
|
||||
}
|
||||
},
|
||||
"database": {
|
||||
"mysql": {
|
||||
"dsn": "${MYSQL_DSN}",
|
||||
"maxOpenConns": ${MYSQL_MAX_OPEN_CONNS},
|
||||
"maxIdleConns": ${MYSQL_MAX_IDLE_CONNS},
|
||||
"connMaxLifetime": "${MYSQL_CONN_MAX_LIFETIME}",
|
||||
"connMaxIdleTime": "${MYSQL_CONN_MAX_IDLE_TIME}"
|
||||
}
|
||||
},
|
||||
"logging": {
|
||||
"level": "${LOG_LEVEL}",
|
||||
"format": "${LOG_FORMAT}"
|
||||
},
|
||||
"audit": {
|
||||
"queueSize": ${AUDIT_LOG_QUEUE_SIZE},
|
||||
"workers": ${AUDIT_LOG_WORKERS}
|
||||
},
|
||||
"email": {
|
||||
"provider": "${EMAIL_PROVIDER}",
|
||||
"mockDir": "${EMAIL_MOCK_DIR}"
|
||||
},
|
||||
"circuitBreaker": {
|
||||
"default": {
|
||||
"enabled": ${CB_DEFAULT_ENABLED},
|
||||
"maxRequests": ${CB_DEFAULT_MAX_REQUESTS},
|
||||
"interval": "${CB_DEFAULT_INTERVAL}",
|
||||
"bucketPeriod": "${CB_DEFAULT_BUCKET_PERIOD}",
|
||||
"timeout": "${CB_DEFAULT_TIMEOUT}",
|
||||
"minRequests": ${CB_DEFAULT_MIN_REQUESTS},
|
||||
"failureRatio": ${CB_DEFAULT_FAILURE_RATIO},
|
||||
"consecutiveFailures": ${CB_DEFAULT_CONSECUTIVE_FAILURES}
|
||||
},
|
||||
"microsoftSSO": {
|
||||
"enabled": ${CB_MICROSOFT_SSO_ENABLED},
|
||||
"maxRequests": ${CB_MICROSOFT_SSO_MAX_REQUESTS},
|
||||
"interval": "${CB_MICROSOFT_SSO_INTERVAL}",
|
||||
"bucketPeriod": "${CB_MICROSOFT_SSO_BUCKET_PERIOD}",
|
||||
"timeout": "${CB_MICROSOFT_SSO_TIMEOUT}",
|
||||
"minRequests": ${CB_MICROSOFT_SSO_MIN_REQUESTS},
|
||||
"failureRatio": ${CB_MICROSOFT_SSO_FAILURE_RATIO},
|
||||
"consecutiveFailures": ${CB_MICROSOFT_SSO_CONSECUTIVE_FAILURES}
|
||||
},
|
||||
"ses": {
|
||||
"enabled": ${CB_SES_ENABLED},
|
||||
"maxRequests": ${CB_SES_MAX_REQUESTS},
|
||||
"interval": "${CB_SES_INTERVAL}",
|
||||
"bucketPeriod": "${CB_SES_BUCKET_PERIOD}",
|
||||
"timeout": "${CB_SES_TIMEOUT}",
|
||||
"minRequests": ${CB_SES_MIN_REQUESTS},
|
||||
"failureRatio": ${CB_SES_FAILURE_RATIO},
|
||||
"consecutiveFailures": ${CB_SES_CONSECUTIVE_FAILURES}
|
||||
},
|
||||
"sqs": {
|
||||
"enabled": ${CB_SQS_ENABLED},
|
||||
"maxRequests": ${CB_SQS_MAX_REQUESTS},
|
||||
"interval": "${CB_SQS_INTERVAL}",
|
||||
"bucketPeriod": "${CB_SQS_BUCKET_PERIOD}",
|
||||
"timeout": "${CB_SQS_TIMEOUT}",
|
||||
"minRequests": ${CB_SQS_MIN_REQUESTS},
|
||||
"failureRatio": ${CB_SQS_FAILURE_RATIO},
|
||||
"consecutiveFailures": ${CB_SQS_CONSECUTIVE_FAILURES}
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"publicBaseURL": "${APP_PUBLIC_BASE_URL}",
|
||||
"passwordPepper": "${AUTH_PASSWORD_PEPPER}",
|
||||
"ipEncryptionKey": "${AUTH_IP_ENCRYPTION_KEY}",
|
||||
"defaultRole": "${AUTH_DEFAULT_ROLE}",
|
||||
"disableRegister": ${AUTH_DISABLE_REGISTER},
|
||||
"hash": {
|
||||
"time": ${AUTH_HASH_TIME},
|
||||
"memoryKB": ${AUTH_HASH_MEMORY_KB},
|
||||
"threads": ${AUTH_HASH_THREADS},
|
||||
"keyLen": ${AUTH_HASH_KEY_LEN}
|
||||
},
|
||||
"email": {
|
||||
"verifyTTL": "${AUTH_EMAIL_VERIFY_TTL}",
|
||||
"verifyURL": "${AUTH_EMAIL_VERIFY_URL}",
|
||||
"inviteTTL": "${AUTH_INVITE_TTL}"
|
||||
},
|
||||
"password": {
|
||||
"setURL": "${AUTH_SET_PASSWORD_URL}",
|
||||
"resetTTL": "${AUTH_PASSWORD_RESET_TTL}",
|
||||
"resetURL": "${AUTH_PASSWORD_RESET_URL}",
|
||||
"forgotEmailCooldown": "${AUTH_FORGOT_PASSWORD_EMAIL_COOLDOWN}",
|
||||
"forgotMinDuration": "${AUTH_FORGOT_PASSWORD_MIN_DURATION}",
|
||||
"forgotIPRateMax": ${AUTH_FORGOT_PASSWORD_IP_RATE_MAX},
|
||||
"forgotIPRateWindow": "${AUTH_FORGOT_PASSWORD_IP_RATE_WINDOW}",
|
||||
"loginIPRateMax": ${AUTH_LOGIN_IP_RATE_MAX},
|
||||
"loginIPRateWindow": "${AUTH_LOGIN_IP_RATE_WINDOW}"
|
||||
},
|
||||
"securityPin": {
|
||||
"resetTTL": "${AUTH_SECURITY_PIN_RESET_TTL}",
|
||||
"resetURL": "${AUTH_SECURITY_PIN_RESET_URL}",
|
||||
"forgotEmailCooldown": "${AUTH_FORGOT_SECURITY_PIN_EMAIL_COOLDOWN}",
|
||||
"forgotMinDuration": "${AUTH_FORGOT_SECURITY_PIN_MIN_DURATION}",
|
||||
"maxAttempts": ${AUTH_SECURITY_PIN_MAX_ATTEMPTS},
|
||||
"lockDuration": "${AUTH_SECURITY_PIN_LOCK_DURATION}",
|
||||
"actionTokenTTL": "${AUTH_SECURITY_PIN_ACTION_TOKEN_TTL}"
|
||||
},
|
||||
"jwt": {
|
||||
"accessSecret": "${AUTH_JWT_ACCESS_SECRET}",
|
||||
"refreshSecret": "${AUTH_JWT_REFRESH_SECRET}",
|
||||
"accessTTL": "${AUTH_JWT_ACCESS_TTL}",
|
||||
"refreshTTL": "${AUTH_JWT_REFRESH_TTL}",
|
||||
"refreshTotpTTL": "${AUTH_JWT_REFRESH_TOTP_TTL}",
|
||||
"cookie": {
|
||||
"domain": "${AUTH_JWT_COOKIE_DOMAIN}",
|
||||
"secure": ${AUTH_JWT_COOKIE_SECURE},
|
||||
"sameSite": "${AUTH_JWT_COOKIE_SAMESITE}",
|
||||
"accessName": "${AUTH_JWT_ACCESS_COOKIE}",
|
||||
"refreshName": "${AUTH_JWT_REFRESH_COOKIE}"
|
||||
}
|
||||
},
|
||||
"totp": {
|
||||
"challengeTTL": "${AUTH_TOTP_CHALLENGE_TTL}"
|
||||
},
|
||||
"sso": {
|
||||
"stateTTL": "${AUTH_SSO_STATE_TTL}",
|
||||
"successRedirect": "${AUTH_SSO_SUCCESS_REDIRECT}"
|
||||
},
|
||||
"webauthn": {
|
||||
"rpId": "${AUTH_WEBAUTHN_RP_ID}",
|
||||
"rpDisplayName": "${AUTH_WEBAUTHN_RP_DISPLAY_NAME}",
|
||||
"rpOrigins": "${AUTH_WEBAUTHN_RP_ORIGINS}",
|
||||
"challengeTTL": "${AUTH_WEBAUTHN_CHALLENGE_TTL}"
|
||||
}
|
||||
},
|
||||
"totp": {
|
||||
"issuer": "${TOTP_ISSUER}",
|
||||
"secretKey": "${TOTP_SECRET_KEY}"
|
||||
},
|
||||
"microsoftSSO": {
|
||||
"tenantId": "${MS_ENTRA_TENANT_ID}",
|
||||
"clientId": "${MS_ENTRA_CLIENT_ID}",
|
||||
"clientSecret": "${MS_ENTRA_CLIENT_SECRET}",
|
||||
"redirectUrl": "${MS_ENTRA_REDIRECT_URL}",
|
||||
"authority": "${MS_ENTRA_AUTHORITY}",
|
||||
"scopes": "${MS_ENTRA_SCOPES}"
|
||||
},
|
||||
"saml": {
|
||||
"certFile": "${SAML_CERT_FILE}",
|
||||
"keyFile": "${SAML_KEY_FILE}",
|
||||
"metadataFile": "${SAML_METADATA_FILE}",
|
||||
"rootUrl": "${SAML_ROOT_URL}",
|
||||
"frontendUrl": "${FRONTEND_URL}",
|
||||
"cookieDomain": "${COOKIE_DOMAIN}",
|
||||
"cookieSecure": ${COOKIE_SECURE},
|
||||
"sessionTTLHour": ${SESSION_TTL_HOUR}
|
||||
},
|
||||
"queue": {
|
||||
"messageSchemaVersion": "${QUEUE_MESSAGE_SCHEMA_VERSION}",
|
||||
"enableLegacyPayloadFallback": ${QUEUE_ENABLE_LEGACY_PAYLOAD_FALLBACK},
|
||||
"idempotencyKeyPrefix": "${QUEUE_IDEMPOTENCY_KEY_PREFIX}",
|
||||
"idempotencyTTL": "${QUEUE_IDEMPOTENCY_TTL}",
|
||||
"processingTTL": "${QUEUE_PROCESSING_TTL}",
|
||||
"worker": {
|
||||
"concurrency": ${QUEUE_WORKER_CONCURRENCY},
|
||||
"maxBatchSize": ${QUEUE_WORKER_MAX_BATCH_SIZE},
|
||||
"processTimeout": "${QUEUE_WORKER_PROCESS_TIMEOUT}",
|
||||
"shutdownTimeout": "${QUEUE_WORKER_SHUTDOWN_TIMEOUT}",
|
||||
"backoffMin": "${QUEUE_WORKER_BACKOFF_MIN}",
|
||||
"backoffMax": "${QUEUE_WORKER_BACKOFF_MAX}",
|
||||
"permanentFailureDelay": "${QUEUE_WORKER_PERMANENT_FAILURE_DELAY}",
|
||||
"monitorAddr": "${QUEUE_WORKER_MONITOR_ADDR}",
|
||||
"healthErrorThreshold": ${QUEUE_WORKER_HEALTH_ERROR_THRESHOLD},
|
||||
"depthPollInterval": "${QUEUE_WORKER_DEPTH_POLL_INTERVAL}"
|
||||
},
|
||||
"outbox": {
|
||||
"enabled": ${QUEUE_OUTBOX_ENABLED},
|
||||
"pollInterval": "${QUEUE_OUTBOX_POLL_INTERVAL}",
|
||||
"batchSize": ${QUEUE_OUTBOX_BATCH_SIZE},
|
||||
"dispatchTimeout": "${QUEUE_OUTBOX_DISPATCH_TIMEOUT}",
|
||||
"lockTTL": "${QUEUE_OUTBOX_LOCK_TTL}",
|
||||
"maxAttempts": ${QUEUE_OUTBOX_MAX_ATTEMPTS}
|
||||
}
|
||||
},
|
||||
"fileQueue": {
|
||||
"messageSchemaVersion": "${FILE_QUEUE_MESSAGE_SCHEMA_VERSION}",
|
||||
"idempotencyKeyPrefix": "${FILE_QUEUE_IDEMPOTENCY_KEY_PREFIX}",
|
||||
"idempotencyTTL": "${FILE_QUEUE_IDEMPOTENCY_TTL}",
|
||||
"processingTTL": "${FILE_QUEUE_PROCESSING_TTL}",
|
||||
"worker": {
|
||||
"concurrency": ${FILE_QUEUE_WORKER_CONCURRENCY},
|
||||
"maxBatchSize": ${FILE_QUEUE_WORKER_MAX_BATCH_SIZE},
|
||||
"processTimeout": "${FILE_QUEUE_WORKER_PROCESS_TIMEOUT}",
|
||||
"shutdownTimeout": "${FILE_QUEUE_WORKER_SHUTDOWN_TIMEOUT}",
|
||||
"backoffMin": "${FILE_QUEUE_WORKER_BACKOFF_MIN}",
|
||||
"backoffMax": "${FILE_QUEUE_WORKER_BACKOFF_MAX}",
|
||||
"permanentFailureDelay": "${FILE_QUEUE_WORKER_PERMANENT_FAILURE_DELAY}",
|
||||
"monitorAddr": "${FILE_QUEUE_WORKER_MONITOR_ADDR}",
|
||||
"healthErrorThreshold": ${FILE_QUEUE_WORKER_HEALTH_ERROR_THRESHOLD},
|
||||
"depthPollInterval": "${FILE_QUEUE_WORKER_DEPTH_POLL_INTERVAL}"
|
||||
},
|
||||
"outbox": {
|
||||
"enabled": ${FILE_QUEUE_OUTBOX_ENABLED},
|
||||
"pollInterval": "${FILE_QUEUE_OUTBOX_POLL_INTERVAL}",
|
||||
"batchSize": ${FILE_QUEUE_OUTBOX_BATCH_SIZE},
|
||||
"dispatchTimeout": "${FILE_QUEUE_OUTBOX_DISPATCH_TIMEOUT}",
|
||||
"lockTTL": "${FILE_QUEUE_OUTBOX_LOCK_TTL}",
|
||||
"maxAttempts": ${FILE_QUEUE_OUTBOX_MAX_ATTEMPTS}
|
||||
}
|
||||
},
|
||||
"aws": {
|
||||
"region": "${AWS_REGION}",
|
||||
"accessKeyId": "${AWS_ACCESS_KEY_ID}",
|
||||
"secretAccessKey": "${AWS_SECRET_ACCESS_KEY}",
|
||||
"sqs": {
|
||||
"endpoint": "${SQS_ENDPOINT}",
|
||||
"allowInsecureEndpoint": ${SQS_ALLOW_INSECURE_ENDPOINT},
|
||||
"queueUrl": "${SQS_QUEUE_URL}",
|
||||
"queueType": "${SQS_QUEUE_TYPE}",
|
||||
"messageGroupId": "${SQS_MESSAGE_GROUP_ID}",
|
||||
"maxMessages": ${SQS_MAX_MESSAGES},
|
||||
"waitTimeSeconds": ${SQS_WAIT_TIME_SECONDS},
|
||||
"visibilityTimeout": "${SQS_VISIBILITY_TIMEOUT}"
|
||||
},
|
||||
"fileSqs": {
|
||||
"region": "${FILE_SQS_REGION}",
|
||||
"endpoint": "${FILE_SQS_ENDPOINT}",
|
||||
"allowInsecureEndpoint": ${FILE_SQS_ALLOW_INSECURE_ENDPOINT},
|
||||
"queueUrl": "${FILE_SQS_QUEUE_URL}",
|
||||
"queueType": "${FILE_SQS_QUEUE_TYPE}",
|
||||
"messageGroupId": "${FILE_SQS_MESSAGE_GROUP_ID}",
|
||||
"maxMessages": ${FILE_SQS_MAX_MESSAGES},
|
||||
"waitTimeSeconds": ${FILE_SQS_WAIT_TIME_SECONDS},
|
||||
"visibilityTimeout": "${FILE_SQS_VISIBILITY_TIMEOUT}"
|
||||
},
|
||||
"ses": {
|
||||
"region": "${SES_REGION}",
|
||||
"from": "${SES_FROM}",
|
||||
"configurationSet": "${SES_CONFIGURATION_SET}",
|
||||
"sendTimeout": "${SES_SEND_TIMEOUT}",
|
||||
"endpoint": "${SES_ENDPOINT}",
|
||||
"allowInsecureEndpoint": ${SES_ALLOW_INSECURE_ENDPOINT}
|
||||
}
|
||||
},
|
||||
"file": {
|
||||
"provider": "${FILE_STORAGE_PROVIDER}",
|
||||
"s3": {
|
||||
"bucket": "${FILE_S3_BUCKET}",
|
||||
"region": "${FILE_S3_REGION}",
|
||||
"endpoint": "${FILE_S3_ENDPOINT}",
|
||||
"forcePathStyle": ${FILE_S3_FORCE_PATH_STYLE},
|
||||
"allowInsecureEndpoint": ${FILE_S3_ALLOW_INSECURE_ENDPOINT},
|
||||
"autoCreateBucket": ${FILE_S3_AUTO_CREATE_BUCKET},
|
||||
"objectKeyPrefix": "${FILE_OBJECT_KEY_PREFIX}",
|
||||
"presignPutTTL": "${FILE_S3_PRESIGN_PUT_TTL}",
|
||||
"presignGetTTL": "${FILE_S3_PRESIGN_GET_TTL}"
|
||||
},
|
||||
"upload": {
|
||||
"maxSize": ${FILE_MANAGER_UPLOAD_MAX_FILE_SIZE_BYTES},
|
||||
"allowedMimeTypes": "${FILE_MANAGER_UPLOAD_ALLOWED_MIME_TYPES}",
|
||||
"allowedExtensions": "${FILE_MANAGER_UPLOAD_ALLOWED_EXTENSIONS}",
|
||||
"allowEmptyFile": ${FILE_MANAGER_UPLOAD_ALLOW_EMPTY_FILE},
|
||||
"maxFilenameLength": ${FILE_MANAGER_UPLOAD_MAX_FILENAME_LENGTH}
|
||||
},
|
||||
"cleanup": {
|
||||
"enableS3Tagging": ${ENABLE_S3_TAGGING},
|
||||
"enableCleanupJob": ${ENABLE_FILE_CLEANUP_JOB},
|
||||
"tempFileTTLDays": ${TEMP_FILE_TTL_DAYS},
|
||||
"orphanGracePeriodDays": ${ORPHAN_GRACE_PERIOD_DAYS},
|
||||
"batchSize": ${FILE_CLEANUP_BATCH_SIZE},
|
||||
"dryRun": ${FILE_CLEANUP_DRY_RUN}
|
||||
}
|
||||
},
|
||||
"wopi": {
|
||||
"tokenSecret": "${WOPI_TOKEN_SECRET}",
|
||||
"proofSecret": "${WOPI_PROOF_SECRET}",
|
||||
"discoveryUrl": "${WOPI_DISCOVERY_URL}",
|
||||
"publicBaseUrl": "${WOPI_PUBLIC_BASE_URL}",
|
||||
"editActionUrl": "${WOPI_EDIT_ACTION_URL}",
|
||||
"tokenTTL": "${WOPI_TOKEN_TTL}",
|
||||
"maxBodyBytes": ${WOPI_MAX_BODY_BYTES},
|
||||
"requireProof": ${WOPI_REQUIRE_PROOF}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user