It's Raining Code!

April 4, 2016 - Antoine Mercadal

Introduction

During the CappCon2016, Nuage Networks released a ton of code related to Cappuccino and Monolithe. In this blog post, we will go through the various components, and we will see how everything is falling into place, since the release of our vspk.

Monolithe Specifications Director

You might already be aware of Monolithe, our code generation library that can create SDKs in various languages from a set of JSON Specifications.

We use this internally to describe our ReST apis and to generate the vspk. But you can easily imagine that we are not editing all the VSD api specifications by hand.

Instead, we use a tool called Monolithe Specifications Director. It is a client/server application that provides a nice Cappuccino UI to import, edit, pull and push any changes in the specifications directly from/to GitHub.

The Specifications Director is a system that is composed of:

It all runs in Docker and it is very scalable.

We’re happy to announce that this has been released during the last CappCon 2016 in March.

The source code is available on GitHub. Pre built containers are available on Docker Hub.

You can start the entire platform using the docker-compose file available here.

This is a really cool addition to our Monolithe Stack.

But that is not all.

Garuda

The Specifications Director backend is based on a in-house library called Garuda. Garuda provides everything you need to develop a Python application server. The cool thing is that it uses any Monolithe generated SDK to provides an entire ReST api based on it. By just telling what SDK to use, and without a single additional line of code, Garuda will provide:

The only thing you may want to add is your pure custom business logic that you can implement in a set of plugins, using a delegation system.

Garuda also has been released during the CappCon 2016 and the source code is available on GitHub. A Docker base image with everything pre installed is available on Docker Hub.

NUKit

The front end of the Specifications Director is built with Cappuccino. If you pay attention, you will see that it looks a lot like VSP Architect and that’s for one good reason. We use the same Cappuccino Framework called NUKit that we developed internally during the last past 4 years. NUKit is a really powerful application toolkit that abstracts all the little details you would need to take care of in order to communicate with a VSD-style API like Garuda. Adding views and controls for an entire new feature is matter of minutes and needs no more than a few dozen lines of code.

NUKit has also been released during the CappCon 2016, and it’s available on GitHub

Going further

As you can see, this a pretty massive release. If you think about it, we are now providing a complete stack, from the specifications to the UI and SDKs, that doesn’t need more than a few lines of code to get all the not-so-basic operations ready to rock.

There is a lot to learn, but to get started you can follow our tutorial available on GitHub too. It will walk you through the basics, and you will create a ToDo list application using the stack. For more information about the system, you can take a look at the source code the Monolithe Specifications Director, as it is a fairly complex example that uses most of what Garuda has to offer.

Enjoy and as usual, share the love!