(R)?ex the friendly automation framework

News

2020-09-05
Rex-1.12.2

The Rex-1.12.2 release is now available on CPAN. It fixes various regressions, as well as bugs around file management. Upgrade is highly recommended for all users.

2020-08-05
Rex-1.12.1

The Rex-1.12.1 release is now available on CPAN. It adds documentation for feature flags, and fixes a release packaging issue.

2020-07-05
Rex-1.12.0

The Rex-1.12.0 release is now available on CPAN. It adds support for local rsync operations, improves tab completion for Bash and Zsh, and fixes related bugs. It also discontinues support for running Rex on Windows 7, Windows Server 2008 R2, and older versions since both mainstream and extended support has already ended for these products.

2020-06-09
Rex on StackShare

Thanks to the support from their amazing team, Rex is now listed on StackShare.

2020-06-05
Rex-1.11.0

The Rex-1.11.0 release is now available on CPAN. It enhances the behaviour of sysctl and file management, fixes bugs about group management and OpenSSH connection options, and clarifies quite a bit of documentation.

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 » Guides » Manage OpenWrt

Manage OpenWrt

OpenWrt is a Linux distribution for embedded devices and it is primarily aimed for and used on routers. This means that every component is optimized for size to fit into the limited resource constraints of these devices. As a result some things are working a bit differently than on a full-blown desktop or server distribution. This guide tries to help you getting started with using Rex to manage OpenWrt boxes.

Overview

What's working?

Please see the official compatibility page. You may also want to check the current project weather on build.rexify.org.

Known limitations

Requirements

Generally you'll need the following packages on your OpenWrt box on top of a vanilla install:

Optional packages (only for specific Rex functions):

Details

SFTP server

By default OpenWrt doesn't provide an SFTP server. As Rex does lots of lower level operations via SFTP (is_dir(), is_file(), ...), the first package you should install on your box is either openssh-sftp-server or gesftpserver.

A massively subjective comparison of these two may help to make your decision:

openssh-sftp-server

It can be set up with the following commands:

opkg update
opkg install openssh-sftp-server
gesftpserver

It can be set up with the following commands:

opkg update
opkg install gesftpserver
mkdir /usr/libexec
ln -s /usr/bin/gesftpserver /usr/libexec/sftp-server

If you want to automate the set up of the chosen SFTP server on a fresh OpenWrt installation, just put the according steps into run calls in a Rex task. The bottom line is to don't try to use the built-in mkdir and symlink functions at this point as they are broken before you have an SFTP server in place. You can find out more about gesftpserver and a comparison of different SFTP implementations/versions on their website.

Perl

You'll need to install the following packages:

rsync

Merely needed by sync_up functionality.

shadow-*

OpenWrt doesn't provide traditional user and group management commands by default as these procedures are rarely needed in the majority of the targeted use cases. However, if you really need to do these type of stuff on your router, you're in luck, as you can easily install these packages from the official repository:

Proudly powered by Statocles

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