When using on-demand instantiation of virtual machines in cloud computing,
users pass configuration data to the cloud and that data is used for
configuring the instances.
This process is called contextualization. Contextualization includes
identity(users, groups), network, system services and disk configuration.
Flamingo is a contextualization tool that is being developed under GSoC 2015
that aims to handle early initialization of cloud instances.
The current de facto standard for instance virtualization is cloud-init.
However, there are some problems with it. The most prominent ones are:
Don`t get me wrong it gets the job done. But, it has a lot of issuses and
these issues make it hard to use, extend and maintain.
Flamingo aims to solve the following problems encountered in cloud contextualization;
Go is a very suitable choice for a tool like this. Since, it is fast,
it has cheap concurrency, and dependency management is a breeze (see godep).
It allows the distribution of a single executable binary with its dependencies.
The first target for Flamingo is the CentOS Atomic Host and CentOS Linux generic cloud images. We would, ofcourse, like to see wider adoption and are interfacing with other projects and image builders to see how best we might collaborate on this moving forward.
You can find the source code for the tool here.
For more details please check this blog post
In the meanwhile if you'd like to share your opinions, learn more,
or contribute please feel free to open an issue, mail to centos-devel,user-list or come to #centos-devel IRC channel to have a chat.