diff options
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | README.pod | 142 | ||||
| -rw-r--r-- | README.txt | 125 | ||||
| -rw-r--r-- | docs/fapi.1 | 6 | ||||
| -rw-r--r-- | docs/fapi.txt | 4 |
5 files changed, 149 insertions, 131 deletions
@@ -27,7 +27,8 @@ documentation: # To be replaced with sphynx instead of pod pod2man --release="$(NAME) $$(cat .version)" \ --center="User Commands" ./docs/$(NAME).pod > ./docs/$(NAME).1 - pod2text ./docs/$(NAME).pod | tee ./docs/$(NAME).txt > README.txt + pod2text ./docs/$(NAME).pod > ./docs/$(NAME).txt + cp ./docs/$(NAME).pod README.pod # Build a debian package (don't sign it, modify the arguments if you want to sign it) deb: all dpkg-buildpackage 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 diff --git a/README.txt b/README.txt deleted file mode 100644 index 4a27747..0000000 --- a/README.txt +++ /dev/null @@ -1,125 +0,0 @@ -NAME - fapi - A humble command line tool to manage F5 BigIP loadbalancers - -SYNOPSIS - Just run - - fapi -h - - or - - f -h - - because it's shorter to type. - -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 - <https://github.com/rantanplan/fapi>. - -BIGSUDS - 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: - - <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. - - iControl reference - Through bigsuds you can do everything what iControl can do: - - <https://devcentral.f5.com/wiki/icontrol.apireference.ashx> - -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 - -EXAMPLES - 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 - - Setting up simple NAT Services - (Docu to be written) - - Setting up simple SNAT Services - (Docu to be written) - - 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 - -AUTHOR - Paul C. Buetow - <paul@buetow.org> - - Also see <http://fapi.buetow.org> - diff --git a/docs/fapi.1 b/docs/fapi.1 index cb739b0..dbe6500 100644 --- a/docs/fapi.1 +++ b/docs/fapi.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "FAPI 1" -.TH FAPI 1 "2014-04-15" "fapi 0.0.3" "User Commands" +.TH FAPI 1 "2014-04-16" "fapi 0.0.3" "User Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -247,8 +247,8 @@ A simple nPath service can be created as follows. \& # 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: +\& # 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 diff --git a/docs/fapi.txt b/docs/fapi.txt index 4a27747..b3d0a4f 100644 --- a/docs/fapi.txt +++ b/docs/fapi.txt @@ -96,8 +96,8 @@ EXAMPLES # 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: + # 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 |
