cockpit-machines
This is the Cockpit user interface for virtual machines.
Technologies
- 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
Development dependencies
On Debian/Ubuntu:
$ sudo apt install gettext nodejs make
On Fedora:
$ sudo dnf install gettext nodejs make
Getting and building the source
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
Installing
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.
Development instructions
See HACKING.md for details about how to efficiently change the code, run, and test it.
Automated release
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.
Automated maintenance
It is important to keep your NPM modules up to date, to keep up with security updates and bug fixes. This is done with the npm-update bot script which is run weekly or upon manual request through the npm-update.yml GitHub action.
Similarly, 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.