[Pkg-javascript-devel] Bug#1067132: RFP: incus-ui-canonical -- Incus-UI-Canonical is a browser frontend for Incus (patched LXD-UI)

Osamu Aoki osamu at debian.org
Tue Mar 19 08:29:06 GMT 2024


Package: wnpp
Severity: wishlist
X-Debbugs-Cc: 1036926 at bugs.debian.org, 1067041 at bugs.debian.org, pkg-javascript-devel at lists.alioth.debian.org

* Package name    : incus-ui-canonical
  Version         : 0.6
  Upstream Contact: Canonical, zabbly, osamu at debian.org (See below)
* URL             : https://github.com/osamuaoki/incus-ui-canonical
* License         : GPL-3
  Programming Lang: HTML, JavaScript, TypeScript
  Description     : Incus-UI-Canonical is a browser frontend for Incus (patched LXD-UI)


 incus-ui-canonical is a browser frontend for Incus. It enables easy and
 accessible container and virtual machine management. Targets small and
 large scale private clouds.

 This enhances user experience of incus users.

 This RFP needs help by a person familiar with Node.js, Typescript, etc.

 Background:

 Canonical's actions around relicensing LXD and Linuxcontainer.org's
 reaction of starting Incus as the LXD alternative made Debian to move to
 Incus for Trixie.

 Canonical was shipping LXD's browser frontend LXD-UI as a snap package
 but it never got packaged for Debian.
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036926

 After the fork, incus upstream associated zabbly started to ship latest
 incus deb package on his site while bundling patched LXD-UI with
 rebranding etc.  His packaging method was an interesting one focusing
 on creating a binary package using github workflow, it was not
 compatible with normal Debian packaging practices.

   https://github.com/canonical/lxd-ui (Canonical LXD-UI)
   https://github.com/zabbly/incus (zabbly's incus package builder)
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1067041

 Updating Debian's incus package to include web frontend is not a
 option.  So current Debian incus package lacks web frontend since it
 only relies on https://github.com/lxc/incus.

 Basically, I created https://github.com/osamuaoki/incus-ui-canonical by
 applying patches from zabbly on Canonical's LXD-UI (version 0.6) to
 adopt zabbly's work into more Debian package friendly format.

 Although the resulting web frontend is a static single html page with
 lots of javascripts, building them requires lots of node codes which
 hasn't been packaged for Debian yet.  The build script currently used
 in https://github.com/osamuaoki/incus-ui-canonical access external
 repository, thus isn't ready for Debian.  So consider this as a
 baseline code which needs more work.  Thus this RFP needs help by a
 person familiar with Node.js, Typescript, etc.

 According to zabbly, Incus UI (Equivalent of which, this package tries
 to offer as a normal deb-package) is a single-page application written
 in TypeScript and React and only replicates what you can do with the
 incus CLI program (i.e. works through the REST API).  This is the
 reason behind why zabbly using LXD-UI based code and not other possible
 UIs:

   https://github.com/PenningLabs/lxconsole (PYTHON)
   https://github.com/AdaptiveScale/lxdui (PYTHON)
   https://github.com/turtle0x1/LxdMosaic (JS with SQL)
   https://github.com/lxdware/lxd-dashboard (PHP)

 Some interesting background can be found:

   https://stgraber.org/2023/11/25/adding-a-web-ui-to-the-incus-demo-service/
   https://discuss.linuxcontainers.org/t/web-ui-for-incus/18198
   https://discuss.linuxcontainers.org/t/stateful-uis-and-questions-about-lxd-ui-history/18302
   https://discuss.linuxcontainers.org/t/incus-web-ui-spacing/18928
   https://discuss.linuxcontainers.org/t/lxconsole-as-web-ui/19212

 Other distro related info:
   https://github.com/KosmX/incus-ui-canonical-arch Arch Linux package
   https://gist.github.com/vaxvhbe/ce679df15fc521c8aca1ff9ddf537201 RPM spec file?

Osamu



More information about the Pkg-javascript-devel mailing list