FMN replacement research

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 maintianing 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.