Task Deal has been released. - Reflect settings on multiple generation machines. An alternative to Perl's Ruby Chef.

We have released 0.01 of Task Deal that we were developing. This is a major release. Since it is a tool made by Perl, it can be installed easily, and the environment settings can be reflected on multiple machines from the screen of the Web browser. It is possible to send one command to multiple machines at once.

Example

You can try Task Deal below. For your safety, only the echo command can be executed. The ehoc command is just a shell.

Task Deal example

(ID admin, password test)

Repository

Repository

Features

Task Deal has the following features.

  • You can execute commands from a web browser screen on multiple machines.
  • The client (target machine side) and the server (web browser side) communicate using WebSocket. Push delivery of commands from the server to the client.
  • It's portable. It can be installed on Unix/Linux servers and Cygwin on Windows (requires gcc4).
  • Only Perl 5.8.7 or higher is required. Installation is very easy.
  • It also supports SSL.
  • You don't have to memorize a dedicated description or cookbook using Ruby's DSL like Chef. You can write machine settings in a familiar shell.
  • Since push delivery type communication is performed from the server side, there is no need to set the client. All you have to do is connect the client to the server side.
  • The client-side command log is retrieved on the server side, so you can see what happened on the server side.

Installation on Unix/Linux machines

Task Deal is very easy to install.

Download

Download the tar.gz file, unpack it, and change the directory.

curl -kL https://github.com/yuki-kimoto/taskdeal/archive/latest.tar.gz> taskdeal-latest.tar.gz
tar xf taskdeal-latest.tar.gz
mv taskdeal-latest taskdeal
cd task deal

Setup

Run the following command: The required modules will be installed.

./setup.sh

Exam

Check if the setup is successful with the following command.

prove t

If "All tests successful" is displayed, the setup is successful.

Operation

Server startup and restart

Start the Task Deal server with the following command. The server starts in the background. The default port number is 10040.

./taskdeal-server

Please access the following URL.

http: // localhost: 10040

If you want to change the port, edit taskdeal-server.conf. If you cannot access this port, please review your firewall settings as well.

You can perform tasks on the client from the screen of your web browser.

The connection port for clients is 10041 by default.

Stop server

You can stop the server with the - stop option.

./taskdeal-server - stop

Start client

You can start the client with the following command.

./taskdeal-client

The client receives the task from the server and executes it.

The client connects to http: // localhost: 10041 by default. If you want to change this value, change the host and port in the server section of taskdeal-client.conf.

Stop client

  • You can stop the server with the -stop option.
./taskdeal-client - stop

Server settings

See taskdeal-server.conf.

Client configuration

See taskdeal-client.conf.

Role and task settings

You can create roles in server/roles . A role is just a directory that stores tasks.

First, let's create roles in the server/roles directory with the names small and medium. You can give the roll any name you like.

server/roles/small
/medium

The task is just an executable file. Give the file execute permission. It can be created in the role directory.

server/roles/small/echo

The echo task is just an executable script that prints "foo".

# !/bin/sh
echo "foo"

Tasks can also be hierarchically structured using directories.

server/roles/small/echo
/dir/echo2

Developer

If you are a developer, you can start the server and client with the following commands.

# Start the server
./devels
    
# Start client
./develc

You can access it at the following URL:

http: // localhost: 3000

If you have git, you can easily install it using git.

git clone git: //github.com/yuki-kimoto/taskdeal.git

It would be convenient to write the settings in taskdeal-client.my.conf and taskdeal-server.my.conf.

Web Site

TaskDeal Web Site

Related Informatrion