=head1 NAME

Origami - command-line management tool for Folding @ Home clients.

=head1 SYNOPSIS

origami {install | archive | restore | erase | name | status | monitor | proxy | start | stop | version | help} [<options>...]

origami {deploy | network-archive | network-restore | network-name | network-monitor | network-name | network-start | network-stop} [<options>...]

origami help

origami version

=head1 DESCRIPTION

Origami allows you to install, monitor, archive or restore Folding @ Home data
on your local machine.  It also allows for central deployment, monitoring,
archiving, restoration and updating the username and team data via the network
to ssh-accessible machines. 

Origami supports cron-based scheduling, 32bit or 64bit and network proxy settings.
Install Stanfords Folding @ Home client to a single machine or network of machines.

=head1 COMMAND-LINE ACTIONS

The first argument which does not begin with a hyphen ("-") is considered to be
an action that the program should perform.  If an action is not specified
B<Origami> will display the help output.

The following actions are available to the local machine:

=over 8

=item B<install>

Install Folding @ Home to the local machine.  This action will create a
dedicated user, storage location for Folding @ Home data, startup
script and request a work unit.

=item B<deploy>

Install Folding @ Home to remote machines as listed in the ~/.origamirc file.
This action will create a dedicated user, storage location for Folding @ Home
data, startup script and request a work unit on the remote machine.  SSH
access as the root user is required for the deploy action.

=item B<archive>

Archive Folding @ Home data for the local Folding @ Home client.  This action 
will stop the Folding @ Home client, archive the current progress into a
<hostname>-<date>.tar.bz2 format and store the data in ~/.origami/.

=item B<network-archive>

Archive Folding @ Home data on the remote Folding @ Home client as listed in the
~/.origamirc.  This action will stop the Folding @ Home client, archive the 
current progress into a <hostname>-<date>.tar.bz2 format and store the data in ~/.origami/.
	
=item B<restore>

Restore Folding @ Home data on the local machine.  This action will
require previously archived data (as generated by the archive action).

=item B<network-restore>

Restore Folding @ Home data on the remote Folding @ Home clients as listed in the
~/.origamirc.  This action will require previously archived data (as generated by
the network-archive action).

=item B<erase>

Erase current Folding @ Home installation.  Anything generated by the
install function will be removed and all Folding @ Home progress will
be lost.

=item B<name>

Update the username and team information for the local Folding @ Home
client.  It is generally preferred to define username and team at
installation with the install action.

=item B<network-name>

Update the username and team information for the remote Folding @ Home
clients.  It is generally preferred to define username and team at
installation with the deploy action.

=item B<status|monitor>

Display the current progress of the local Folding @ Home client.

=item B<network-status|network-monitor>

Disploy the current progress of the remote Folding @ Home clients as listed
in the ~/.origamirc.

=item B<proxy>

Update the proxy settings for the local Folding @ Home client.  This
action requires a port and hostname.  It is generally preferred to
define the proxy port and hostname at installation with the install
action.

=item B<start>

Start the local Folding @ Home client.  (This calls /etc/init.d/origami start)

=item B<network-start>

Start the remote Folding @ Home clients as listed in the ~/.origamirc.

=item B<stop>

Stop the local Folding @ Home client.  (This calls /etc/init.d/origami stop)
	
=item B<network-stop>

Stop the remote Folding @ Home clients as listed in the ~/.origamirc.

=item B<version>

Display the Origami version.

=item B<help>

Display the Origami help output.

=back

=head1 OPTIONS

=over

=item B<-u|--user=I<value>>

Define the USERNAME that Folding @ Home data should credit.  Default is Anonymous.

=item B<-t|--team=I<value>>

Define the TEAM NUMBER that Folding @ Home data should credit.  Default is 0.

=item B<-c|--cron=I<boolean>>

Activate cron scheduling for the Folding @ Home client.  Default is off (0).

=item B<-p|--proc=I<value>>

Define i386 or amd64 Folding @ Home client.  Default is i386.

=item B<-P|--port=I<value>>

Define the port to be used in conjunction with a proxy.  Default is 8080.

=item B<-H|--host=I<value>>

Define the IP or hostname to be used in conjunction with a proxy.  Default is localhost.

=back

=head1 EXAMPLES

=over

=item B<origami install>

This example will install the Folding @ Home client to the local machine, reporting data
as the default Anonymous user and default 0 Team.

=item B<origami install -u Joe -t 45104>

This example will install the Folding @ Home client to the local machine, reporting data
as the B<Joe> user as part of the 45104 (TeamUbuntu) Team.

=item B<origami deploy -u Joe -t 45104>

This example will install the Folding @ Home client to all machines listed in the ~/.origamirc
file, reporting data as the B<Joe> user as part of the 45104 (TeamUbuntu) Team.

=item B<origami install -u Joe -t 45104 -p amd64 -c1>

This example will install the Folding @ home client to the local machine, reporting data
as the B<Joe> user as part of the 45104 (TeamUbuntu) Team, using the amd64 Folding @ Home client
and toggling the cron option to auto-stop between the hours of 8:00am and 5:00pm.

=item B<origami network-status>

This example will display the current status of the Folding @ Home clients on all machines
listed in the ~/.origamirc file.

=back

=head1 BUGS

To find a list of current bugs, or to report a bug new bug please see https://bugs.launchpad.net/origami.

=head1 AUTHORS

B<Origami> was written by Christer Edwards <christer.edwards@ubuntu.com>. 
This manual page was written by Christer Edwards <christer.edwards@ubuntu.com>.

Both are released under the GNU General Public License, version 2 or later.

=cut

