Serverboards 18.10 Delphinus

  Visit at GitHub

Serverboards 18.10 is the initial release for our new big plans: Integration platform at heart and Marketplace. Since the beginning Serverboards was an integration platform, but focused on specific niches as IT Management and KPI Dashboarding. Now it is foremost a very extensible integration platform.

But all this path has lead us to have many tools and packages that help on several areas. In our vision there was a place for a Marketplace, a package repository from where it is possible to download and buy extensions to Serverboards.

With Serverboards 18.10 this dream comes true, and there is a Marketplace where developers can upload their extensions to Serverboards and users can just install them in a click, easing the discoverability and usage.

This version also had some defattening of the code work, removing many duplicate and so similar processes that needed to be removed. Also removed some features that were not used anymore.

The Marketplace

The Severboards Marketplace currently shows all of the previous included plugins and many more. Some of them are per pay plugins. The current prices are not definitely decided, and we may change them in the future.

Although Serverboards is itself Free Software (Apache2 licensed, its difficult to get better than that), we also need to make money. We opted for an Open Core model where the ore is free and always will be, and additional functionalities may be free software or not. We promise to always have a fully functional Core and only charge for features we believe are for enterprises only.

External developers are more than welcome to build for Serverboards, be it free or for pay. We will keep a 25% of the price of the packages, to ensure the viability of Serverboards and for all the infrastructure we developed, including Serverboards itself. If you are interested, please contact us. We are indeed interested in hearing your ideas.

Currently its possible to install free packages from the UI, normally at the interesting points: when you are adding a new service, it also shows whats on the marketplace. There is also a “Marketplace” tab at settings, and removal and disabling is possible from the “Plugins” section.

In some cases there may be even a free and a for pay version of the same package, as sometimes, as in Google Analytics, there is a limit of requests per API key, and we may provide a per pay version that have everything configured for you.

If you see a per pay package you are interested, please contact us and we will enable it for you. In future versions it will be possible to buy directly from Serverboards or from the Marketplace.

Databox

We introduce databox. Databox is a data warehouse simple management. It uses all the other extractors and services in Serverboards to access to your data, and store it into the databox for faster retrieval, and archival.

You can create whatever SQL expression you want from your extractors, the frequency, if its just a cache in which case if it expires will not be loaded until next use, or if it is a hot data/archival, which will periodically ask and update the data. If you set a well though index, it can be used to archive data, for example using the current data as an index field.

We plan to write a lot more about Databox and why is it a big deal.

If you are interested in the Databox, it is a enterprise package. Please contact us and we will add you to the beta tester program (until end of 2018) with access for free.

Improved status checker

The service status checker now can provide extra information on why did a specific service check failed. A fail can be because of many reasons, only for HTTP it can be DNS error, certificate error, not found error, internal error, empty result error… before it all was just error. Now it provides information on what went bad, and if possible some solution.

Every service type can provide its own checkers, with as much information that it requires, that will go stright to the generated issue, and to the service specific log.

Speaking of issues, now it is smarter on when to open issues, and if a check fails, it will try several times (3, 30 seconds apart), and if it keeps failing, it will create the issue. This is to avoid spurious errors, that in many cases are not real, or fixed as fast that they do not require human intervention. In any case every fail will be properly logged in.

Defattening

The UI has received a big overhaul since 18.04. The header bar is now much simpler and can be modified by the current screen. The sidebar is now more generic and assumes there is always an active project. The search bar and command bar have been both removed (can be added by plugins if somebody wants them). Settings are now simpler, as is the profile screen.

Optional packages, like the SSH connector, is now removed from the core and is in the marketplace. They have been joined by an assortment of other packages in a github repository, where management is now simpler. Instead of several disconnected repositories, all Open Source Packages are together. The old repositories will be archived soon.

On the frontend side we removed many node modules that were not necessary or did not provide enough benefits to justify its inclusion. Plotly has been removed as is not compatible with the current widgets that use USQ, and calendars and time pickers now use the internal components. If any of these components is required, it can be added as a plugin addon.

We removed many variation of the plugin.component.catalog calls, that were specialized in specific types of component. It made sense at the begining, but as soon as we started using more generic components as status checkers and cloud providers, we saw that there is huge potential in making the components and its management as generic as possible. With this change we also added simple icons to all the components, and some other small improvements. Overall the code is now simpler, specially on the frontend side.

Smaller improvements

It is now possible for plugins to add UI components in specific hook points, for example the sidebar or the main bar. If you need any more hooks, dot hesitate to request it in the forums or in the GitHub issue tracker. We are still considering several hook points for the future.

The internal log is stored in the database, and before it could grow indefinitely. Now there are some limits, by default 30 days for debugs messages, 60 for warnings, and 90 for errors. Everyday it removes old messages from the database. This balances the necessity of checking the logs and storage requirements. If you want longer retention periods, its possible to change in the /etc/serverboards.ini file.

s10s got many new powers as login in the marketplace, installing and removing plugins and more.

Universal Service Query now do not depend of each widget, but of each Dashboard. This way it is easier to create the queries for a full dashboard and do not worry to add the same extractors over and over again.

ExoSQL, our Universal Query Service engine, got LATERAL support which allows many tricks as loading from JSON REST points some data, and properly show it into the Dashboards.

The future Roadmap

For the next release, which will be in 19.04, we plan to add, maybe as plugins, maybe in the core:

  • Improvements to marketplace facilities – To be able to buy directly from the app, have subscriptions, and with the community help, add millions of packages.

  • Custom generic form inputs – Not all forms can be defined with simple fields, and some of the current fields are quite limited. We plan to help to be able to add your own, or replace current. This will help for example with the current history about using a code editor for SQL data.

  • Visual SQL editor – As no everybody knows SQL, at least most basic queries should be accessible to everybody.

  • Write facilities into your plugins – We solved the read part of your data. But right now if you want to write you have to resort to non standarized plugin facilities. It is very much possible (check the google drive package), but it is not standarized. We plan to add an INSERT/UPSERT to ExoSQL to ease this problem on any extractor.. or should it be called insertor?

  • Many more packages, and improvements on current ones.

About the release name.

Serverboards use the date to specify the version number, and a simple name from a space object. This is the fourth release, Delphinus:

“Delphinus (Eng. U.S. /dɛlˈfaɪnəs/) Eng. oth: /ˈdɛlfɪnəs/) is a constellation in the northern sky, close to the celestial equator. Its name is Latin for dolphin. Delphinus was one of the 48 constellations listed by the 2nd century astronomer Ptolemy, and it remains among the 88 modern constellations recognized by the International Astronomical Union. It is one of the smaller constellations, ranked 69th in size.”

Delphinus at Wikipedia