Yes, yes, FiFo is still down and customers are crying their eyes out, and I have listed the various alternatives to FiFo in my last blog, now - which one of these options would satisfy all our needs?
None.... so my solution is; write a new GUI ourselves, I mean how difficult can it be? My argument is that since we only need basic functionality to start with, then all we have to do is write some kind of webified wrapper for imgadm and vmadm which seems easy peasy.
As soon as I had finished my thought, the young office punk started to argue that it was a complete waste of time. It is much better to contribute to the existing FiFo project in unison with all the other contributors and reap all the inherent benefits of a real open source project he argued. But I was not entirely convinced, the FiFo project has already grown out of proportion and I was confident that no one else would subscribe to my minimalistic approach.
In the above picture the resident office punk is in the process of convincing me (it's me on the floor) about all the happy joys and benefits of Open Source and that sharing is caring. After being overwhelmed by loving arguments, I agreed to publish the source code on Github if ever I got around to program the darn thing.
In an effort to keep things simple and not fall in the same pitfalls as FiFo it is nessecery to keep ambitions to an absolute minimum, or even better, don't have any ambitions at all. In any case the ambitions or lack of same amount to:
Simple Graphical User Interface written in node.js running in a single SmartOS Zone. Management is done via SSH into Global Zone. All machine and User infoirmation are stored in JSON files.User sessions are tracked with a single cookie.
User Access Control
Virtual Machine administration
- Snapshot create delete rollback
- Get VNC info
- Automatic IP delegation
As you can probably see from above, it is very lightweight; hence the name LightlyCloudy for this project was born. There is only one external dependency which is SSH2 and it's used for the purpose of SSH'ing into the Global Zone and execute the imgadm and vmadm commands. And you will also notice the complete lack of a backend database, there are simply no justification for using a database and add unnecessary complexity with the amount of users we plan to support.
Since we have no immediate plans to save the entire world within the next weeks, there are some features that will have to wait for version 2.0 of LightlyCloudy. They are, just to list a few; support for multiple hypervisors, virtual network administration, prerequisite checks, and performance considerations.
Now with a clear plan in mind I started to write the all the code by myself, I'm still looking for voluntary contributors, but haven't found anyone yet, I'm considering to adopt the convincing methods I've learned earlier.
Anyway, stay tuned for next episode, where I will share the code and experiences gained with anyone interested.