# Fedora Messaging
## Requesting Access
What needs to be done:
* Request certificates from the fedora infrastructure team;
* Ansible changes to create a new user, queue and topic in fedora messaging.
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 `env_suffix`
* `<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.