Files
fedora-infra_ansible/roles/openshift-apps/poddlers/templates/fedora-messaging.toml
Patrik Polakovič 46fbcc5567 Branch Fedora 44 from Rawhide
Signed-off-by: Patrik Polakovič <patrik@alphamail.org>
2026-02-05 19:10:58 +00:00

552 lines
16 KiB
TOML

## Fedora Messaging configuration for toddler {{ toddler.name }}
# Broker address
amqp_url = "amqps://toddlers{{ env_suffix }}:@rabbitmq{{ env_suffix }}.fedoraproject.org/%2Fpubsub"
callback = "toddlers.plugins.{{ toddler.callback }}"
# Just check if the queue exist, don't try to create it as you won't be allowed
# to (this is done in the ansible playbook)
passive_declares = true
# The topic_prefix configuration value will add a prefix to the topics of every sent message.
# This is used for migrating from fedmsg, and should not be used afterwards.
{% if env == "staging" %}
topic_prefix = "org.fedoraproject.stg"
{% else %}
topic_prefix = "org.fedoraproject.prod"
{% endif %}
[tls]
ca_cert = "/etc/pki/rabbitmq/ca/toddlers.ca"
keyfile = "/etc/pki/rabbitmq/key/toddlers.key"
certfile = "/etc/pki/rabbitmq/cert/toddlers.crt"
[client_properties]
app = "toddlers-{{ toddler.name }}"
app_url = "https://pagure.io/fedora-infra/toddlers"
[queues."toddlers{{ env_suffix }}-{{ toddler.name }}"]
durable = true
auto_delete = false
exclusive = false
arguments = {}
[[bindings]]
queue = "toddlers{{ env_suffix }}-{{ toddler.name }}"
exchange = "amq.topic"
{# Use the fact that lists in TOML and JSON are represented the same way #}
routing_keys = {{ toddler.topics|tojson }}
[consumer_config]
# Comment out or remove this line if you want to enable the debug toddler.
# Or add more toddlers to the list (using their name) if you want to disable
# more of them.
blocked_toddlers = [
"debug",
"distgit_commit_processor",
# Block all the PDC related toddlers
"pdc_import_compose",
"pdc_unretire_packages",
"pdc_update_critpath",
]
# Caching. The default is in-memory caching, here is an example for memcached.
[consumer_config.cache]
backend = "dogpile.cache.pylibmc"
expiration_time = 3600
[consumer_config.cache.arguments]
url = ["memcached02{{ env_suffix }}.rdu3.fedoraproject.org"]
binary = true
behaviors = {"tcp_nodelay" = true, "ketama" = true}
[consumer_config.default]
# Configuration common to all toddlers.
#
# You can override any of these in the section of a particular toddler, e.g.:
#
# [consumer_config.default]
# somekey = "somevalue"
# ...
# [consumer_config.sometoddler]
# somekey = "someothervalue"
# Configuration used when sending notifications:
mail_server = "bastion.fedoraproject.org"
{% if env == "staging" %}
admin_email = "admin@stg.fedoraproject.org"
{% else %}
admin_email = "admin@fedoraproject.org"
{% endif %}
# Use fasjson instead of FAS
fasjson = true
# Account to use to connect to FAS/FASJSON
fas_url = "https://fasjson{{ env_suffix }}.fedoraproject.org/"
{% if env != "staging" %}
fas_username = "{{ fedoraDummyUser }}"
fas_password = "{{ fedoraDummyUserPassword }}"
{% else %}
fas_username = "{{ fedoraStagingDummyUser }}"
fas_password = "{{ fedoraStagingDummyUserPassword }}"
{% endif %}
# Account to use to connect to pagure
# FAS username of the user that will comment on behalf of toddler
{% if env == "staging" %}
pagure_user = "releng-bot"
pagure_url = "https://stg.pagure.io"
pagure_api_key = "{{ toddlers_stg_pagure_scm_request_processor_token }}"
{% else %}
pagure_user = "releng-bot"
pagure_url = "https://pagure.io"
pagure_api_key = "{{ toddlers_pagure_scm_request_processor_token }}"
{% endif %}
# Account to use to connect to bugzilla
{% if env != "staging" %}
bugzilla_url = "https://bugzilla.redhat.com"
bugzilla_api_key = "{{ toddlers_bz_api_key }}"
{% else %}
bugzilla_url = "https://bugzilla.stage.redhat.com"
bugzilla_api_key = "{{ toddlers_stg_bz_api_key }}"
{% endif %}
bugzilla_group = "fedora_contrib"
# Base URL for the Koji build system
koji_url = "https://koji{{ env_suffix }}.fedoraproject.org"
# Base URL for lookaside cache (no staging here)
lookaside_url = "https://src.fedoraproject.org/lookaside"
# Credentials for koji session
{% if env == 'staging' %}
principal = "toddlers/os-control01.stg.{{datacenter}}.fedoraproject.org@STG.FEDORAPROJECT.ORG"
keytab = "/etc/keytabs/service.keytab"
{% else %}
principal = "toddlers/os-control01.{{datacenter}}.fedoraproject.org@FEDORAPROJECT.ORG"
keytab = "/etc/keytabs/service.keytab"
{% endif %}
# Base URL for the Koji package db
kojipkgs_url = "https://kojipkgs{{ env_suffix }}.fedoraproject.org"
# Base URL for Bodhi
bodhi_url = "https://bodhi{{ env_suffix }}.fedoraproject.org"
# Account to use to connect to Pagure-as-dist-git
dist_git_url = "https://src{{ env_suffix }}.fedoraproject.org"
{% if env == "staging" %}
dist_git_token = "{{ toddlers_stg_dist_git_token }}"
{% else %}
dist_git_token_seed = "{{ toddlers_flag_ci_seed }}"
dist_git_token = "{{ toddlers_dist_git_token }}"
{% endif %}
# Configuration file storing all the email overrides in the form of:
# "foo@bar.com" = "bar@foo.org"
# This is the same format as used by the distgit_bugzilla_sync cron/app
email_overrides_file = "/etc/fedora-messaging/email_overrides.toml"
# List of accounts we do not want to report about
ignorable_accounts = ["packagerbot", "zuul", "cockpit"]
# Temp folder to use for toddlers temp files
temp_folder = "/var/tmp"
[consumer_config.default.pdc_config]
# Configuration to talk to PDC, as understood by pdc-client.
server = "https://pdc{{ env_suffix }}.fedoraproject.org/rest_api/v1/"
ssl_verify = false # Enable if using a self-signed cert
{% if env == "staging" %}
token = "{{ pdc_updater_api_token_stg }}"
{% else %}
token = "{{ pdc_updater_api_token_prod }}"
{% endif %}
[consumer_config.flag_ci_pr]
[consumer_config.flag_commit_build]
[consumer_config.packager_bugzilla_sync]
[consumer_config.pdc_retired_packages]
file_check_url = "https://src{{ env_suffix }}.fedoraproject.org/%(namespace)s/%(repo)s/blob/%(branch)s/f/%(file)s"
[consumer_config.pdc_import_compose]
old_composes_url = "https://kojipkgs{{ env_suffix }}.fedoraproject.org/compose/"
[consumer_config.check_email_overrides]
email_overrides_url = "https://pagure.io/fedora-infra/ansible/raw/main/f/roles/openshift-apps/poddlers/templates/email_overrides.toml"
[consumer_config.clean_retired_packages]
pdc_active_branches = "https://pdc{{ env_suffix }}.fedoraproject.org/extras/active_branches.json"
[consumer_config.packagers_without_bugzilla]
ignorable_namespaces = ["tests"]
[consumer_config.distgit_bugzilla_sync]
# FAS username of default QA contact for bugzilla tickets
# default_qa_contact = "extras-qa@fedoraproject.org"
# Admin addresses to notify
{% if env == "staging" %}
# Don't notify anyone on staging
notify_admins = []
{% else %}
notify_admins = [
"kevin@fedoraproject.org",
"pingou@fedoraproject.org",
]
{% endif %}
# Bugzilla products informations for Fedora
[consumer_config.distgit_bugzilla_sync.products]
[consumer_config.distgit_bugzilla_sync.products.Fedora]
branch_regex = '^((f\d+)|rawhide)$'
namespace = "rpms"
versions = ["rawhide", "41", "40", "39", "38"]
[consumer_config.distgit_bugzilla_sync.products."Fedora Container Images"]
branch_regex = '^((f\d+)|rawhide)$'
namespace = "container"
versions = ["rawhide", "41", "40", "39", "38"]
[consumer_config.distgit_bugzilla_sync.products."Fedora EPEL"]
branch_regex = '^epel\d+(?:\.\d+)?$'
namespace = "rpms"
versions = ["epel10", "epel9", "epel8"]
# Configuration section for scm_request_processor
[consumer_config.scm_request_processor]
# Monitoring choices for release-monitoring.org
monitor_choices = [
'no-monitoring',
'monitoring',
'monitoring-with-scratch',
'monitoring-all',
'monitoring-all-scratch',
'monitoring-stable',
'monitoring-stable-scratch'
]
# Text for the ping if the ticket needs to be manually verified
ping_comment = "This request wants to skip bugzilla validation! {maintainers} could you check if this is correct? If yes, please respond to this ticket with '@releng-bot valid' comment"
# Anitya access token and endpoint for managing project in release-monitoring
{% if env == "staging" %}
anitya_endpoint = "https://stg.release-monitoring.org"
anitya_access_token = "{{ toddlers_stg_anitya_api_key }}"
# This is a OIDC token that allows pagure_user to push changes to dist git
oidc_distgit_token = "{{ toddlers_stg_oidc_dist_git_token }}"
{% else %}
anitya_endpoint = "https://release-monitoring.org"
anitya_access_token = "{{ toddlers_anitya_api_key }}"
# This is a OIDC token that allows pagure_user to push changes to dist git
oidc_distgit_token = "{{ toddlers_oidc_dist_git_token }}"
{% endif %}
# Pagure mapping to bugzilla
[consumer_config.scm_request_processor.pagure_namespace_to_component]
rpms = 'Package Review'
container = 'Container Review'
modules = 'Module Review'
test-modules = 'Module Review'
[consumer_config.scm_request_processor.pagure_namespace_to_product]
rpms = ['Fedora', 'Fedora EPEL']
container = ['Fedora Container Images']
modules = ['Fedora Modules']
test-modules = ['Fedora']
# SLAS configuration for scm_request_processor
[consumer_config.scm_request_processor.branch_slas]
[consumer_config.scm_request_processor.branch_slas.rawhide]
rawhide = '2222-01-01'
[consumer_config.scm_request_processor.branch_slas.stable]
rawhide = '2222-01-01'
[consumer_config.scm_request_processor.branch_slas.main]
rawhide = '2222-01-01'
[consumer_config.scm_request_processor.branch_slas.eln]
rawhide = '2222-01-01'
[consumer_config.scm_request_processor.branch_slas.epel10]
stable_api = '2035-05-31'
security_fixes = '2035-05-31'
bug_fixes = '2035-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.9"]
stable_api = '2030-05-31'
security_fixes = '2030-05-31'
bug_fixes = '2030-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.8"]
stable_api = '2029-11-31'
security_fixes = '2029-11-31'
bug_fixes = '2029-11-31'
[consumer_config.scm_request_processor.branch_slas."epel10.7"]
stable_api = '2029-05-31'
security_fixes = '2029-05-31'
bug_fixes = '2029-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.6"]
stable_api = '2028-11-31'
security_fixes = '2028-11-31'
bug_fixes = '2028-11-31'
[consumer_config.scm_request_processor.branch_slas."epel10.5"]
stable_api = '2028-05-31'
security_fixes = '2028-05-31'
bug_fixes = '2028-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.4"]
stable_api = '2027-11-31'
security_fixes = '2027-11-31'
bug_fixes = '2027-11-31'
[consumer_config.scm_request_processor.branch_slas."epel10.3"]
stable_api = '2027-05-31'
security_fixes = '2027-05-31'
bug_fixes = '2027-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.2"]
stable_api = '2026-11-31'
security_fixes = '2026-11-31'
bug_fixes = '2026-11-31'
[consumer_config.scm_request_processor.branch_slas."epel10.1"]
stable_api = '2026-05-31'
security_fixes = '2026-05-31'
bug_fixes = '2026-05-31'
[consumer_config.scm_request_processor.branch_slas."epel10.0"]
stable_api = '2025-11-31'
security_fixes = '2025-11-31'
bug_fixes = '2025-11-31'
[consumer_config.scm_request_processor.branch_slas.epel9]
stable_api = '2032-05-31'
security_fixes = '2032-05-31'
bug_fixes = '2032-05-31'
[consumer_config.scm_request_processor.branch_slas.epel9-next]
stable_api = '2027-05-31'
security_fixes = '2027-05-31'
bug_fixes = '2027-05-31'
[consumer_config.scm_request_processor.branch_slas.epel8]
stable_api = '2029-05-31'
security_fixes = '2029-05-31'
bug_fixes = '2029-05-31'
[consumer_config.scm_request_processor.branch_slas.epel8-next]
stable_api = '2024-05-31'
security_fixes = '2024-05-31'
bug_fixes = '2024-05-31'
[consumer_config.scm_request_processor.branch_slas.f44]
bug_fixes = '2027-05-19'
security_fixes = '2027-05-19'
[consumer_config.scm_request_processor.branch_slas.f43]
bug_fixes = '2026-12-02'
security_fixes = '2026-12-02'
[consumer_config.scm_request_processor.branch_slas.f42]
bug_fixes = '2026-05-13'
security_fixes = '2026-05-13'
[consumer_config.scm_request_processor.branch_slas.f41]
bug_fixes = '2025-11-11'
security_fixes = '2025-11-11'
[consumer_config.scm_request_processor.branch_slas.f40]
bug_fixes = '2025-05-13'
security_fixes = '2025-05-13'
[consumer_config.scm_request_processor.branch_slas.f39]
bug_fixes = '2024-11-12'
security_fixes = '2024-11-12'
[consumer_config.scm_request_processor.branch_slas.f38]
bug_fixes = '2024-05-14'
security_fixes = '2024-05-14'
[consumer_config.scm_request_processor.branch_slas.f37]
bug_fixes = '2023-12-15'
security_fixes = '2023-12-15'
[consumer_config.scm_request_processor.branch_slas.f36]
bug_fixes = '2023-05-16'
security_fixes = '2023-05-16'
[consumer_config.scm_request_processor.branch_slas.f35]
security_fixes = '2022-12-13'
bug_fixes = '2022-12-13'
# Configuration section for check_commit_rights
[consumer_config.check_commit_rights]
exclude_users = []
{% if env == "staging" %}
notify_emails = [
# "nobody@fedoraproject.org",
"fedora_stg@sparebit.simplelogin.com",
]
{% else %}
notify_emails = [
"admin@fedoraproject.org",
]
{% endif %}
# Configuration section for distgit_commit_processor
[consumer_config.distgit_commit_processor]
mail_from = "notifications@{{ env_prefix }}fedoraproject.org"
mail_to = "scm-commits@lists.{{ env_prefix }}fedoraproject.org"
# The templates are passed to str.format() => no quotes in dictionary keys!
# This is the default subject
# mail_subject_tmpl = "{message.summary}"
mail_content_tmpl = """Notification time stamped {headers[sent-at]}
{message}
{commit[url]}
"""
[consumer_config.pagure_fas_groups_sync]
{% if env == "staging" %}
pagure_url = "https://stg.pagure.io"
# Token needs to have following permissions:
# - adding_member_to_group
# - removing_member_from_group
pagure_api_key = "{{ toddlers_stg_pagure_fas_groups_sync_token }}"
{% else %}
pagure_url = "https://pagure.io"
# Token needs to have following permissions:
# - adding_member_to_group
# - removing_member_from_group
pagure_api_key = "{{ toddlers_pagure_fas_groups_sync_token }}"
{% endif %}
[consumer_config.pagure_fas_groups_sync.group_map]
#Mapping of FAS groups to Pagure groups
infra-sig = 'fedora-infra'
metrics-sig = 'metrics'
[consumer_config.clean_packagers_groups]
watched_groups = ["packager"]
ignored_groups = ["sysadmin-main", "cvsadmin"]
{% if env == "staging" %}
notify_emails = ["lenkaseg@fedoraproject.org"]
{% else %}
notify_emails = [
"lenkaseg@fedoraproject.org",
"admin@fedoraproject.org",
]
{% endif %}
[qos]
prefetch_size = 0
prefetch_count = 1
[log_config]
version = 1
disable_existing_loggers = true
[log_config.formatters.simple]
format = "%(asctime)s - [%(levelname)s %(name)s] %(message)s"
[log_config.handlers.console]
class = "logging.StreamHandler"
formatter = "simple"
stream = "ext://sys.stdout"
[log_config.loggers.fedora_messaging]
level = "INFO"
propagate = false
handlers = ["console"]
[log_config.loggers.twisted]
level = "INFO"
propagate = false
handlers = ["console"]
[log_config.loggers.pika]
level = "WARNING"
propagate = false
handlers = ["console"]
# Toddlers logger, feel free to bump the level to DEBUG if you need to
[log_config.loggers.toddlers]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.utils.bugzilla_system]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.utils.pagure]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.plugins.pdc_retired_packages]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.plugins.pdc_import_compose]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.plugins.distgit_bugzilla_sync]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.loggers.toddlers.plugins.scm_request_processor]
{% if env == "staging" %}
level = "DEBUG"
{% else %}
level = "INFO"
{% endif %}
propagate = false
handlers = ["console"]
[log_config.root]
level = "ERROR"
handlers = ["console"]