Jump to content

Rex (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Joh2048 (talk | contribs)
Removed External Link in body of article to meet WP:EL
 
(41 intermediate revisions by 32 users not shown)
Line 1: Line 1:
<!--{{About|the configuration management software|the cryptography library|NaCl (software)}}-->
<!--{{About|the configuration management software|the cryptography library|NaCl (software)}} how is this related/useful? -->
{{Infobox software
{{Infobox software
| name = (R)?ex
| title =
| title =
| name = (R)?ex
| logo = <!-- [[File: ]] -->
| logo = <!-- [[File: ]] -->
| logo caption =
| logo caption =
Line 9: Line 9:
| collapsible =
| collapsible =
| author =
| author =
| developer = Jan Gehring
| developer = Jan Gehring, Ferenc Erki
| released = {{Start date|2010|11|05|df=yes/no}}
| released = {{Start date|2010|11|05|df=yes/no}}
| discontinued =
| discontinued =
| latest release version = 0.44.0 [https://github.com/krimdomu/Rex/releases/tag/0.44.0]
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{Start date and age|2014|01|25|df=yes/no}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest preview version =
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| frequently updated = <!-- DO NOT include this parameter unless you know what it does -->
| programming language = [[Perl (programming language)|Perl]]
| programming language = [[Perl (programming language)|Perl]]
| operating system = [[GNU/Linux]], [[Unix-like]]
| operating system = [[Linux]], [[Unix-like]], [[Windows]]
| platform =
| platform =
| size =
| size =
Line 24: Line 23:
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language footnote =
| language footnote =
| status =
| genre = [[Configuration management]]
| genre = [[Configuration management]]
| license = [[Apache License|Apache]]
| license = [[Apache License|Apache]]
Line 30: Line 28:
| website = {{URL|http://rexify.org/}}
| website = {{URL|http://rexify.org/}}
}}
}}
'''(R)?ex''' or simply '''Rex''' is an [[Open-source software|open source]] remote execution, a [[configuration management]] and a software deployment tool.
'''(R)?ex''' or simply '''Rex''' is an [[Open-source software|open source]] remote execution, [[configuration management]] and [[software deployment]] tool.
It combines perl and ssh for a portable, centralistic <!-- flexible, configuration management--> approach to its problem domain.
It combines [[Perl (programming language)|Perl]] and [[Secure Shell]] (SSH) for a portable, centralistic <!-- flexible, configuration management--> approach to its problem domain.


''Rex'' is an acronym for "Remote Execution".
''Rex'' is an acronym for "Remote Execution".

== History ==
== 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.
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 ==
== Design ==
[[File:Rex configuration management, example run.png|frame|alt 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.
[[File:Rex configuration management, example run.png|frame|alt=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 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.
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 [[Domain-specific_language|DSL]], but is essentially a Perl script. Therefore, it can contain arbitrary Perl as well.
It is defined via a small [[Domain-specific language|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. <ref>{{cite web|url=http://www.rexify.org/howtos/using_templates.html | title=Rex Howtos - Using Modules and Templates | accessdate=February 4, 2014}}</ref>
For code reuse, configuration instructions are placed in modules which can be included by a Rexfile. A template system for configuration files is available.<ref>{{cite web |url=http://www.rexify.org/docs/guides/using_modules_and_templates.html |title=Using Modules and Templates |accessdate=April 25, 2018}}</ref>


For Rex to be able to work, the managed targets must provide a running SSH server and a Perl 5 interpreter.
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.<ref>{{cite web |url= http://www.rexify.org/enwiki/api/index.html |title= Rex API documentation |accessdate=February 05, 2014}}</ref>
Rex serves a variety of applications. Examples are user & group, [[cron]], [[filesystem]], [[kernel module]], process and [[virtual machine]] management.<ref>{{cite web |url= http://www.rexify.org/enwiki/api/index.html |title= Rex API documentation |accessdate= February 5, 2014 |url-status= dead |archiveurl= https://archive.today/20140205104239/http://www.rexify.org/enwiki/api/index.html |archivedate= February 5, 2014 }}</ref>
<!-- Infrastructure as Code -->
<!-- Infrastructure as Code -->


== Public recognition ==
== Public recognition ==
Rex is discussed on conferences<ref>{{cite web |url= http://act.yapc.eu/ye2013/talk/4910 |title= Rex - Deployment and Configuration Management|publisher=YAPC::Europe 2013 “Future Perl” |accessdate=February 05, 2014}}</ref> and in related press releases<ref>{{cite web |url= http://www.admin-magazine.com/Articles/Rex |title= King of Computers: Managing Computers with Rex|publisher=Admin Magazine |accessdate=February 05, 2014}}</ref>
Rex is discussed on conferences and in related press releases.
<ref>{{cite web |url= http://act.yapc.eu/ye2013/talk/4910 |title= Rex - Deployment and Configuration Management|publisher=YAPC::Europe 2013 “Future Perl” |accessdate=February 5, 2014}}</ref>
<ref>{{cite web |url= http://www.admin-magazine.com/Articles/Rex |title= King of Computers: Managing Computers with Rex|publisher=Admin Magazine |accessdate=February 5, 2014}}</ref>


Rex was voted under the the Best Open Source solutions 2013 by [http://www.imittelstand.de Initiative Mittelstand].<ref>{{cite web |url= http://www.open-source-bestenliste.de/produkt/2560-rex.html |title= IT-Bestenliste, Open Source, (R)?ex |publisher= Initiative Mittelstand |accessdate=January 28, 2014}}</ref>
It was voted under the Best Open Source solutions 2013 by Initiative Mittelstand.<ref>{{cite web |url= http://www.open-source-bestenliste.de/produkt/2560-rex.html |title= IT-Bestenliste, Open Source, (R)?ex |publisher= Initiative Mittelstand |accessdate= January 28, 2014 |url-status= dead |archiveurl= https://web.archive.org/web/20131215080554/http://www.open-source-bestenliste.de/produkt/2560-rex.html |archivedate= December 15, 2013 }}</ref>


== See also ==
==See also==
{{Portal|Free software}}
{{Portal|Free and open-source software}}
* [[Comparison of open source configuration management software]]
*[[Comparison of open-source configuration management software]]
*[[Infrastructure as code]] (IaC)
*[[Infrastructure_as_code#Tools|Infrastructure as Code Tools]]


== References ==
== References ==
Line 65: Line 68:


== External links ==
== External links ==
* {{official|http://rexify.org}}
* {{official website|http://rexify.org}}


[[Category:Configuration management]]
[[Category:Orchestration software]]
[[Category:Free software programmed in Perl]]
[[Category:Free software programmed in Perl]]

Latest revision as of 19:40, 30 September 2023

Developer(s)Jan Gehring, Ferenc Erki
Initial release5 November 2010 (2010-11-05)
Stable release
1.15.0[1] Edit this on Wikidata / 5 November 2024; 58 days ago (5 November 2024)
Repository
Written inPerl
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]

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]
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.[2]

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.[3]

Public recognition

[edit]

Rex is discussed on conferences and in related press releases. [4] [5]

It was voted under the Best Open Source solutions 2013 by Initiative Mittelstand.[6]

See also

[edit]

References

[edit]
  1. ^ "Release 1.15.0". 5 November 2024. Retrieved 27 November 2024.
  2. ^ "Using Modules and Templates". Retrieved April 25, 2018.
  3. ^ "Rex API documentation". Archived from the original on February 5, 2014. Retrieved February 5, 2014.
  4. ^ "Rex - Deployment and Configuration Management". YAPC::Europe 2013 “Future Perl”. Retrieved February 5, 2014.
  5. ^ "King of Computers: Managing Computers with Rex". Admin Magazine. Retrieved February 5, 2014.
  6. ^ "IT-Bestenliste, Open Source, (R)?ex". Initiative Mittelstand. Archived from the original on December 15, 2013. Retrieved January 28, 2014.
[edit]