Cerberus: An Overview
In Greek mythology, Cerberus is a multi-headed dog, which guards the entrance of the Greek underworld.
At Amadeus, Cerberus plays this protective role since 2013, enabling our R&D users to get a single sign-on to all engineering tools provided by our in-house R&D tooling team (such as Jira, Confluence, Stash, R&D Support Portal, Service Status Dashboard and Software Factory). Cerberus is also available to any internal application that needs such a feature.
Why Open Source Cerberus?
Our in-house tooling team provides engineering tools for R&D and we rely on Open Source software so that we don't have to reinvent the wheel. These tools allow us to be more productive, and also focus on customising solutions to fit Amadeus requirements and our ecosystem. When appropriate, the changes we have brought to the software are contributed back to the open source community.
In 2015, Amadeus carried out an inventory of all tools developed in-house to see which ones we could contribute to open source. The first vote went to Cerberus, which is now available in the open space.
Opening up Cerberus
Opening up an internal tool is not as simple as dumping a pile of code on Github. In terms of process, evolution, maintenance and release, it must be organised in a way that is compatible with both internal and external contributors.
Amadeus developers have thoroughly checked and clearly separated configuration from code to ensure that nothing sensitive is shared. We defined maintainers, and set up regular follow-up meetings on the different activities to ensure that the shared material is maintained and eventually used by the open source community.
Making life easy for contributors
Easy installation is the first step to making life simpler for potential contributors. To optimise this first experience, we offer a complete installation guide and a Vagrantfile in order to build a ready-to-use virtual machine containing the service. We also provide code samples using different languages to ease future integrations with various applications.
We invite you to check out and try Cerberus, and share your thoughts and ideas.
This is just a beginning: We plan to open source additional projects, some related to Cerberus, such as Jenkins, JIRA, Confluence and Stash plugins.