The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Rex::JobControl - Job-Control Webinterface for Rex

DESCRIPTION

(R)?ex is a configuration- and deployment management framework. You can write tasks in a file named Rexfile.

You can find examples and howtos on http://rexify.org/

This is the official webinterface for Rex.

GETTING HELP

INSTALLATION

To install Rex::JobControl you can use the normal cpan tools. We recommend using cpanm from http://cpanmin.us/.

 cpanm Rex::JobControl

After installing you have to create the configuration file in on of the locations mentioned in CONFIGURATION.

Before you first start the server you have to run the setup command.

 rex_job_control jobcontrol setup

This command will create all the necesarry directories you have configured in your configuration file.

UBUNTU

If you want to install Rex::JobControl on Ubuntu 14.04 you have to follow these steps.

Install build dependencies
 apt-get install cpanminus libdatetime-perl gcc make automake m4 bison flex libssh2-1-dev libssl-dev
Install Rex::JobControl
 cpanm Rex::JobControl
Create a configuration file

For this, you can use the example configuration file from the git repostiroy.

 mkdir /etc/rex
 wget -O /etc/rex/jobcontrol.conf https://raw.githubusercontent.com/RexOps/rex-jobcontrol/master/jobcontrol.conf
Preparing to start the services

Now after you have configured Rex::JobControl you have to create all the necessary folders. You can do this with a build-in command.

 rex_job_control jobcontrol setup

This will also create a user admin with password admin.

Starting services

Rex::JobControl can create upstart files for you. To do this run the following command.

 rex_job_control jobcontrol upstart -c

After this you can start the Rex::JobWorker server and worker daemon (minion).

 service rex-jobcontrol start
 service rex-jobcontrol-minion start
Accessing the Webfrontend

Now you can access the webfrontend via http://$your-server:8080/. If you can't connect, make sure the firewall doesn't block the traffic to post 8080.

CENTOS 7

If you want to install Rex::JobControl on CentOS 7 you have to follow these steps.

Install build dependencies
 yum install perl-DateTime perl-App-cpanminus gcc m4 flex bison git wget
Install Rex::JobControl
 cpanm Rex::JobControl
Create a configuration file

For this, you can use the example configuration file from the git repostiroy.

 mkdir /etc/rex
 wget -O /etc/rex/jobcontrol.conf https://raw.githubusercontent.com/RexOps/rex-jobcontrol/master/jobcontrol.conf
Preparing to start the services

Now after you have configured Rex::JobControl you have to create all the necessary folders. You can do this with a build-in command.

 rex_job_control jobcontrol setup

This will also create a user admin with password admin.

Starting services

Rex::JobControl can create systemd unit files for you. To do this run the following command.

 rex_job_control jobcontrol systemd -c

After this you can start the Rex::JobWorker server and worker daemon (minion).

 systemctl start rex-jobcontrol.service
 systemctl start rex-jobcontrol-minion.service
Accessing the Webfrontend

Now you can access the webfrontend via http://$your-server:8080/. If you can't connect, make sure the firewall doesn't block the traffic to post 8080.

CONFIGURATION

The configuration file is looked up in 3 locations.

/etc/rex/jobcontrol.conf
/usr/local/etc/rex/jobcontrol.conf
./jobcontrol.conf

You find an example configuration file on https://github.com/RexOps/rex-jobcontrol.

RUNNING

Rex::JobControl consists of 2 services. The Webinterface and the Worker.

To start the worker you have to run the following command. You can start as many worker as you need/want.

 rex_job_control minion worker

To start the Webinterface you have to run this command. This will start a webserver at port 8080.

 hypnotoad /usr/bin/rex_job_control 

MANAGING USERS

Currently there is no webinterface to manage the users, but you can use a cli command to do this.

Add user:

 rex_job_control jobcontrol adduser -u $user -p $password

Remove user:

 rex_job_control jobcontrol deluser -u $user

List user:

 rex_job_control jobcontrol listuser