[general]
# Specifies the owner of files created by this
# application. This applies for CTRL_ENDPOINT file
# and all job-specific files (result files).
# Defaults to: root
FILES_OWNER = www-data

# Resource configuration filepath.
# Defaults to: /etc/datamorph/agents.cfg
RESOURCE_CONFIG = /etc/datamorph/agents.cfg

# Enables caching of source files for jobs
# on resources. Enabling this may help when jobs
# needs huge and rather static files or if many
# jobs needs the same file.
# Defaults to: no
CACHING_ENABLED = yes

# Set how often should resource manager
# perform a check whether resources managed
# are still up, running and accessible.
# Defaults to: 60 s
HEARTBEAT_INTERVAL = 360


[requestapi]
# Specifies an address of ZeroMQ endpoint used for job
# manager control, job submission and state monitoring.
# DataMorph will bind and listen on this address/path 
# for incoming requests.
# Format: ipaddress:port|filepath
# Defaults to: /tmp/datamorph.ctl
#CTRL_ENDPOINT = /var/www/backend/webapi.ipc

# ZeroMQ communication protocol for user endpoint.
# Protocols available: ipc, tcp, udp
# IPC stands for named unix pipe here.
# This should be set correspondingly to CTRL_ENDPOINT
# setting.
# Defaults to: ipc
#CTRL_PROTO = ipc

# Space separated list of allowed client socket identities,
# which connects to CTRL_ENDPOINT. This serves as a very
# simple authentication. Requests are accepted from this
# identities only.
# Defaults to: RECEIVER
ALLOWED_IDS = RECEIVER TESTSUITE

# How many worker threads should be spawned
# to handle user requests.
# Defaults to: 4
#NUM_WORKERS = 4


[scheduler]
# How many times should scheduler try to reschedule
# failing job onto another resource, until it gives up
# and reports an error to the client.
# Defaults to: 2
RESCHEDULE_TRIES=1

# Scheduler metrics weights
# =========================
# The higher the number, the more likely resources
# with many jobs in preparing state will be avoided
# by scheduler.
RES_WEIGHT_PREPARING_JOBS = 10

# Similar to the above, just for amount of jobs
# currently executing on resource.
RES_WEIGHT_EXECUTING_JOBS = 8

# Similar to the above, for jobs that are currently
# decommisioned from resource after computation.
# This number should be the lowest of the tree because
# there is a high chance that these jobs will leave
# resource very soon.
RES_WEIGHT_UNSTAGING_JOBS = 5

# The higher the number, the more scheduler takes
# into account resources's reliability. Reliability
# is determined by total to failed number of jobs ratio.
RES_WEIGHT_RELIABILITY = 100

# The higher the number, the more scheduler prefers
# resources with low job execution times
RES_WEIGHT_EXEC_TIME_AVG = 200

# The higher the number, the more resources with high
# transfer speeds are preferred.
RES_WEIGHT_TRANSFER_SPEED_AVG = 600

# The higer the number, the resources which were
# last recently used have better chance to be picked
# by scheduler.
RES_WEIGHT_LAST_JOB_ASSIGNMENT_TIME = 100


[logging]
# Specifies verbosity of log messages.
# Levels available: [DEBUG=10, INFO=20, WARNING=30, ERROR=40]
# Defaults to: INFO
LOG_LEVEL = 20

# Specifies verbosity of SAGA backend
# Valid values are 0-4 with 4 being the most verbose.
# Defaults to: 0 (logging disabled)
SAGA_LOG_LEVEL = 1

# Specifies where to place log files
# LOG_FILE is used for standard logger output,
# stderr output goes to the ERRORLOG_FILE.
# Defaults to: /var/log/datamorph[-error].log
LOG_FILE = /var/log/datamorph/log
ERRORLOG_FILE = /var/log/datamorph/errors
