#1593 [RFE] General notification system
Opened 12 years ago by ssieb. Modified 6 years ago

A notification system for changes or warnings would be very useful. It should be general enough, so that it can be hooked to different outputs - mail, message queues (AMQP) or even SNMP traps. It can be a lightweight incarnation of a general message system like fedmsg.

Use Cases

  • Be able to automatically create NFS mounted home directories on the server when users are created (in this case, AMQP or D-BUS output could be used)
  • Be able to receive notifications (mail, SNMP trap) about expiring passwords or certificates (#1985, #3687).

Sources of information
The original use case for this information were notifications triggered by framework (e.g. adding new user). However, there are other sources where people may like to get notifications from, based on complexity and granularity of this system

  • 389 Directory Server
  • Kerberos KDC
  • certmonger
  • SSSD
  • Some polling service checking for expiring passwords

Base architecture
Given that multiple sources may be useful, the most universal system for transmitting and collecting notifications would be D-BUS. There should be a central daemon, possibly oddjob-based, that would relay it to a message queuing software for further delivery.

Calling DBUS from Python code is straightforward, certmonger and SSSD already have DBUS interface that could be extended. Other components (389-DS or Kerberos KDC) would need to be extended first.


The student had given up the project for personal reasons so it is free for anyone to take.

Here are [of source code]] and [https://github.com/pkubatrh/dip/blob/master/doc/obsah.tex|text] which the student wrote before he left. These are GPLv3 licensed and can be used for inspiration.

Do not hesistate to contact [https://www.redhat.com/mailman/listinfo/freeipa-devel|freeipa-devel] mailing list if you are interested in this!

Metadata Update from @ssieb:
- Issue set to the milestone: Ticket Backlog

6 years ago

Login to comment on this ticket.

Metadata