This is the Cockpit user interface for virtual machines.
- libvirt-dbus for enumerating machines, getting status update notifications, and operations such as start/stop/delete
- virt-install and virt-xml for creating and modifying machine definitions; both part of the virt-manager project
On Debian/Ubuntu:
$ sudo apt install gettext nodejs make
On Fedora:
$ sudo dnf install gettext nodejs make
These commands check out the source and build it into the dist/
directory:
git clone https://github.com/cockpit-project/cockpit-machines
cd cockpit-machines
make
sudo make install
installs the package in /usr/local/share/cockpit/
. This depends
on the dist
target, which generates the distribution tarball.
You can also run make rpm
to build RPMs for local installation.
In production
mode, source files are automatically minified and compressed.
Set NODE_ENV=production
if you want to duplicate this behavior.
See HACKING.md for details about how to efficiently change the code, run, and test it.
The intention is that the only manual step for releasing a project is to create a signed tag for the version number, which includes a summary of the noteworthy changes:
123
- this new feature
- fix bug #123
Pushing the release tag triggers the release.yml GitHub action workflow. This creates the official release tarball and publishes as upstream release to GitHub.
The Fedora and COPR releases are done with Packit, see the packit.yaml control file.
It is important to keep your NPM modules up to date, to keep up with security updates and bug fixes. This happens with dependabot, see configuration file.
Translations are refreshed every Tuesday evening (or manually) through the weblate-sync-po.yml action. Conversely, the PO template is uploaded to weblate every day through the weblate-sync-pot.yml action.