[Devel] Contribution to a new and official Web UI to OpenVZ

Alexander Kurbatov alkurbatov at virtuozzo.com
Wed May 15 11:46:12 MSK 2019


Hi, Paulo,

prlctl uses Virtuozzo SDK inside.

If you plan to use nodejs, I would recommend to wrap existing Virtuozzo SDK into native code, e.g. like it is done here:
https://github.com/matortheeternal/s2js
Such approach is much faster (comparing to cmdline execution) and provides better flexibility.


14 мая 2019 г., в 19:45, Paulo Coghi - Coghi IT <paulocoghi at gmail.com<mailto:paulocoghi at gmail.com>> написал(а):

Thank you so much for the response!

I used the commercial version for more than a year, and it was a great experience.

There are many good aspects to be inspired from it, but I will strive to deliver improvements as well (always talking to you first).

My plan is to create a complete architecture (below), integrating and testing it first on OpenVZ and later on Virtuozzo (commercial version).

1. OpenVZ SDK in pure nodejs
 - zero dependencies
 - to manage every aspect of the host, OpenVZ containers (and later VMs)
 - available as a NPM package

2. Back-end API that uses this new SDK:
 - API with both HTTP and Socket (real-time) endpoints
 - modular and easy to maintain; fast with async and reactive programming
 - secure, with two-factor auth, brute-force analysis, and session tokens instead of JWT
 - low RAM usage (expected ~60MB) and small, dependency-free, Linux binary (expected ~20 to ~40MB)

3. Front-end
 - design: following the best practices in UI/UX
 - small and fast: compiling the app to a pure, framework-less and performant javascript code (Svelte)
 - easy to receive code contributions, using natural HTML+CSS+JS that everyone knows in each component (Svelte)
 - responsive and mobile friendly


I have only one doubt:
What is the method used by the existing Virtuozzo SDKs to comunicate directly with OpenVZ? Call `prlctl` commands on behind, or access a specific OpenVZ interface to control it?

If such an interface exists, I would prefer to make the new SDK in Node to use it, instead of call `prlctl` commands on behind.

-

I'm commited to help making OpenVZ better, better known, make it even easier than it already is (with the new UI) and give support for the community. In this way, I hope to bring more users not only to the open source version of OpenVZ, but more paying customers to Virtuozzo as well.

Thanks again!


Paulo Coghi








On Tue, May 14, 2019 at 11:52 AM Konstantin Khorenko <khorenko at virtuozzo.com<mailto:khorenko at virtuozzo.com>> wrote:
Hi Paulo,

you are very welcome in the OpenVZ community and i bet many OpenVZ users will be grateful to you
for the convenient UI developing.

 From our side we can show you the UI for Virtuozzo version so you can check what how it's done,
take a look what functionality is implemented there, etc.
It may be useful to verify the existing solution while designing the new one.

https://docs.virtuozzo.com/virtuozzo_automator_7_administrators_guide/index.html
This is a UI for administrator.

https://docs.virtuozzo.com/virtuozzo_powerpanel_administrators_guide/index.html
This is for end-users (so, they can configure their own Containers and VMs only).

AFAIK, above UI work on Virtuozzo installations only, so you will need to set up trial
Virtuozzo nodes. If you have any difficulties with getting trial licenses for that, please let us know.

i don't currently know your plan (design), but probably if you wish to minimize the effort of writing
back-end, we can teach back-end of Virtuozzo Automator to be installed on OpenVZ nodes as well
(currently it will detect OpenVZ and fail the installation) and provide the back-end API,
so you can write only frond-end UI part.
i'm currently not 100% committing to that plan but it seem to be logical and if you like it
(after you check the internal Automator structure and the API), we can ask for permission to do that.

Good luck!

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/devel/attachments/20190515/a8848ecc/attachment.html>


More information about the Devel mailing list