Name: starter-kit
Owner: cockpit-project
Description: Everything you need to develop, test and deploy your own cockpit plugin
Created: 2017-06-14 13:04:08.0
Updated: 2018-05-09 16:42:00.0
Pushed: 2018-05-09 16:41:58.0
Size: 64
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Scaffolding for a Cockpit module.
Make sure you have npm
available (usually from your distribution package).
These commands check out the source and build it into the dist/
directory:
clone https://github.com/cockpit-project/starter-kit.git`
tarter-kit`
make install
compiles and installs the package in /usr/share/cockpit/
. The
convenience targets srpm
and rpm
build the source and binary rpms,
respectively. Both of these make use of the dist-gzip
target, which is used
to generate the distribution tarball. In production
mode, source files are
automatically minified and compressed. Set NODE_ENV=production
if you want to
duplicate this behavior.
For development, you usually want to run your module straight out of the git
tree. To do that, link that to the location were cockpit-bridge
looks for packages:
r -p ~/.local/share/cockpit
s `pwd`/dist ~/.local/share/cockpit/starter-kit
After changing the code and running make
again, reload the Cockpit page in
your browser.
Run make check
to build an RPM, install it into a standard Cockpit test VM
(centos-7 by default), and run the test/check-application integration test on
it. This uses Cockpit's Chrome DevTools Protocol based browser tests, through a
Python API abstraction. Note that this API is not guaranteed to be stable, so
if you run into failures and don't want to adjust tests, consider checking out
Cockpit's test/common from a tag instead of master (see the test/common
target in Makefile
).
After the test VM is prepared, you can manually run the test without rebuilding the VM, possibly with extra options for tracing and halting on test failures (for interactive debugging):
TEST_OS=centos-7 test/check-application -tvs
You can also run the test against a different Cockpit image, for example:
TEST_OS=fedora-27 make check
This directory contains a Vagrantfile that installs and starts cockpit on a
Fedora 26 cloud image. Run vagrant up
to start it and vagrant rsync
to
synchronize the dist
directory to /usr/local/share/cockit/starter-kit
. Use
vagrant rsync-auto
to automatically sync when contents of the dist
directory change.
After cloning the Starter Kit you should rename the files, package names, and labels to your own project's name. Use these commands to find out what to change:
find -iname '*starter*'
git grep -i starter