English Ukrainian
How to push Fedora Badges How to push Fedora Badges
Architecture
The badge-awarding back-end daemon, https://github.com/fedora-infra/fedbadges[fedbadges], wakes up when it receives a https://fedmsg.readthedocs.io[fedmsg] event. It compares that message and the history in https://github.com/fedora-infra/datanommer[datanommer] against a series of rules. If a contributor matches the criteria described in one of those rules, then they are awarded a badge.
The front-end is a web application called https://github.com/fedora-infra/tahrir[Tahrir]. It mostly is just an interface for users to look at their badges. However, it also has an admin interface for manually adding new badges, awarding badges, and creating "invitations" (QR codes) for badges.
The badge-awarding back-end daemon, https://github.com/fedora-infra/fedbadges[fedbadges], runs on the `badges-backend01` node. The process is `fedmsg-hub` and logs are in `/var/log/fedmsg/fedmsg-hub.log`.
The front-end runs under `apache/mod_wsgi` on `badges-web0{1,2}` nodes.
Upstream documentation
For a detailed description of how the fedbadges daemon works, see the https://github.com/fedora-infra/fedbadges/blob/develop/README.rst[fedbadges README].
For a diagram of the interacting pieces in the Fedora Badges system, see the https://github.com/fedora-infra/fedbadges/blob/develop/diagrams/[fedbadges diagrams].
Sysadmin process: How to push a Badge
Pushing badges consists of two operations:
Push badge assets (`.png`, `.svg`, `.yaml`) to https://pagure.io/fedora-badges[fedora-badges] repository
Add badge to https://badges.fedoraproject.org/[badges.fedoraproject.org]
Anyone with write permissions to https://pagure.io/fedora-badges[fedora-badges] can push badges. Pull requests can also be used. Only members of the `sysadmin-badges` FAS group _and_ xref:add-tahrir-admins[admins of the web interface] can add badges.
Badge artists and badge developers should push design assets (`png` and `svg` art) and rules (`yaml`) to the https://pagure.io/fedora-badges[fedora-badges] repository.
Preparing to create a badge
Once a badge is approved by the Design Team and has the https://pagure.io/fedora-badges/issues?status=Open&tags=ready+to+push[ready to push] tag, they are ready to be pushed. Follow this checklist to push a new badge:
Ensure artwork is *approved* by Design Team
Ensure name and description of badge are clear
Ensure one of these requirements is met: