wfa(1) -- manage workfrom devices

SYNOPSIS

wfa [-a|--show-all] [list]
wfa [-D|--dry-run] [shell] @<device-tag>
wfa [-D|--dry-run] [run] @<device-tag> <remote-command ...>
wfa identify <device-id> @<device-tag> <name>
wfa screen @<device-tag>
wfa heartbeats @<device-tag>
wfa console

DESCRIPTION

wfa is a tool for listing and connecting to workfrom devices via SSH. It is operated using sub-commands, but for simple use cases the sub-command is assumed.

COMMANDS

list

Display a list of registered devices. Each device has a tag assigned for use in issuing commands. This command is assumed if you provide no arguments. Use -a to list untagged devices.

shell

Open an interactive shell on the remote device, specified by the device tag. This command is assumed if you provide a device tag without additional arguments.

run

Issue a command on a device and display the output. This command is assumed if you provide a device tag with an additional command argument.

identify

Set a device tag and name, given the device ID. Devices must be tagged in order to be maintained with wfa.

screen

Open a screen window to a shell on the remote device, specified by the device tag. Useful if you're running screen and want titled windows for each device.

heartbeats

List the last 100 or so device heartbeats, specified by the device tag.

console

Open an interactive Ruby prompt with a ready API handle. It's useful for experimentation or exploring the API.

USAGE

Note that you must be logged in to the tunnel server (as yourself) to use the SSH tunneling features. No authentication is performed, you must have SSH auth already configured to use it.

To see a list of devices:

wfa

To open a shell on a device:

wfa @ovation

To run a command on a device:

wfa @ovation cat /etc/hostname

To run these commands from your own machine, prepend ssh -A <login>@staging.workfrom.co and they'll work more or less the same way. (-A enables agent forwarding, which you need to access the devices themselves.)

ADVANCED

Installation notes

To install the gem you need to install some library dependencies. For example, this works on Debian:

sudo apt-get install ruby-dev libcurl4-openssl-dev

Distribution

Currently wfa is distributed via Zack's dropbox. The URL is:

https://dl.dropboxusercontent.com/u/16760254/wfa-latest.gem

To release a new version, Zack just builds the gem and copies to his dropbox public folder.

FILES

~/.wfa.json

Saved settings for wfa, including login credentials and backend URL.