NAME

Rex - the friendly automation framework

DESCRIPTION

Rex is an automation framework that is friendly to any combinations of local and remote execution, push and pull style of management, or imperative and declarative approach.

Its flexibility makes it a great fit for many different use cases, but most commonly Rex is used to automate application deployment and data center infrastructure management tasks.

See Rex::Commands for a starting point of available built-in commands.

See rex for more information about how to use rex on the command line.

SYNOPSIS

 # In a Rexfile:
 use Rex -feature => [qw/1.4/];

 user "root";
 password "ch4ngem3";

 desc "Show system information";
 task "sysinfo", sub {
    say run "uname -a";
 };

 1;

 # On the command line:
 $ rex -H server[01..10] sysinfo

CLASS METHODS

get_current_connection

This function is deprecated since 0.28! See Rex::Commands::connection.

Returns the current connection as a hashRef.

server

The server name

ssh

1 if it is a ssh connection, 0 if not.

is_ssh

Returns 1 if the current connection is a ssh connection. 0 if not.

is_local

Returns 1 if the current connection is local. Otherwise 0.

is_sudo

Returns 1 if the current operation is executed within sudo.

get_sftp

Returns the sftp object for the current ssh connection.

connect

Use this function to create a connection if you use Rex as a library.

use Rex;
use Rex::Commands::Run;
use Rex::Commands::Fs;

Rex::connect(
  server    => "remotehost",
  user      => "root",
  password   => "f00b4r",
  private_key => "/path/to/private/key/file",
  public_key  => "/path/to/public/key/file",
);

if(is_file("/foo/bar")) {
  print "Do something...\n";
}

my $output = run("uptime");

CONTRIBUTORS

Many thanks to the contributors for their work. Please see CONTRIBUTORS file for a complete list.

LICENSE

Rex is a free software, licensed under: The Apache License, Version 2.0, January 2004