Fork of cockpit-project/cockpit-machines with local patches
  • TypeScript 59.8%
  • Python 37.8%
  • Makefile 0.6%
  • Shell 0.5%
  • CSS 0.5%
  • Other 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tobias Hochgürtel 4da1c755ab
Some checks failed
CodeQL / Analyze (push) Failing after 1m23s
Update node_modules submodule (package-lock.json refresh)
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-15 20:34:38 +02:00
.cockpit-ci cockpit-ci: Update container to 2026-01-10 2026-01-12 07:13:22 +01:00
.fmf fmf: Add test plan and adjust invocation scripts 2021-03-25 12:46:41 +01:00
.github dependabot: ignore major xterm updates 2026-01-07 09:48:00 +01:00
node_modules@3dc0effdcd Update node_modules submodule (package-lock.json refresh) 2026-08-15 20:34:38 +02:00
packaging packaging: Drop obsolete override_dh_auto_install 2026-01-05 08:54:15 +01:00
plans fmf: Drop F40 repo on RHEL 10 2024-05-28 09:34:32 +02:00
po po: Update from Fedora Weblate 2026-01-06 19:53:29 +01:00
src api: Don't poll VM usage in domainGetAll 2026-01-12 12:36:15 +01:00
test test: Wrap concatenated string into parentheses 2026-01-12 07:13:22 +01:00
.eslintignore Update eslint to ignore pkg/lib instead of src/lib 2022-11-07 18:34:40 +01:00
.eslintrc.json build: Add TypeScript infrastructure 2025-05-06 10:47:19 +03:00
.gitignore packaging: Auto-generate debian/copyright 2026-01-05 08:54:15 +01:00
.gitmodules build: Introduce node_modules/ as submodule 2022-04-27 15:54:10 +02:00
.stylelintrc.json stylelint: Update deprecated at-import-partial-extension 2024-12-03 10:17:56 +01:00
build.js build.js: Harmonize with cockpit-podman 2026-01-02 19:21:17 +01:00
HACKING.md HACKING: Current default TEST_OS is fedora-40 2024-08-16 12:38:19 +02:00
LICENSE Add build ecosystem 2021-03-22 13:43:14 +01:00
Makefile Makefile: Update Cockpit lib to 0929533aff4d545ce4ceb36e24e3aa16 2026-01-08 18:02:27 +02:00
org.cockpit_project.machines.metainfo.xml appstream: Fix validation problems 2024-10-11 10:17:54 +02:00
package.json Bump esbuild-sass-plugin in the esbuild group 2026-01-11 10:28:36 +01:00
packit.yaml packit: Reduce srpm_build_deps diff noise 2026-01-05 08:54:15 +01:00
pyproject.toml nics: Support user mode port forwarding 2025-11-11 13:01:02 +02:00
README-CUSTOM.md Replace /root/tools references with /root/work/dev/tools 2026-08-15 20:04:29 +02:00
README.md README.md: npm-update → dependabot 2024-03-08 15:05:09 +01:00
Taskfile.yml Add custom build infrastructure 2026-01-12 22:19:37 +01:00
tsconfig.json api: Add more TypeScript 2025-05-16 16:05:27 +02:00

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 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.