starter-kit
starter-kit copied to clipboard
Allow publishing on non-distro distributions
We currently don't have a way past building and packaging for various distributions. But for many that might be too much work. It would be great if we can:
- Support publishing to NPM
- Support installing through a container
- Publishing Flatpaks that can layer on Cockpit Client
We have a way easier way to "install" a plugin and that is via ~/.local/share/cockpit/$plugin/ or /usr/local/share/cockpit/$plugin.
I'm not too supportive of installing to npm, that is something people should be able to figure out themself?
Not sure if I understand the container case, what would that mean?
A flatpak layer sounds interesting but I have no idea how that would work?
We have a way easier way to "install" a plugin and that is via
~/.local/share/cockpit/$plugin/or/usr/local/share/cockpit/$plugin.
True, but if a plugin has this as their installation instructions they lose out on a package manager and won't get updates.
I'm not too supportive of installing to
npm, that is something people should be able to figure out themself?
We should actively make it easy to publish their plugin to npm though IMO. That way they can keep their plugin updated, published, and installed on systems easier. Mind you npm isn't great as a package manager but at least it's better than a download script.
Not sure if I understand the container case, what would that mean?
Container that can install plugins and check if installed plugins have newer versions (for those who installed through a curl command for example). Could trigger it to auto-update plugins in a service.
A flatpak layer sounds interesting but I have no idea how that would work?
Through a Flatpak extension https://docs.flatpak.org/en/latest/dependencies.html
It would simply be adding stuff on top of our flatpak. Similar to how Steam Tinker Launch adds on top of Steam flatpak
I don't want to encourage installing cockpit pages through npm. It doesn't know how to put the pages in a place where Cockpit can find them, it doesn't have a convincing upgrade story either, and it does not have any OS integration wrt. other dependencies. E.g. cockpit-foo usually depends on some corresponding "foo" system API, like c-machines depends on libvirt/qemu, cockpit-podman on podman, and so on.
starter-kit is meant as a starting point for "productized" Cockpit extensions, and our prefered distribution mechanism is packages -- either in distros natively, or in COPR/PPA/OBS. It's not a good starting point for first experiments and simple org-internal pages that don't need all the build/bundle/translation/distributions shenanigans. That's much better done with the classic https://cockpit-project.org/blog/creating-plugins-for-the-cockpit-user-interface.html IMHO.