(R)?ex Deployment & Configuration Management



adjust GmbH is sponsoring the (R)?ex project with a new build server. Thank you for your support!
(R)?ex 1.3.2 released, fixing issues related to file manipulation when run on BSDs. See the release notes for more details.
Read the second part of "Rex in practice" series about Test-driven infrastructure.
(R)?ex 1.3.1 released, fixing Rex::Commands::DB related tests.
repositor.io 1.1.0 released. repositor.io is a repository management tool for apt, yum, yast and docker. This is a bugfix release with fixes for ubuntu and centos7 installation media mirroring.
View the slides of the talk An introduction to Rex from Andy Beverley.


Talk Infrastructure as Code (ger) at German Perl Workshop.


2015-11-30/2015-12-01 (Karlsruhe)

Need Help?

Rex is a pure open source project, you can find community support in the following places:

Professional support is also available.

(R)?ex Book

The Rex Book will cover all topics from simple automation scripts to multi environment and advanced deployments. This book is currently work in progress. If you want to contribute just fork the website on github.


  1. Rex Infrastructure
    1. SSH as an agent
    2. Version Control with Git
    3. Using commit hooks
    4. Example of a complete Rex code infrastructure
  2. Monitoring and Reporting
    1. Generating reports
  3. The Rex DSL
    1. Writing Rexfiles
    2. Authentication
    3. Grouping servers
    4. Using environments
    5. Using Modules
    6. Using templates
    7. Iterating over Arrays
    8. Iterating over Hashs
    9. Conditional Statements
    10. Regular Expressions
    11. Using case Statement
  4. Writing Modules
    1. Use Arrays for Resources
    2. Inheritance
    3. Passing parameters to module tasks
    4. Writing reusable, cross-platform modules
    5. Getting information of the environment
    6. Using external data sources
  5. Working with Files and Packages
    1. Working with files
    2. Using augeas to modify files
    3. Using templates
    4. Arrays and hashes in templates
    5. Installing packages
    6. Using 3rd party repositories
    7. Create your own apt repository
    8. Create your own yum repository
    9. Creating deb packages
    10. Creating rpm packages
  6. Working with the filesystem
    1. Managing directories
    2. Managing files
    3. Running a command when a file is updated
    4. Using multiple file sources
    5. Distributing directory trees
    6. Cleaning up old files
    7. Using /etc/hosts file
    8. Managing permissions
    9. Mounting filesystems
  7. Working with users and groups
    1. Managing users
    2. Managing ssh authorized_keys
    3. Managing users profile
    4. Managing groups
    5. Managing cronjobs
  8. Applications
    1. Working with Apache
    2. Working with nginx
    3. Working with MySQL
  9. Managing Datacenters and the Cloud
    1. Deploying Nagios
    2. Deploying OpenLDAP and SSSD
    3. Building High Availbility services with heartbeat
    4. Building High Availbility storage with DRBD
    5. Managing NFS servers
    6. Using IPVS / ldirector to loadbalance services
    7. Managing firewalls with iptables
    8. Managing EC2 instances
    9. Managing virtual machines with Rex::Box
  10. The Rex Ecosystem
    1. Community modules
    2. Rex.IO
      1. Baremetal Deployments
      2. Service Management
      3. Incident Management
      4. CMDB
comments powered by Disqus
Fork me on GitHub
Google Group / Twitter / GitHub / Mailinglist / irc.freenode.net #rex   -.รด.-   Disclaimer