HOME

TheInfoList



OR:

(R)?ex or simply Rex is an open source remote execution, configuration management and
software deployment Software deployment is all of the activities that make a software system available for use. The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur on the ...
tool. It combines
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
and
Secure Shell The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution. SSH applications are based on ...
(SSH) 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 Digital subscriber line (DSL; originally digital subscriber loop) is a family of technologies that are used to transmit digital data over telephone lines. In telecommunications marketing, the term DSL is widely understood to mean asymmetric dig ...
, 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 In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is Computer data storage, stored and retrieved. Without a file system, data placed in a storage me ...
,
kernel module In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/o ...
, process and
virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
management.


Public recognition

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


See also

* Comparison of open-source configuration management software *
Infrastructure as code Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The IT infrastructure managed ...
(IaC) * Infrastructure as Code Tools


References


External links

* {{official website, http://rexify.org Orchestration software Free software programmed in Perl