README.md

Cockpit Session Recording

Module for Cockpit which provides session recording configuration and playback. It requires 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.

Demos & Talks:

GitHub Organization:

Getting and building the source

Make sure you have npm available (usually from your distribution package). These commands check out the source and build it into the dist/ directory:

git clone https://github.com/Scribery/cockpit-session-recording.git
cd cockpit-session-recording
make

Installing

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:

mkdir -p ~/.local/share/cockpit
ln -s `pwd`/dist ~/.local/share/cockpit/session-recording

After changing the code and running make again, reload the Cockpit page in your browser.

Running eslint

Cockpit Starter Kit uses ESLint to automatically check JavaScript code style in .jsx and .es6 files.

The linter is executed within every build as a webpack preloader.

For developer convenience, the ESLint can be started explicitly by:

$ npm run eslint

Violations of some rules can be fixed automatically by:

$ npm run eslint:fix

Rules configuration can be found in the .eslintrc.json file.

Credits

Cockpit-session-recording is based on starter-kit.