Skip to content

Instantly share code, notes, and snippets.

@aswinmprabhu
Last active August 19, 2019 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aswinmprabhu/ee61a3c103422336a27cafaa99479865 to your computer and use it in GitHub Desktop.
Save aswinmprabhu/ee61a3c103422336a27cafaa99479865 to your computer and use it in GitHub Desktop.

Google Summer of Code Final Submission

Student - Aswin M Prabhu

Organization - Moira

Project - Adding support for additional delivery channels to Moira

The initial aim of the project as stated in my proposal was to add support for additional delivery channels to Moira. Moira is a real-time alerting tool, based on Graphite data. Delivery channels are integrations with other services such as Slack or email used to alert users. The proposed channels included popular on-call incident management tools like PagerDuty, VictorOps, Opsgenie, team chat apps like Discord and voice and SMS API providers like Nexmo. During these 3 months, I was able to meet the objectives mentioned in my proposal. All pull requests related to the project were made to the Moira repository which is the backend and the Web2.0 repository which is the frontend.

The pull requests that I worked on for the backend can be found at

https://github.com/moira-alert/moira/pulls?q=is%3Apr+is%3Aclosed+author%3Aaswinmprabhu

and for the frontend can be found at

https://github.com/moira-alert/web2.0/pulls?q=is%3Apr+is%3Aclosed+author%3Aaswinmprabhu

Over the course of my project, I was able to

  • Add Markdown support to all Moira senders
  • Improve code quality and reliability of all senders by refactoring out the common code patterns and rebuilding the algorithm for message string construction
  • Design and implement four new senders and image storage functionality in platforms like AWS S3 that can be used by all the senders

The most challenging parts of the project were,

  • Testing the new algorithm for message string construction
  • Design of image storage functionality that is abstract enough to be used by all senders
  • Design, implementation and testing of a custom API SDK for the VictorOps API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment