mirror of
https://pagure.io/fedora-infra/ansible.git
synced 2026-03-20 03:57:02 +08:00
552 lines
16 KiB
TOML
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"]
|