(R)?ex | |
Developer: | Jan Gehring, Ferenc Erki |
Programming Language: | Perl |
Operating System: | Linux, Unix-like, Windows |
Genre: | Configuration management |
License: | Apache |
(R)?ex or simply Rex is an open source remote execution, configuration management and software deployment tool. It combines Perl and Secure Shell (SSH) for a portable, centralistic approach to its problem domain.
Rex is an acronym for "Remote Execution".
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.
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.[1]
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.[2]
Rex is discussed on conferences and in related press releases.[3] [4]
It was voted under the Best Open Source solutions 2013 by Initiative Mittelstand.[5]