We list here the different projects we decided to share with the community under GPL-v3 license. All of these projects are maintained by the R&D team of Quai des Apps and are used in production environment.

Cerberus

Fully funded by Quai des Apps

Cerberus is a generic authorization authority. It is meant to manage SaaS services authorization and quotas. It was designed in the most generic way. Thus it can handle the authorization of multiple SaaS services, multiples customers buying one or more services, billing plans, ACL, quotas, etc. Cerberus is internally considered as a product with its roadmap and project management. As of July 2017, Cerberus is the only open source project offering these features.

Cerberus core

Cerberus core is the authorization authority itself. It exposes a RESTful API developed in JS, powered by LoopBack and MongoDB. Get more information on the Cerberus core git repository.

Cerberus NodeJS connector

The NodeJS connector is a NPM package meant to abstract all REST calls to the Cerberus core. Get more information on the Cerberus JS connector git repository.

Cerberus administration panel

Is the web front-end allowing administrators to provision and manage SaaS services, ACL, quotas, plans, users,… This project is at an early stage. Get more information on the Cerberus admin git repository.

Esther-PLM

Partially funded by Quai des Apps

Esther-PLM pretends to be a light-weight Platform Lifecycle Manager for application platform based on micro-services. It is totally agnostic regarding the containerization technology (B-M, Docker, LXD, …). Its first goal is to handle micro-services registration, configuration deployment and basic health checks. It additionally supports plugins for Nginx configuration generation, Mattermost notifications, … It can be easily customized by adding new plugins. As an example, we use it for building the Nginx configuration which is dynamically provided to Blinkl load balancer (see Nginx-auto-reload).

Esther-PLM core

Is the PLM service itself on which micro-services register, declare their URI, their status, … It exposes a simple REST API. It is written in Go and is distributed for Linux, Mac OS and Debian packages. Get more information on the Esther-PLM core git repository.

Esther-PLM NodeJS connector

Is the JS connector meant to abstract REST calls to the Esther-PLM core. Get more information on the Esther-PLM NodeJS connector git repository.

Esther-PLM C++ connector

Is the C++ connector meant to abstract REST calls to the Esther-PLM core. Get more information on the Esther-PLM C++ connector git repository.

Esther-PLM Web UI

Is an extremely light-weight web front-end offering a nice overview of the managed applicative platform. Get more information on the Esther-PLM Web UI git repository.

Esther-compose

Partially funded by Quai des Apps

This software is a command line tool meant to render text template with JSON data. It supports Mustache templates and Go templates. It is largely used for Blinkl configuration file generation. This software is developed in Go and distributed for Linux, Mac OS and Debian packages. Get more information on the Esther-compose git repository.

Esther-request-tracer

Partially funded by Quai des Apps

Is a simple NodeJS-Express middleware meant to log formatted metrics of HTTP requests. It is developed in JS. It is used into all of Blinkl services written in JS. Get more information on the Esther-request-tracer git repository.

Nginx-auto-reload

Fully funded by Quai des Apps

Is a Docker image containing a Nginx service and all required components for configuration auto-reloading. It is meant to automatically reload Nginx each time its configuration has changed. This service is the main load balancer of the Blinkl platform. Get more information on the Nginx-auto-reload git repository.