Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cockpit-project/cockpit-machines
Cockpit UI for virtual machines
https://github.com/cockpit-project/cockpit-machines
Last synced: about 4 hours ago
JSON representation
Cockpit UI for virtual machines
- Host: GitHub
- URL: https://github.com/cockpit-project/cockpit-machines
- Owner: cockpit-project
- License: lgpl-2.1
- Created: 2021-03-18T08:34:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T08:07:40.000Z (about 1 month ago)
- Last Synced: 2024-10-29T09:25:10.599Z (about 1 month ago)
- Language: JavaScript
- Size: 13.3 MB
- Stars: 291
- Watchers: 16
- Forks: 74
- Open Issues: 113
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- stars - cockpit-machines - project | 304 | (JavaScript)
- stars - cockpit-machines - project | 304 | (JavaScript)
README
# cockpit-machines
This is the [Cockpit](https://cockpit-project.org/) user interface for virtual machines.
## Technologies
- [libvirt-dbus](https://libvirt.org/dbus.html) for enumerating machines, getting status
update notifications, and operations such as start/stop/delete
- [virt-install](https://manpages.org/virt-install) and [virt-xml](https://manpages.org/virt-xml)
for creating and modifying machine definitions; both part of the
[virt-manager](https://virt-manager.org/) 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](./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/workflows/release.yml)
[GitHub action](https://github.com/features/actions) workflow. This creates the
official release tarball and publishes as upstream release to GitHub.The Fedora and COPR releases are done with [Packit](https://packit.dev/),
see the [packit.yaml](./packit.yaml) control file.# Automated maintenance
It is important to keep your [NPM modules](./package.json) up to date, to keep
up with security updates and bug fixes. This happens with
[dependabot](https://github.com/dependabot),
see [configuration file](.github/dependabot.yml).Translations are refreshed every Tuesday evening (or manually) through the
[weblate-sync-po.yml](.github/workflows/weblate-sync-po.yml) action.
Conversely, the PO template is uploaded to weblate every day through the
[weblate-sync-pot.yml](.github/workflows/weblate-sync-pot.yml) action.