What needs to be done:
You can request a new certificate and a private key by opening a fedora infrastructure ticket: https://pagure.io/fedora-infrastructure (Example: https://pagure.io/fedora-infrastructure/issue/9494).
The ticket should request a new username for fedora messaging (either prod or stg) - the result of that ticket will be a new certificate and private key for that user (the certificate CN field should contain the requested username as its value).
The next step is to add the new user, queue and topic binding into fedora's Rabbit MQ instance.
This can be done by sending a pull request to their ansible repository (https://pagure.io/fedora-infra/ansible): https://pagure.io/fedora-infra/ansible/pull-request/302#request_diff.
The topic format uses the following scheme: org.<SOURCE>.<ENV>.<APP>.#
where:
<SOURCE>
: source as entity, should be centos
in our case<ENV>
: env is either prod
or stg
but you should use the ansible var short_env
<APP>
: the application the message belongs to, which matches your username.A topic for centos koji would be: org.centos.prod.koji.#
(#
means Rabbit MQ will match the topic as long as it starts with org.centos.prod.koji.
).
Those changes will also need to be run by someone from the fedora infrastructure team.
The following ansible code is an example of how to add an user and a queue with a routing key.
# adding "centos-koji" user as an example - name: Add centos-koji User run_once: true include_role: name: rabbit/user vars: username: centos-koji{{ env_suffix }} - name: Add centos-koji queue run_once: true include_role: name: rabbit/queue vars: username: centos-koji{{ env_suffix }} queue_name: centos-koji{{ env_suffix }} # TTL: 10 days (in miliseconds) message_ttl: 864000000 routing_keys: - "org.centos.{{ env_short }}.koji.#"