#{{ ansible_managed }}

[retrace]
# Which group is used for authentication
# Do not change AuthGroup if you really don't need to!
# When using non-default group "foo", you also need to
# 1) Set group=foo in WSGIDaemonProcess in /etc/httpd/conf.d/retrace-server-httpd.conf
# 2) Make LogDir, SaveDir and RepoDir readable and writable for foo
# 3) Execute all retrace-server-* scripts (including cron jobs!) with foo membership
AuthGroup = {{ rs_auth_group }}

# Force to use HTTPS - only disable on trusted network
RequireHTTPS = {{ rs_require_https|int }}

# Allow to delete task data via HTTP API (https://server/<task_id>/delete)
AllowAPIDelete = {{ rs_allow_api_delete|int }}

# Allow interactive tasks (security risk, do not use on public systems)
AllowInteractive = {{ rs_allow_interactive|int }}

# Allow X-CoreFileDirectory header
AllowExternalDir = {{ rs_allow_external_dir|int }}

# Expose metrics for monitoring via Prometheus
AllowMetrics = {{ rs_allow_metrics|int }}

# Allow to create tasks owned by task manager (security risk)
AllowTaskManager = {{ rs_allow_task_manager|int }}

# Allow to create VMCore tasks in the task manager
AllowVMCoreTask = {{ rs_allow_vmcore_task|int }}

# Allow to create Userspace core tasks in the task manager
AllowUsrCoreTask = {{ rs_allow_usrcore_task|int }}

# If white list is disabled, anyone can delete tasks
TaskManagerAuthDelete = {{ rs_task_manager_auth_delete|int }}

# Whitespace-separated list of users allowed to delete tasks
TaskManagerDeleteUsers = {{ rs_task_manager_delete_users|default('', true) }}

# If set to non-empty string, makes the case number clickable in task manager
# The string is expanded by python, with the case number passed
# as the only argument, do not forget %d
CaseNumberURL = {{ rs_case_number_url|default('', true) }}

# Verify GPG signatures of installed packages
RequireGPGCheck = {{ rs_require_gpg_check|int }}

# Maximum tasks running at one moment
MaxParallelTasks = {{ rs_max_parallel_tasks|int }}

# Maximum size of archive uploaded by user (MB)
MaxPackedSize = {{ rs_max_packed_size|int }}

# Maximum size of archive contents (MB)
MaxUnpackedSize = {{ rs_max_unpacked_size|int }}

# Minimal storage left on WorkDir FS after unpacking archive (MB)
MinStorageLeft = {{ rs_min_storage_left|int }}

# Delete old tasks after (hours); <= 0 means never
# This is mutually exclusive with ArchiveTasksAfter (see below)
# The one that occurs first removes the task from the system
# In case DeleteTaskAfter = ArchiveTaskAfter, archiving executes first
DeleteTaskAfter = {{ rs_delete_task_after|int }}

# Delete old failed tasks after (hours); <= 0 means never
# This is useful for cleanup of failed tasks before the standard
# mechanisms do (DeleteTaskAfter or ArchiveTaskAfter)
# In case DeleteFailedTaskAfter > DeleteTaskAfter
# or DeleteFailedTaskAfter > ArchiveTaskAfter, this option does nothing
DeleteFailedTaskAfter = {{ rs_delete_failed_task_after|int }}

# Archive old task after (hours); <= 0 means never
# This is mutually exclusive with DeleteTasksAfter (see above)
# The one that occurs first removes the task from the system
# In case DeleteTaskAfter = ArchiveTaskAfter, archiving executes first
ArchiveTaskAfter = {{ rs_archive_task_after|int }}

# SQLite statistics DB filename
DBFile = {{ rs_db_file }}

# Log directory
LogDir = {{ rs_log_dir }}

# Local repos directory
# if changed, you also need to update httpd config
RepoDir = {{ rs_repo_dir }}

# Directory where the crashes and results are saved
SaveDir = {{ rs_save_dir }}

# Directory where old tasks are moved
DropDir = {{ rs_drop_dir }}

# Whether to use createrepo's --update option (faster, but requires a lot of memory)
UseCreaterepoUpdate = {{ rs_use_createrepo_update|int }}

# How many latest packages to keep for rawhide
KeepRawhideLatest = {{ rs_keep_rawhide_latest|int }}

# Repo used to install chroot for vmcores
KernelChrootRepo = {{ rs_kernel_chroot_repo }}

# Koji directory structure can be used to search for kernel debuginfo
KojiRoot = {{ rs_koji_root }}

# Whether task manager should look to an external FTP for task data
UseFTPTasks = {{ rs_use_ftp_tasks|int }}

# FTP connection parameters
FTPSSL = {{ rs_ftp_ssl|int }}
FTPHost = {{ rs_ftp_host|default('', true) }}
FTPUser = {{ rs_ftp_user|default('', true) }}
FTPPass = {{ rs_ftp_password|default('', true) }}
FTPDir = {{ rs_ftp_dir|default('', true) }}

# Size of buffer for downloading from FTP (MB)
FTPBufferSize = {{ rs_ftp_buffer_size|int }}

# Whether to use wget as a fallback to finding kernel debuginfos
WgetKernelDebuginfos = {{ rs_wget_kernel_debuginfos|int }}

# Where to download kernel debuginfos from
# $VERSION $RELEASE and $ARCH are replaced by the appropriate value
# kernel-debuginfo-VRA.rpm is appended to the end
KernelDebuginfoURL = {{ rs_kernel_debuginfo_url }}

# Run makedumpfile with specified dumplevel; <= 0 or >= 32 means disabled
VmcoreDumpLevel = {{ rs_vmcore_dump_level|int }}

# EXPERIMENTAL! Use ABRT Server's storage to map build-ids
# into debuginfo packages and resolve dependencies
# Requires support from ABRT Server
UseFafPackages = {{ rs_use_faf_packages|int }}

# Spool directory for FAF packages
FafLinkDir = {{ faf_spool_dir }}

# Run the retrace in a Mock chroot (default), a Podman container,
# or on the native machine.
# (mock|podman|native)
RetraceEnvironment = {{ rs_retrace_environment }}

# Whether to enable e-mail notifications
EmailNotify = {{ rs_email_notify|int }}

# Who sends the e-mail notifications
EmailNotifyFrom = {{ rs_email_notify_from_user }}@{{ hostname }}

# Calculate md5sum for remote resources - changeable on manager page
CalculateMd5 = {{ rs_calculate_md5 }}

# URL of Bugzilla
BugzillaURL = {{ rs_bugzilla_url }}
# Custom path to the file with Bugzilla credentials, stored in format:
# [bugzilla.yoursite.com]
# user =
# password =
# If not set checks for credentials in:
# ~/.config/python-bugzilla/bugzillarc, ~/.bugzillarc, /etc/bugzillarc
BugzillaCredentials = {{ rs_bugzilla_credentials_path }}
# Clean up tasks with assigned bugzilla bugs in following states
# NEW, ASSIGNED, ON_DEV, POST, MODIFIED, ON_QA, VERIFIED, RELEASE_PENDING, CLOSED
BugzillaStatus = {{ rs_bugzilla_status }}
# Search query options for bugzilla bugs
BugzillaProduct = {{ rs_bugzilla_product }}
BugzillaComponent = {{ rs_bugzilla_component }}
# Number and order of values in TriggerWords and RegExes should be identical
# Trigger words to look for in the text of bugzilla bugs
BugzillaTriggerWords = {{ rs_bugzilla_triggerwords }}
# Regular expressions used to get task numbers from the text of bugzilla bugs
BugzillaRegExes = {{ rs_bugzilla_regexes }}

# Timeout (in seconds) for communication with any process
ProcessCommunicateTimeout = {{ rs_process_communicate_timeout|int }}

# Path to the kernel (vmcore) debugger
KernelDebuggerPath = {{ rs_kernel_debugger_path }}

[archhosts]
{% for a in rs_archhosts %}
{{ a.arch }} = {{ a.url|default('', true) }}
{% endfor %}
