Rex (software)


?ex or simply Rex is an open source remote execution, configuration management and software deployment tool.
It combines Perl and Secure Shell for a portable, centralistic approach to its problem domain.
Rex is an acronym for "Remote Execution".

History

Rex originated from the need of a flexible, parallel remote execution application with software deployment and configuration management capabilities. Unsatisfied with available implementations in 2010, the author of Rex, Jan Gehring, decided to implement a Perl-based tool to cope with his requirements.

Design

Rex is a stand-alone application executing either a single command or so-called tasks. Tasks are specified on the command line and are defined in Rexfiles. A Rexfile takes a similar role for remote execution as a Makefile does for application installation.
It is defined via a small DSL, but is essentially a Perl script. Therefore, it can contain arbitrary Perl as well.
For code reuse, configuration instructions are placed in modules which can be included by a Rexfile. A template system for configuration files is available.
For Rex to be able to work, the managed targets must provide a running SSH server and a Perl 5 interpreter.
Rex serves a variety of applications. Examples are user & group, cron, filesystem, kernel module, process and virtual machine management.

Public recognition

Rex is discussed on conferences and in related press releases.
It was voted under the Best Open Source solutions 2013 by .