nicolargo/glances

Split Glances (Core) and Glances (WebUI) in two seperated repositories/packages

Opened this issue · 3 comments

For the moment (3.2.7), the Glances core functions and Glances WebUI are shipped in one package (pip install glances). The goal of this feature request is two split its in two seprated git repository/pypi package:

  • glances: the Glances core without WebUI
  • glances-webui: all the statics files for the Glances WebUI

Why ?

  • the WebUI is based on front-end technologies (AngularJS for the moment) and Glances core on pure Python
  • It will allow to have a dedicated team/maintainer for the Glances WebUI
  • Security issue and licensing management

How ?

  • Create a glances-webui git repository ==> https://github.com/nicolargo/glances-webui
  • Create a CI (Github Action) to build automatically the WebUI
  • Copy the content of the glances/outputs/static folder inside the glances-webui repository
  • Create a glances-webui pypi package (with a dep to glances)
  • Create a new GlancesWebUI Python class in order to manage the WebUI inside Glances "core". This class will provide the path for self.STATIC_PATH and TEMPLATE_PATH for glances_restfull.py (see Please add a startup flag to select an alternate web server static file path #2612)
  • When the glances-webui is ready, remove all the glances/outputs/static (and the deps, Makefile...) from Glances
  • Identify the Glances version where the migration will be done => Glances 4.0.0

@nicolargo
I think we should get this done first.
As this would decouple the web UI and the glances development.

Also would remove the need for this repo to contain node packages.

Another thing to do is, we should probably let the CI Pipeline to perform builds rather than us manually doing it and have such a build test on PRs to get visibility on if a npm package upgrade can break things in the UI.

I have made some change on the "How ?" section.

This issue is stale because it has been open for 3 months with no activity.