Rex (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
(R)?ex
DevelopersJan Gehring, Ferenc Erki
Initial release5 November 2010 (2010-11-05)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inPerl
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, Unix-like, Windows
    TypeConfiguration management
    LicenseApache
    Websiterexify.org

    (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".

    History

    [edit | edit source]

    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

    [edit | edit source]
    Rex configuration management example run alt text
    Rex is executed on the command line. Required parameters are fetched from the local Rexfile. The task logic is executed on the local host. The single commands of the specified task are executed atomically on every server. Rex may connect and execute commands in sequence or in parallel depending on the number of threads used.

    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]

    Public recognition

    [edit | edit source]

    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]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]