FMN replace or fix research (June 2021)
FMN is application where users with fedora account setup notifications to be sent on fedora-messaging messages that match a specific filter.
Our current deployment running on https://apps.fedoraproject.org/notifications/.
It uses https://github.com/fedora-infra/fmn
The software is currently under our fedora-infra organization.
Abstract take-away
FMN is a project that allows people in our community to get notified when messages that interest them fire on the message-bus, making the message-bus more useful to people that are not directly developing or troubleshooting applications running in our infra.
This means we really don’t want to drop it’s support.
A two person team with skill in python development, with access to current FMN infrastructure, and ability to run deployment playbooks should be able to finish the work started in Pierre’s POC and end up with up-to-date and more maintainable project.
Solutions to be explored
We have three options:
Upgrade FMN to supported version of Python and invest in the maintenance
Create a new bespoke application and invest in the maintenanece
Find off-the shelf application that would fill the role without us needing to maintain it
Currently we are proposing primarily the first option.
Preliminary notes on maintaining current FMN
Based on Pierre’s POC, FMN is upgrade-able to recent versions of python and its libraries.
This suggests it is prudent to invest in it further
FMN is key piece to fullfil the promise of having a message-bus useful to our community
green-field development is more costly and harder to ramp up
Outstanding issues to be tackled by the initiative:
verify the upgrades actually work by thorough testing
migrate FMN to the fedora-messaging message-bus, as it still relies on fedmsg
improve it’s development state, by improving the test coverage, adding more static-checks e.t.c.
Preliminary notes on using other off-the-shelf applications
As we want people to be able to get notified on messages on the bus, we’d need to integrate with our fedora-messaging infrastructure and our account system. We didn’t find application that could be deployed and fullfil all of the needs FMN currently serves
Create a new bespoke application that better suits our needs
This is an option we’d take if and only if the path of maintaining the original application was not feasible, or there was some way to greatly simplify the new implementation.
With FMN neither is the case.