[backend]

# URL where are results visible
results_baseurl={{ backend_base_url }}/results

# Base frontend url
frontend_base_url={{ frontend_base_url }}

# must have same value as BACKEND_PASSWORD from have frontend in /etc/copr/copr.conf
# default is PASSWORDHERE but you really should change it. really.
{% if env == 'production' %}
frontend_auth={{ copr_backend_password }}
{% elif devel %}
frontend_auth={{ copr_backend_password_dev }}
{% else %}
frontend_auth={{ copr_backend_password_stg }}
{% endif %}

# directory where results are stored
# should be accessible from web using 'results_baseurl' URL
# no default
destdir=/var/lib/copr/public_html/results

# how long (in seconds) backend should wait before query frontends
# for new tasks in queue
# default is 10
sleeptime=20

# Builder machine allocation is done by resalloc server listening on
# this address.
#resalloc_connection=http://localhost:49100

# Maximum number of concurrent background builder processes.  Note that
# the background process doesn't have the builder machine allocated all
# the time but only as long as really needed.  To control the number of
# builder machines please configure resalloc server, see the
# 'resalloc_connection' config option.
# This option basically controls the amount of RAM allocated for
# processing builds on copr backend, and how many resalloc tickets can
# be taken at the same time.
builds_max_workers={{ max_workers }}

# Maximum number of concurrently running tasks per architecture.  Since we
# emulate s390x and armhfp on x86_64, we give it ~25% of the x86_64 quota.
# The 32bit x86 variants (i386, i586 and i686) are in minority now, so let's
# limit them as well.
builds_max_workers_arch=
    x86_64={{ max_x86_64_workers }},
    aarch64={{ max_aarch64_workers }},
    s390x={{ max_s390x_workers }},
    armhfp={{ (max_x86_64_workers|int / 5)|int }},
    i386={{ (max_x86_64_workers|int / 5)|int }},
    i586={{ (max_x86_64_workers|int / 4)|int }},
    i686={{ (max_x86_64_workers|int / 5)|int }},
    ppc64le={{ max_ppc64le_workers }}

# Do not let one user waste the whole architecture capacity
build_max_workers_arch_per_owner=s390x=12

# Maximum number of concurrently running tasks per project owner.
{% if env == 'production' %}
builds_max_workers_owner=90
{% elif devel %}
builds_max_workers_owner=8
{% else %}
builds_max_workers_owner=0
{% endif %}

# Maximum number of concurrently running tasks per build sandbox.
{% if env == 'production' %}
builds_max_workers_sandbox=35
{% else %}
builds_max_workers_sandbox=4
{% endif %}

# Maximum number of concurrent background processes spawned for handling
# actions.
actions_max_workers={% if env == 'production' %}20{% else %}4{% endif %}

# publish fedmsg notifications from workers if true
# default is false
#fedmsg_enabled=false

# enable package signing, require configured
# signer host and correct /etc/sign.conf
do_sign={{ do_sign }}

# host or ip of machine with copr-keygen
# usually the same as in /etc/sign.conf
keygen_host={{ keygen_host }}

# minimum age for builds to be pruned
prune_days=14

# the pool of pruning workers shouldn't waste all the resources
prune_workers=4

aws_cloudfront_distribution={{ aws_cloudfront_distribution }}

# logging settings
# log_dir=/var/log/copr-backend/
# log_level=info
# log_format=[%(asctime)s][%(levelname)6s][PID:%(process)d][%(name)10s][%(filename)s:%(funcName)s:%(lineno)d] %(message)s

# Use sha256 hash for all active chroots except for EPEL7
gently_gpg_sha256 = False

[builder]
# default is 1800, this probably has no effect!
timeout=108000

# utilized by /usr/bin/check_consecutive_build_fails.py
consecutive_failure_threshold=30

[ssh]
builder_config=/home/copr/.ssh/config
