Skip to content

Конфигурация сервиса File Storage Worker

Логгер

КлючОписание
file_storage_worker.log.lvlуровень логгирования приложения
5 - debug
4 - info
3 - warning
2 - error
Пример env: POTENTIAL_FILE_STORAGE_WORKER_LOG_LVL=5
file_storage_worker.log.pathпуть до лога сервиса
Пример env: POTENTIAL_FILE_STORAGE_WORKER_LOG_PATH=/tmp/next_box/file_storage_worker.log
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  log:
    lvl: 5
    path: /tmp/next_box/file_storage_worker.log

Http сервер

КлючОписание
file_storage_worker.http.hostАдрес http сервера
Пример env: POTENTIAL_FILE_STORAGE_WORKER_HTTP_HOST=0.0.0.0
file_storage_worker.http.portПорт http сервера
Пример env: POTENTIAL_FILE_STORAGE_WORKER_HTTP_PORT=6004
file_storage_worker.http.max_multipart_body_sizeмаксимальный размер тела, при мультипарт запросах POTENTIAL_FILE_STORAGE_WORKER_HTTP_MAX_MULTIPART_BODY_SIZE=0
file_storage_worker.http.read_timeoutмаксимальная продолжительность чтения всего запроса, включая текст. Нулевое или отрицательное значение означает, что тайм-аута не будет. POTENTIAL_FILE_STORAGE_WORKER_HTTP_READ_TIMEOUT=0
file_storage_worker.http.write_timeoutмаксимальное время до истечения времени ожидания записи ответа. Оно сбрасывается всякий раз, когда считывается заголовок нового запроса. Как и ReadTimeout, оно не позволяет обработчикам принимать решения для каждого отдельного запроса. Нулевое или отрицательное значение означает, что тайм-аута не будет.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_HTTP_WRITE_TIMEOUT=0
file_storage_worker.internal_http.mtls_enableВключение шифрование трафика mTLS между сервисами NB.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_MTLS_ENABLE=false
file_storage_worker.internal_http.server_cert_key_pathПриватный ключ сервера для mTLS.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_SERVER_CERT_KEY_PATH=./host.docker.internal.key
file_storage_worker.internal_http.server_cert_pathСертификат сервера для mTLS.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_SERVER_CERT_PATH=./host.docker.internal.crt
file_storage_worker.internal_http.client_cert_key_pathПриватный ключ клиента для mTLS.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_CLIENT_CERT_KEY_PATH=./client.key
file_storage_worker.internal_http.client_cert_pathСертификат сервера для mTLS.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_CLIENT_CERT_PATH=./client.crt
file_storage_worker.internal_http.ca_cert_pathКорневой сертификат для mTLS.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_INTERNAL_HTTP_CA_CERT_PATH=./cert.crt
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  http:
    host: 0.0.0.0
    max_multipart_body_size: 0
    port: 6004
    read_timeout: 0
    write_timeout: 0
  internal_http:
    ca_cert_path: ./cert.crt
    client_cert_key_path: ./client.key
    client_cert_path: ./client.crt
    mtls_enable: false
    server_cert_key_path: ./host.docker.internal.key
    server_cert_path: ./host.docker.internal.crt

Общие настройки сервиса

КлючОписание
file_storage_worker.service.tokenТокен для межсервисного общения. Такой же токен должен быть у каждого сервиса nextbox.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_SERVICE_TOKEN=qwe123
file_storage_worker.service.nameНазвание сервиса
Пример env: POTENTIAL_FILE_STORAGE_WORKER_SERVICE_NAME=File Storage Worker
file_storage_worker.service.route_nameНазвание роута сервиса, лучше не менять, иначе возможны проблемы в общении между сервисами!
Пример env: POTENTIAL_FILE_STORAGE_WORKER_SERVICE_ROUTE_NAME=file_storage_worker
file_storage_worker.service.back_urlАдрес по которому обращаются к сервису другие сервисы NB.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_SERVICE_BACK_URL=http://127.0.0.1:6004
file_storage_worker.service.instance_numberНомер сервиса. Используется для горизонтального масштабирования сервисов.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_SERVICE_INSTANCE_NUMBER=1
file_storage_worker.discovery.urlАдрес discovery сервиса в NB. В котором регистрируются все сервисы в NB
Пример env: POTENTIAL_FILE_STORAGE_WORKER_DISCOVERY_URL=http://127.0.0.1:6001
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  service:
    back_url: http://127.0.0.1:6004
    instance_number: 1
    name: File Storage Worker
    route_name: file_storage_worker
    token: qwe123
  discovery:
    url: http://127.0.0.1:6001

Безопасность

КлючОписание
file_storage_worker.tokens.sign_keyСекретный ключ для подписи авторизационных JWT токенов.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_TOKENS_LIMIT_SIGN_KEY=qwe123
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  tokens:
    sign_key: qwe123

Хранилище

КлючОписание
file_storage_worker.file_system.pathПуть до репозитория, в котором будут храниться файлы. Используется, если тип хранилища выставлен как native.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_FILE_SYSTEM_PATH=/var/nextbox/storage_worker/1
file_storage_worker.file_system.tmpПуть до расположения временных файлов.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_FILE_SYSTEM_TMP=/var/nextbox/tmp
file_storage_worker.file_system.typeТип хранилища. Может быть native или s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_FILE_SYSTEM_TYPE=native
file_storage_worker.s3.endpointАдрес s3 хранилища. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_ENDPOINT=
file_storage_worker.s3.access_key_idКлюч от s3 хранилища. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_ACCESS_KEY_ID=
file_storage_worker.s3.access_key_secretПароль от s3 хранилища. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_ACCESS_KEY_SECRET=
file_storage_worker.s3.regionРегион s3 хранилища. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_REGION=
file_storage_worker.s3.secureПереключатель http/https. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_SECRET=
file_storage_worker.s3.bucket_name_prefixPrefix создаваемых бакетов в s3. У каждого пользователя будет создаваться свой бакет с указанным префиксом. Используется, если тип хранилища выставлен как s3.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_S3_BUCKET_NAME_PREFIX=
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  file_system:
    path: /var/nextbox/storage_worker/1
    tmp: /var/nextbox/tmp
    type: native
  s3:
    endpoint: s3.yandex.ru
    access_key_id: something_key
    access_key_secret: something_secret
    region: ru
    secure: true
    bucket_name_prefix: s3_nb_

Настройки rabbitmq

КлючОписание
file_storage_worker.rabbit_mq.userЛогин пользователя в rabbitmq.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_RABBIT_MQ_USER=guest
file_storage_worker.rabbit_mq.passwordПароль пользователя в rabbitmq.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_RABBIT_MQ_PASSWORD=guest
file_storage_worker.rabbit_mq.hostАдрес сервера rabbitmq.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_RABBIT_MQ_HOST=127.0.0.1
file_storage_worker.rabbit_mq.portПорт сервера rabbitmq.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_RABBIT_MQ_PORT=5672
file_storage_worker.rabbit_mq.vhostvhost rabbitmq.
Пример env: POTENTIAL_FILE_STORAGE_WORKER_RABBIT_MQ_VHOST=
пример части конфигурации в yml конфиге
yaml
file_storage_worker:
  rabbit_mq:
    host: 127.0.0.1
    password: guest
    port: "5672"
    user: guest
    vhost: ""