(R)?ex the friendly automation framework

News

2020-04-05
Rex-1.9.0

The Rex-1.9.0 release is now available on CPAN, and it adds a new feature flag to force writing UTF-8 encoded files, documents configuration options, and fixes bugs.

2020-03-05
Rex-1.8.2

The Rex-1.8.2 release is now available on CPAN, fixing a bug related to task hooks.

2020-02-05
Rex-1.8.1

The Rex-1.8.1 release is now available on CPAN, improving release automation, packaging, and documentation.

2020-01-05
Rex-1.8.0

The Rex-1.8.0 release is now available on CPAN, adding initial support to manage Void Linux systems.

2019-12-05
Rex-1.7.1

The Rex-1.7.1 release is now available on CPAN, fixing a Windows testing issue, and updating some docs.

Conferences

2016-06-21

Need Help?

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

Professional support is also available.

» Home » Docs » Release notes » Release notes for 0.54.3

Release notes for 0.54.3

These are the changes in 0.54 release.

We want to thank every contributor that makes this release possible.

Common

path_map - variable path mapping

path_map is a new feature developed by Erik Huelsmann to ease the management of files for different hosts. In the past, if you wanted to upload a file (for example /etc/security/access.conf) to your servers and wanted to have different access.conf files per environment, or for a special host, you had to build this logic by yourself. With the path_map feature you only have to define the lookup path and Rex is doing this for you.

use Rex -feature => ['0.54'];
⁠
⁠set path_map => {
⁠    "files/" => [
⁠        "files/{environment}/{hostname}/", "files/{environment}/",
⁠        "files/{hostname}/",
⁠    ],
⁠    "templates/" => [
⁠        "templates/{environment}/{hostname}/", "templates/{environment}/",
⁠        "templates/{hostname}/",
⁠    ],
⁠};
⁠
⁠task "setup",
⁠  group => "frontends",
⁠  sub {
⁠    file "/etc/security/access.conf",
⁠      source => "files/etc/security/access.conf",
⁠      owner  => "root",
⁠      group  => "root",
⁠      mode   => 644;
⁠
⁠    file "/etc/ntp.conf",
⁠      content => template("templates/etc/ntp.conf"),
⁠      owner   => "root",
⁠      group   => "root",
⁠      mode    => 644;
⁠  };

This example will search for the files it should upload or process as templates in the following direction:

Given:

Lookup-Path:

And for the template it is just the same:

You can use any variable that the inventory can gather from the system.

Cloud

Bugfixes

Rex::Test

Cloud

Common

Proudly powered by Statocles

Google Group / Twitter / GitHub / Mailinglist / irc.freenode.net #rex   -.ô.-   Disclaimer