Перейти до основного вмісту

Конфігурація

Платформа має ієрархічну структуру визначення пріоритетів конфігураційних параметрів:

  1. Файл конфігурації, який знаходиться за шляхом - {homedir}/.x-fiber/{configuration-file-name}.json
  2. Файл конфігурації, який знаходиться в корні проекта за шляхом - {processdir}/config/${configuration-file-name}.json,
  3. Параметри, за замовчуванням, які визначені всередині ядер платформи.

Якщо параметр визначений в різних файлах, то платформа візьме той параметр, конфігураційний файл, який вищий по пріорітету.

Файл конфігурації домашньої директорії

Файл конфігурації директорії проекту

Перелік конфігураційних параметрів

Ядро обчислень

Зʼєднувачі

Ядро обчислень дозволяє конфігурувати наступними види зʼєднувачів:

MongoDB

ШляхТипЗнач. за
замовч.
Опис
connectors.mongodb.enablebooleanfalseОзнака підключення зʼєднувача з MongoDB NoSQL базою даних.
connectors.mongodb.databasestringdefaultНазва бази даних.
connectors.mongodb.connect.protocolstringmongodbТип протоколу url шляху до бази даних.
connectors.mongodb.connect.hoststring0.0.0.0Хост url шляху до бази даних.
connectors.mongodb.connect.portnumber27017Порт url шляху до бази даних.
connectors.mongodb.auth.usernamestring' 'Імʼя користувача, під яким будет відбуватись авторизація в базі даних.
connectors.mongodb.auth.passwordstring' 'Пароль користувача, під яким будет відбуватись авторизація в базі даних.
connectors.mongodb.options.bufferCommandsbooleanundefinedЧи слід використовувати буферизацію команд для всіх моделей, пов'язаних з цим підключенням. Якщо встановлено в false, Mongoose не буде буферизувати команди і може виникнути ситуація, коли колбеки не виконуються.
connectors.mongodb.options.autoIndexbooleanundefinedЧи слід автоматично створювати індекси для всіх моделей, пов'язаних з цим підключенням. Якщо встановлено в false, автоматичне створення індексів буде вимкнено.
connectors.mongodb.options.autoCreatebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.enablebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.tlsCertificateKeyFilebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.tlsCertificateKeyFilePasswordbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.tlsCAFilebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.tlsAllowInvalidCertificatesbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.tls.tlsInsecurebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.replicaSetstringundefinedНазва групи реплік replicas.
connectors.mongodb.options.replicatesArray<{
host: string, number: string}>
[]Масив обʼєктів з хостом та портом підключення до replicas.
connectors.mongodb.options.connectTimeoutMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.socketTimeoutMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.zlibCompressionLevelbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.maxPoolSizebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.minPoolSizebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.maxConnectingbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.maxIdleTimeMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.waitQueueTimeoutMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.serverSelectionTimeoutMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.heartbeatFrequencyMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.minHeartbeatFrequencyMSbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.retryReadsbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.retryWritesbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.readConcernLevelbooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
connectors.mongodb.options.readPreferencebooleanundefinedЧи має Mongoose автоматично викликати createCollection() для кожної моделі, створеної на цьому з'єднанні. Якщо встановлено в true, Mongoose автоматично створюватиме колекції для моделей .
readConcernLevel

readonly
local: "local";
readonly
majority: "majority";
readonly
linearizable: "linearizable";
readonly
available: "available";
readonly
snapshot: "snapshot";
readPreference

readonly
primary: "primary";
readonly
primaryPreferred: "primaryPreferred";
readonly
secondary: "secondary";
readonly
secondaryPreferred: "secondaryPreferred";
readonly
nearest: "nearest";

Redis

ШляхТипЗнач. за
замовч.
Опис
connectors.redis.enablebooleanfalseОзнака підключення зʼєднувача з MongoDB NoSQL базою даних.
connectors.redis.connect.protocolstringredisТип протоколу url шляху до Redis.
connectors.redis.connect.hoststring0.0.0.0Хост url шляху до Redis.
connectors.redis.connect.portnumber6379Порт url шляху до Redis.
connectors.redis.options.keyPrefixstring' 'Дозволяє задати префікс для всіх ключів, які зберігаються в Redis.
connectors.redis.options.showFriendlyErrorStackbooleanfalseОзнака потреби виводити дружелюбні помилки повʼязаних з Redis.
connectors.redis.options.common.commandTimeoutnumberundefined
connectors.redis.options.common.keepAlivenumberundefined
connectors.redis.options.common.noDelaybooleanundefined
connectors.redis.options.common.connectionNameconnectionNameundefined
connectors.redis.options.common.usernamestringundefined
connectors.redis.options.common.passwordstringundefined
connectors.redis.options.common.autoResubscribebooleanundefined
connectors.redis.options.common.autoResendUnfulfilledCommandsbooleanundefined
connectors.redis.options.common.connectTimeoutnumberundefined
connectors.redis.options.common.maxRetriesPerRequestnumber / nullundefined
connectors.redis.options.common.maxLoadingRetryTimenumberundefined
connectors.redis.options.common.enableAutoPipeliningbooleanundefined
connectors.redis.options.common.autoPipeliningIgnoredCommandsstring[]undefined
connectors.redis.options.common.enableOfflineQueuebooleanundefined
connectors.redis.options.common.enableReadyCheckbooleanundefined
connectors.redis.options.sentinel.namestringundefined
connectors.redis.options.sentinel.rolestringundefinedRole master / slave
connectors.redis.options.sentinel.sentinelUsernamestringundefined
connectors.redis.options.sentinel.sentinelPasswordstringundefined
connectors.redis.options.sentinel.sentinelsArray<{ port: number;host: string;family?: number;}>undefined
connectors.redis.options.sentinel.connectTimeoutnumberundefined
connectors.redis.options.sentinel.disconnectTimeoutnumberundefined
connectors.redis.options.sentinel.sentinelCommandTimeoutnumberundefined
connectors.redis.options.sentinel.enableTLSForSentinelModebooleanundefined
connectors.redis.options.sentinel.updateSentinelsbooleanundefined
connectors.redis.options.sentinel.sentinelMaxConnectionsnumberundefined
connectors.redis.options.sentinel.failoverDetectorbooleanundefined
connectors.redis.options.standalone.disconnectTimeoutnumberundefined

TypeORM

ШляхТипЗнач. за
замовч.
Опис
connectors.typeorm.enablebooleanfalseОзнака підключення зʼєднувача TypeORM з базою даних.
connectors.typeorm.connect.dbTypestringpostgresТип SQL бази даних.
connectors.typeorm.connect.protocolstringhttpТип протоколу url шляху до бази даних.
connectors.typeorm.connect.hoststring0.0.0.0Хост url шляху до бази даних.
connectors.typeorm.connect.portnumber5432Порт url шляху до бази даних.
connectors.typeorm.connect.databasestring' 'Назва бази даних.
connectors.typeorm.connect.schemastringpublicНазва схеми бази даних.
connectors.typeorm.auth.usernamestringpostgresІмʼя користувача, під яким будет відбуватись авторизація в базі даних.
connectors.typeorm.auth.passwordstringpostgresПароль користувача, під яким будет відбуватись авторизація в базі даних.

Адаптери

Ядро обчислень дозволяє конфігурувати наступні види адаптерів:

HTTP Adapter

ШляхТипЗнач. за
замовч.
Опис
adapters.http.enablebooleantrueОзнака підключення http адаптера ядра обчислень.
adapters.http.kindenumfastifyТип http фреймворку, який буде задіяний в роботі ядра обчислень, наразі доступний лише fastify, в послідуючому будуть доступні express, hapi.
adapters.http.serverTagstringANONYMOUS_01Унікальна назва ядра обчислень, яке повинно бути унікальним при використанні групи ядер обчислень, оскільки воно використовується в логувані та трейсінгу.
adapters.http.protocolstringhttpТип протоколу, може бути http або https
adapters.http.hoststring0.0.0.0Хост url шляху доступу до http веб-сервера.
adapters.http.portnumber11010Порт url шляху доступу до http веб-сервера.
adapters.http.https.keystring' 'Шлях до файлу закритого ключа.
adapters.http.https.certstring' 'Шлях до сертифікату.
adapters.http.fastify.connectionTimeoutnumberundefinedЧас очікування (в мілісекундах), після якого Fastify розірве зʼєднання з клієнтом, якщо клієнт не відповів.
adapters.http.fastify.keepAliveTimeoutnumberundefinedЧас очікування (в мілісекундах), між запитами на цьому ж сокеті. Це час, напротязі якого Fastify очікує, наступного запиту від клієнта на цьому ж зʼєднанні.
adapters.http.fastify.maxRequestsPerSocketnumberundefinedМаксимальна кількість запитів, які Fastify дозволить обробляти на одному сокеті до його закриття.
adapters.http.fastify.forceCloseConnectionsbooleanundefinedЯкщо встановлено в true, Fastify закриє з'єднання відразу після завершення обробки запиту. Якщо встановлено значення idle, Fastify буде закривати неактивні з'єднання після keepAliveTimeout
adapters.http.fastify.requestTimeoutnumberundefinedМаксимальний час виконання запиту (в мілісекундах). Якщо запит не завершиться протягом цього часу, Fastify його перерве.
adapters.http.fastify.bodyLimitnumberundefinedМаксимальний розмір тіла запиту (в байтах). Якщо розмір тіла запиту перевищує це значення, Fastify відхилить запит з помилкою 413 Payload Too Large.
adapters.http.urls.apistring/v1/call/apiБазовий маршрут REST API.

WS Adapter

ШляхТипЗнач. за
замовч.
Опис
adapters.ws.enablebooleanfalseОзнака підключення ws адаптера ядра обчислень.
adapters.ws.kindstringwsТип ws фреймворку, який буде задіяний в роботі ядра обчислень, наразі доступний лише ws, в послідуючому буде доступний ще й socketIO
adapters.ws.protocolstringwsТип протоколу, може бути ws або wss.
adapters.ws.hoststring0.0.0.0Хост url шляху доступу до ws веб-сервера.
adapters.ws.portnumber11011Хост url шляху доступу до ws веб-сервера.
adapters.ws.wss.keystring' 'Шлях до файлу закритого ключа.
adapters.ws.wss.certstring' 'Шлях до сертифікату.
adapters.ws.ws.backlognumberundefinedМаксимальна довжина черги з'єднань TCP, яка буде використана при відкритті серверного сокету.
adapters.ws.ws.maxPayloadnumberundefinedМаксимальний розмір повідомлення (в байтах), яке сервер WebSocket приймає.
adapters.ws.ws.skipUTF8ValidationbooleanundefinedЯкщо цей параметр встановлено в true, ws server пропустить перевірку правильності кодування UTF-8 для отриманих повідомлень
adapters.ws.ws.perMessageDeflatebooleanundefinedСтискання повідомлень (per-message compression), яке дозволяє стискати дані перед їх відправленням через WebSocket з'єднання. Це може бути корисно для зменшення обсягу даних, які передаються між клієнтом і сервером, що в свою чергу може поліпшити швидкодію та знизити використання мережевого трафіку.
adapters.ws.ws.perMessageDeflate.serverNoContextTakeoverbooleanundefinedВказує, чи повинен ws адаптер зберігати стан стискання між повідомленнями.
adapters.ws.ws.perMessageDeflate.serverMaxWindowBitsnumberundefinedВизначає максимальний розмір вікна стискання для сервера та клієнта.
adapters.ws.ws.perMessageDeflate.thresholdnumberundefinedМінімальний розмір повідомлення, який потрібно стискати.
adapters.ws.ws.perMessageDeflate.concurrencyLimitnumberundefinedСМаксимальна кількість одночасних компресій або декомпресій, які дозволені одночасно.

Інтеграції

ШляхТипЗнач. за
замовч.
Опис
integrations.mail.enablebooleanfalse
integrations.mail.hoststring' '
integrations.mail.portnumber587
integrations.mail.securebooleanfalse
integrations.mail.secure.auth.userstring' '
integrations.mail.secure.auth.passstring' '
integrations.mail.contact.fromstring' '
integrations.mail.withMessageIdbooleantrue

Сервіси

LocalizationService

ШляхТипЗнач. за
замовч.
Опис
services.localization.enablebooleantrue
services.localization.supportedLanguagesstring[]['en']
services.localization.defaultLanguagesstringen

LoggerService

ШляхТипЗнач. за
замовч.
Опис
services.logger.enablebooleantrue
services.logger.loggers.corebooleantrue
services.logger.loggers.schemabooleantrue
services.logger.transports.console.core.enablebooleantrue
services.logger.transports.console.core.levelstringverbose
services.logger.transports.console.schema.levelstringdebug

ScramblerService

ШляхТипЗнач. за
замовч.
Опис
services.scrambler.enablebooleantrue
services.scrambler.saltnumber5
services.scrambler.secretstringdefault
services.scrambler.randomBytesnumber10
services.scrambler.accessExpiredAtnumber10
services.scrambler.refreshExpiredAtnumber30
services.scrambler.defaultAlgorithmstringMD5

SpecificationService

ШляхТипЗнач. за
замовч.
Опис
services.specification.enablebooleanfalse
services.specification.liveReloadbooleanfalse
services.specification.liveReloadbooleanfalse

Ядро відображення

Адаптери

Ядро обчислень дозволяє конфігурувати наступні види адаптерів:

HTTP Adapter

ШляхТипЗнач. за
замовч.
Опис
adapters.http.enablebooleantrue
adapters.http.protocolstringhttp
adapters.http.hoststring0.0.0.0
adapters.http.portnumber11010
adapters.http.urls.baseApiUrlstring/v1/call/api
adapters.http.urls.baseExceptionUrlstringv1/exception-tunnel

WS Adapter

ШляхТипЗнач. за
замовч.
Опис
adapters.ws.enablebooleanfalse
adapters.ws.connect.protocolstringws
adapters.ws.connect.hoststring0.0.0.0
adapters.ws.connect.portnumber11011

Інтеграції

Sentry

ШляхТипЗнач. за
замовч.
Опис
integrations.sentry.enablebooleanfalse
integrations.sentry.options.tokenstring' '
integrations.sentry.options.logLevelstring0.0.0.0
integrations.sentry.options.tracesSampleRatenumber100
integrations.sentry.options.replaysSessionSampleRatenumber0.1
integrations.sentry.options.replaysOnErrorSampleRatenumber1.0

Сервіси

ШляхТипЗнач. за
замовч.
Опис
services.localization.enablebooleantrue
services.localization.fallbackLanguagestringen
services.localization.defaultLanguagestringen
services.localization.supportedLanguagesstring[]["en"]