Installation

Spencer Smith edited this page Jun 24, 2015 · 54 revisions

System Requirements

  • Bash shell and a unix system environment. Rerun has been tested on Centos, Ubuntu, Mac OSX, and Solaris so far (it's even rumored to run on AIX given GNU tools).
  • The documentation tool, stubbs:docs, uses two external tools to generate an HTML manual. These need to be in the $PATH:

Installation

Using YUM and RPM (Centos/Redhat)

$ rpm -Uvh https://dl.bintray.com/rerun/rerun-rpm/rerun-1.3.4-1.el6.noarch.rpm

From source (any other OS)

Simply "git clone" it.

$ cd $HOME
$ git clone git://github.com/rerun/rerun.git
$ cd rerun

After it is downloaded, invoke the rerun -help to see usage and version:

$ ./rerun -help
  _ __ ___ _ __ _   _ _ __
 | '__/ _ \ '__| | | | '_ \ 
 | | |  __/ |  | |_| | | | |
 |_|  \___|_|   \__,_|_| |_|
 Version: 1.0.2 License: Apache 2.0.
usage: rerun [-h][-v][-V] [-M <dir>] [--answer <file>] [module:[command [options]]]

Add rerun to your $PATH.

Run it without arguments to see a list of installed modules.

$ rerun 
Available modules in "/Users/alexh/rerun/modules":
stubbs: "Simple rerun module builder"

Successful installation results in a module listing (stubbs module is included by default).

Bash completion

Rerun's listing feature is available through Bash command completion. To enable it, update your .bash_profile with a line like so:

$ [ -r $HOME/rerun/etc/bash_completion.sh ] && source $HOME/rerun/etc/bash_completion.sh

Environment

Update your Bash profile (e.g., .bash_profile, .bashrc) to set the following environment variables.

PATH

Add the path to your rerun executable to your $PATH.

RERUN_MODULES

Rerun checks for an environment variable called $RERUN_MODULES that specifies a directory of rerun modules. If $RERUN_MODULES is not set, rerun checks the current working directory for a subdirectory called "modules".

RERUN_COLOR

Set 'true' if you want ANSI text effects

Single user setup

A single user setup makes sense when rerun commands are all executed by that user. This might be a human's unix account or it could be a "role" account used for administration tasks (eg. deployment procedures).

Example: Single user rerun setup.

$ export PATH=$PATH:$HOME/rerun
$ export RERUN_MODULES=$HOME/rerun/modules
$ [ -t 0 ] && export RERUN_COLOR=true

System wide setup

System wide setup can make sense if rerun is used to manage any system task.

Example: System wide rerun setup.

# Copy rerun to /usr/bin/rerun
$ export RERUN_MODULES=/var/rerun/modules
$ export RERUN_COLOR=false

Authorization

Rerun doesn't have its own built in access control mechanism. Users can see any module if that module's directory has executable permission. Using unix file ownership and permissions can provide a modicum of control. For example, modules might have different owner:group ownership with appropriate owner/group read and execute permissions.

If fine grained security is important, consider wrapping rerun with a tool that provides it or just use a better tool!

If you have ideas on how to enhance authorization inside rerun, we'd love to hear about it though !

Next steps

See README.md for general usage information.

The stubbs module is included and you'll find it useful to create your own modules.

Visit the https://github.com/rerun-modules site to find contributed rerun modules.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.