# MBS
MBS is deployed in centos stream by the following components:
* Ansible Fedmsg Role
* Ansible MBS Role
Note: MBS depends on Fedmsg as a bridge to fedora-messaging.
## Ansible Fedmsg Role
Repository: https://github.com/CentOS/ansible-role-fedmsg
### Dependencies
None
### Description
This role installs fedmsg in a host with zeromq enabled.
We need zeromq enabled since that's what is used to bridge fedmsg to fedora-messaging.
It is currently deployed in the same host used by MBS.
## Ansible MBS Role
Repository: https://github.com/CentOS/ansible-role-mbs
### Dependencies
* https://github.com/CentOS/ansible-role-fedmsg
* https://github.com/CentOS/ansible-role-httpd
* https://github.com/CentOS/ansible-role-postgresql
### Description
This role installs both mbs-frontend and mbs-backend.
Including the role without specifying a task file will install everything in the same host
but you can select to install either one by including a specific task file: https://github.com/CentOS/ansible-role-mbs/tree/staging/tasks - keep in mind you may also need to select `system.yml` if doing so.
MBS Frontend requirements:
* kerberos keytabfile for httpd POST authentication (GET requests are authless).
* HTTPD CA, certificate and key files;
MBS Backend requirements:
* keytab file for koji authentication
Fedmsg usage:
* Bridges fedora-messaging messages to MBS;
* communication between mbs-frontend to mbs-backend;
* listen to messages sent by fedora-messaging;
* koji updates will be sent to fedora-messaging which will be consumed by a mbs consumer and trigger workers accordingly.
You can see messages sent to fedmsg by running `fedmsg-tail` or `fedmsg-tail --include org.centos.prod.buildsys`.