Update README.md
This commit is contained in:
parent
5705467b85
commit
5d51c45aa5
1 changed files with 22 additions and 61 deletions
83
README.md
83
README.md
|
|
@ -1,6 +1,21 @@
|
||||||
# Cockpit Starter Kit
|
# Cockpit Session Recording
|
||||||
|
|
||||||
Scaffolding for a [Cockpit](http://www.cockpit-project.org) module.
|
Module for [Cockpit](http://www.cockpit-project.org) which provides session recording
|
||||||
|
configuration and playback.
|
||||||
|
It requires [tlog](https://github.com/Scribery/tlog) to record terminal sessions.
|
||||||
|
SSSD is required to manage which users / groups are recorded. Systemd Journal is used to store recordings.
|
||||||
|
Ansible role for session-recording is [here](https://github.com/nkinder/session-recording).
|
||||||
|
|
||||||
|
Demos & Talks:
|
||||||
|
|
||||||
|
* [Demo 1 on YouTube](https://youtu.be/5-0WBf4rOrc)
|
||||||
|
* [Demo 2 on YouTube](https://youtu.be/Fw8g_fFvwcs)
|
||||||
|
* [FOSDEM talk](https://youtu.be/sHO5y28EHXg)
|
||||||
|
|
||||||
|
GitHub Organization:
|
||||||
|
|
||||||
|
* [scribery.github.io](http://scribery.github.io/)
|
||||||
|
* [Scribery](https://github.com/Scribery)
|
||||||
|
|
||||||
# Getting and building the source
|
# Getting and building the source
|
||||||
|
|
||||||
|
|
@ -8,8 +23,8 @@ Make sure you have `npm` available (usually from your distribution package).
|
||||||
These commands check out the source and build it into the `dist/` directory:
|
These commands check out the source and build it into the `dist/` directory:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/cockpit-project/starter-kit.git
|
git clone https://github.com/Scribery/cockpit-session-recording.git
|
||||||
cd starter-kit
|
cd cockpit-session-recording
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -27,7 +42,7 @@ tree. To do that, link that to the location were `cockpit-bridge` looks for pack
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir -p ~/.local/share/cockpit
|
mkdir -p ~/.local/share/cockpit
|
||||||
ln -s `pwd`/dist ~/.local/share/cockpit/starter-kit
|
ln -s `pwd`/dist ~/.local/share/cockpit/session-recording
|
||||||
```
|
```
|
||||||
|
|
||||||
After changing the code and running `make` again, reload the Cockpit page in
|
After changing the code and running `make` again, reload the Cockpit page in
|
||||||
|
|
@ -50,60 +65,6 @@ Violations of some rules can be fixed automatically by:
|
||||||
|
|
||||||
Rules configuration can be found in the `.eslintrc.json` file.
|
Rules configuration can be found in the `.eslintrc.json` file.
|
||||||
|
|
||||||
# Automated Testing
|
# Credits
|
||||||
|
|
||||||
Run `make check` to build an RPM, install it into a standard Cockpit test VM
|
Cockpit-session-recording is based on [starter-kit](http://cockpit-project.org/blog/cockpit-starter-kit.html).
|
||||||
(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-28 make check
|
|
||||||
|
|
||||||
# Vagrant
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
# Customizing
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# Automated release
|
|
||||||
|
|
||||||
Once your cloned project is ready for a release, you should consider automating
|
|
||||||
that. [Cockpituous release](https://github.com/cockpit-project/cockpituous/tree/master/release)
|
|
||||||
aims to fully automate project releases to GitHub, Fedora, Ubuntu, COPR, Docker
|
|
||||||
Hub, and other places. The intention is that the only manual step for releasing
|
|
||||||
a project is to create a signed tag for the version number; pushing the tag
|
|
||||||
then triggers a GitHub webhook that calls a set of release scripts (on
|
|
||||||
Cockpit's CI infrastructure).
|
|
||||||
|
|
||||||
starter-kit includes an example [cockpitous release script](./cockpituous-release)
|
|
||||||
that builds an upstream release tarball and source RPM. Please see the above
|
|
||||||
cockpituous documentation for details.
|
|
||||||
|
|
||||||
# Further reading
|
|
||||||
|
|
||||||
* The [Starter Kit announcement](http://cockpit-project.org/blog/cockpit-starter-kit.html)
|
|
||||||
blog post explains the rationale for this project.
|
|
||||||
* [Cockpit Deployment and Developer documentation](http://cockpit-project.org/guide/latest/)
|
|
||||||
* [Make your project easily discoverable](http://cockpit-project.org/blog/making-a-cockpit-application.html)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue