summaryrefslogtreecommitdiff
path: root/README.pod
diff options
context:
space:
mode:
authorPaul C. Buetow <paul@buetow.org>2014-04-16 08:02:07 +0200
committerPaul C. Buetow <paul@buetow.org>2014-04-16 08:02:07 +0200
commit4603689886c353d6ab3e26f9a42e7e4398a7febf (patch)
tree4f8c1a39f22302b69fb2bf3a71cc1ddd932d5fcf /README.pod
parent858eedaca518dd5d87e7f88531d69afc2b72b86c (diff)
use pod here
Diffstat (limited to 'README.pod')
-rw-r--r--README.pod142
1 files changed, 142 insertions, 0 deletions
diff --git a/README.pod b/README.pod
new file mode 100644
index 0000000..ca02281
--- /dev/null
+++ b/README.pod
@@ -0,0 +1,142 @@
+=head1 NAME
+
+fapi - A humble command line tool to manage F5 BigIP loadbalancers
+
+=head1 SYNOPSIS
+
+Just run
+
+ fapi -h
+
+or
+
+ f -h
+
+because it's shorter to type.
+
+=head1 ABOUT
+
+This is a simple command line client to do basic stuff with the iControl F5 API
+such as:
+
+ Managing Nodes
+ Managing Monitors
+ Managing Pools
+ Managing Virtual Servers
+
+
+This is a private programming project programmed in my spare time. Therefore I
+didn't bother to put it on a public website and github. Please open bug
+reports, feature requests and pull requests at
+L<https://github.com/rantanplan/fapi>.
+
+=head1 BIGSUDS
+
+=head2 Requirement of bigsuds
+
+This tool depends on bigsuds. Please install this library from F5 dev central
+manually. Otherwise this script will not work.
+
+You can download bigsuds from here:
+
+L<https://devcentral.f5.com/d/bigsuds-python-icontrol-library>
+
+Unzip it and run
+
+ sudo python setyp.py install
+
+You may also install bigsuds from the contrib dir of the fapi source tree.
+
+=head2 iControl reference
+
+Through bigsuds you can do everything what iControl can do:
+
+L<https://devcentral.f5.com/wiki/icontrol.apireference.ashx>
+
+
+=head1 QUICK START
+
+Update your sources list:
+
+ curl http://deb.buetow.org/apt/pubkey.gpg | sudo apt-key add -
+ echo 'deb http://deb.buetow.org/apt wheezy main' > \
+ /etc/apt/sourcees.list.d/buetoworg.list
+ aptitude update
+
+And run
+
+ aptitude install fapi
+ cp /usr/share/fapi/fapi.conf.sample ~/.fapi.conf
+ vim ~/.fapi.conf
+
+
+=head1 EXAMPLES
+
+=head2 Listing
+
+If you want to list all configured objects on your partition just run
+
+ f node # To list all nodes
+ f pool # To list all pool
+ ... # etc
+
+=head2 Setting up simple NAT Services
+
+ (Docu to be written)
+
+=head2 Setting up simple SNAT Services
+
+ (Docu to be written)
+
+=head2 Setting up a simple nPath Service
+
+A simple nPath service can be created as follows.
+
+ # Creating two nodes, fapi auto resolves the IP addresses, and use the
+ # FQDN as the node name.
+ f node fooserver1.example.com create
+ f node fooserver2.example.com create
+
+ # Creating a pool and add the nodes to it. Also specify the node ports to
+ # use by the monitors (and maybe PAT if enabled)
+ f pool foopool create
+ f pool foopool add member fooserver1.example.com:80
+ f pool foopool add member fooserver2.example.com:80
+
+ # Add a monitor to the pool
+ f pool foopool add monitor http_lbtest
+
+ # Create a nPath HTTP vserver, 'nPath' also auto disables NAT and PAT
+ # fapi auto resolves the IP address.
+ f vserver myvserver.example.com:80 create PROTOCOL_TCP nPath
+
+ # Add the pool to the vserver. The vservers name inside of BigIP will be
+ # the FQDN followed by _PORT. In this case it would be:
+ # myvserver.example.com_80 (or full: /Partition/myvserver.example.com_80)
+ # The reason is that : are not allowed in vserver names.
+ f vserver myvserver.example.com:80 set pool foopool
+
+ # Add a nPath HTTPS vserver
+ f vserver myvserver.example.com:443 create PROTOCOL_TCP nPath
+ f vserver myvserver.example.com:443 set pool foopool
+
+And everything can be deleted as folows:
+
+ # You can also specify the full object name (including the partition)
+ f vserver /Common/myvserver.example.com_80 delete
+
+ # Or just the way the service was created from command line
+ f vserver myvserver.example.com:443 delete
+
+ f pool foopool delete
+ f node fooserver1.example.com delete
+ f node fooserver2.example.com delete
+
+
+=head1 AUTHOR
+
+Paul C. Buetow - <paul@buetow.org>
+
+Also see L<http://fapi.buetow.org>
+
+=cut