Auto-tools/Projects/Pulse/PulseGuardian: Difference between revisions

No edit summary
Line 17: Line 17:
PulseGuardian will need to know who owns a given queue in order to attempt to contact its owner. Since we currently use the same user for all consumers, we have no way to know which person to contact.
PulseGuardian will need to know who owns a given queue in order to attempt to contact its owner. Since we currently use the same user for all consumers, we have no way to know which person to contact.


We need a web app that performs standard registration: accepts a username and password, emails a verification link/code, and creates the user in RabbitMQ when verifiedIt should also provide a method to reset a user's password and to delete the userFinally, it should provide a method (REST API) to download archived messages (see below).
Although the data currently in Pulse is not confidential, for accountability and to prevent possible abuse, PulseGuardian will be restricted to vouched Mozillians.  Logging in should be performed via Persona, authenticating with mozillians.org.  After logging in, users can then create a RabbitMQ user account (see the [[Auto-tools/Projects/Pulse#Security_Model|Pulse security model]] for default permissions), which will be linked to the associated Mozillians accountInitially we can restrict users to one RabbitMQ account, though in the future we may want to allow multiple accounts to be created for different servicesIf we later implement a message archive, the PulseGuardian web app should also provide a method (REST API) to download archived messages (see below).


The second part is a process that polls RabbitMQ, looking for queues above a set length (WARN_QUEUE_SIZE).  If the queue belongs to a user with a properly formatted username (i.e. an email address), a warning email is sent containing the queue name and current queue length.  After a second threshold is reached (DEL_QUEUE_SIZE), the queue is deleted, and another email is sent.  If the username is not a proper email address (e.g. the public user), the queue is deleted without a user notification when DEL_QUEUE_SIZE is reached (no action is performed at WARN_QUEUE_SIZE).
The second part is a process that polls RabbitMQ, looking for queues above a set length (WARN_QUEUE_SIZE).  If the queue belongs to a user associated with a PulseGuardian account, a warning email is sent to the email address registered with the Mozillians account containing the queue name and current queue length.  After a second threshold is reached (DEL_QUEUE_SIZE), the queue is deleted, and another email is sent.  If the username is not associated with a PulseGuardian account, that is, it was created directly in RabbitMQ, the queue is deleted without a user notification when DEL_QUEUE_SIZE is reached (no action is performed at WARN_QUEUE_SIZE).


Optionally, we can have admin email addresses that are also sent all notifications, including when there is no owner.
Optionally, we can have admin email addresses that are also sent all notifications, including when there is no owner.
Confirmed users
1,927

edits