Настройки хранятся в виде файла формата yaml
: server.yaml
.
server.yaml
main
— сетевые настройки сервера и его самоназвание# main
server_name: 'DOCTEST' # это самоназвание сервера, пока нигде не используется
host: 0.0.0.0 # адрес, который слушает сервер, 0.0.0.0 — все доступные, альтернативно можно поставить 127.0.0.1, другие нежелательно — при тестах не заработало
port: 3001 # порт, который будет прослушиваться
max_request_size: 104857600 # максимальный размер входящего запроса в байтах
ssl
— настройки контекста защищенных соединений, если защищенное соединение не нужно, удалите эти настройки или поставьте в начале каждой строки #
# ssl
cert: config/certs/server.crt # путь к сертификату в формате .crt относительно папки приложения
key: config/certs/server.key # путь к секретному ключу в формате .key относительно папки приложения
operation_dir: myoffice_operations # название папки в директории приложения, в которой будут создаваться папки приходящих задач
default_exec_timeout: 150 # таймаут по умолчанию выполнения скрипта-задачи в секундах, используется если таймаут не указан в запросе или равен 0
max_parallel_jobs: 10 # максимальное число выполняемых одновременно скриптов-задач
# time for operation folders to live, minutes
deletion_safe_time: 120 # минимальное время в минутах, после которого папка с файлами задачи будет удалена
# logging
log_dir: logs # путь к директории относительно папки приложения, где будут хранится логи
log_file: server # название файла с логами
logger_level: 10 # 10 — DEBUG — уровень логирования, отвечает за подробность выводимой информации
basic auth
. Кроме ограничения на отправку задач, есть ещё и ограничение на скачивание файлов и удаление папок: только тот же пользователь, что отправлял задачу, может скачать файлы. Клиентам доступна только выгрузка, админам ещё и запрос статуса агента. Настройки задаются в виде пары имя_пользователя: md5_хэш_пароля
.Внимание! Некоторые онлайн-сервисы неверно считают хэш при наличии спец. символов в пароле!
# authentication: login: md5_hashed_pass paires
# check on different services (but better with python's hashlib)
# as the presence of special chars in the pass sometimes breaks some services
basic_auth: True # включение и отключение аутентификации
# for clients
client_auth: # книеты
client1: 'hash_here'
# for admins
admin_auth:
service: 'hash_here'