summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-11-03 08:36:19 +0200
committerPaul Buetow <paul@buetow.org>2021-11-03 08:36:19 +0200
commit3b72eb5e18316d5951bf85955b21a7b71be06824 (patch)
tree2ebb1b00ee7d3bec3792a2832117c9e71027c790
parent1b0c0ec3de0f067aa06ce7d64595b71d6512d4c8 (diff)
move to codeberg
-rw-r--r--README.pod226
-rw-r--r--README.txt208
-rw-r--r--docs/fapi.12
-rw-r--r--docs/fapi.pod2
-rw-r--r--docs/fapi.txt2
5 files changed, 211 insertions, 229 deletions
diff --git a/README.pod b/README.pod
deleted file mode 100644
index afabd99..0000000
--- a/README.pod
+++ /dev/null
@@ -1,226 +0,0 @@
-=head1 NAME
-
-fapi - A humble command line tool to manage F5 BigIP loadbalancers
-
-=head1 SYNOPSIS
-
-Just run
-
- fapi -h
-
-or
-
- alias f=fapi
- 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 Monitors
- Managing Nodes
- Managing Pools
- Managing Virtual Servers
-
-And some extended usage:
-
- Managing Folders
- Managing Self IPs
- Managing Traffic Groups
- Managing VLANs
-
-
-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>.
-
-B<CAUTION: This script has been tested on Debian GNU/Linux Wheezy only.>
-
-=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 setup.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 |
- sudo tee /etc/apt/sourcees.list.d/buetoworg.list
- sudo aptitude update
-
-And run
-
- sudo aptitude install fapi
- cp /usr/share/fapi/fapi.conf.sample ~/.fapi.conf
- vim ~/.fapi.conf
-
-Or if you want to install it from the source dir, just run:
-
- make
- sudo make install
-
-=head1 EXAMPLES
-
-=head2 Listing
-
-If you want to list all configured objects on your partition just run
-
- fapi node # To list all nodes
- fapi pool # To list all pool
- ... # etc
-
-=head2 Setting up a simple pool
-
- # Creating two nodes, fapi auto resolves the IP addresses, and use the
- # FQDN as the node name.
- fapi node fooserver1.example.com create
- fapi 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)
- fapi pool foopool create
- fapi pool foopool add member fooserver1.example.com:80
- fapi pool foopool add member fooserver2.example.com:80
-
- # Add a monitor to the pool
- fapi pool foopool add monitor http_lbtest
-
-=head2 Setting up a simple nPath Service
-
-A simple nPath service can be created as follows.
-
- fapi vserver myvserver.example.com:80 create PROTOCOL_TCP nPath
- fapi vserver myvserver.example.com:80 set pool foopool
-
- # Restrict the vservers to a specific VLAN (IMPORTANT! security
- # hole otherwise!)
- fapi vserver myvserver.example.com:80 set vlan VLANNAME
- fapi vserver myvserver.example.com:443 set vlan VLANNAME
-
- # Put the VirtualAddress of the vserver into a specific traffic group
- fapi vip myserver.example.com set tgroup some-traffic-group
-
-And everything can be deleted as folows:
-
- # You can also specify the full object name (including the partition)
- fapi vserver /Common/myvserver.example.com_80 delete
-
- # Or just the way the service was created from command line
- fapi vserver myvserver.example.com:443 delete
-
- fapi pool foopool delete
- fapi node fooserver1.example.com delete
- fapi node fooserver2.example.com delete
-
-=head2 Setting up simple HTTP NAT Services
-
-A simple HTTP NATed service can be created as follows.
-
- fapi vserver myvserver.example.com:80 create PROTOCOL_TCP http
- fapi vserver myvserver.example.com:80 set vlan VLANNAME
- fapi vserver myvserver.example.com:80 set pool foopool
-
-In order to make this work your application servers need to have setup a
-default route to the loadbalancers floating self IP.
-
-=head2 Setting up simple SNAT Services
-
-Same as setting up a NATed services, but you don't need to configure default
-routes from your application servers to the loadbalancers floating self IP.
-
-You need also to set the SNAT flag as follows:
-
- fapi vserver myvserver.example.com:80 set snat automap
-
-=head2 Settung up simple SNAT Services with SSL offloading enabled
-
-Just like SNAT service (use port 443) but with these additional steps
-
-First Upload the SSL certificate to the F5 BIG IP (e.g. System -> File Management
--> SSL Certificate List on BIG IP V11.4).
-
- # Afterwards create a new SSL profile to use the new certificate:
- # (Will automatically use key/crt myserver.example.com.{key,crt})
- fapi profileclientssl myserver.example.com create
-
- # Then attach that profile to the vserver (default context is
- # PROFILE_TYPE_CLIENT_SSL, which means SSL between F5 and Clients)
- fapi vserver myvserver.example.com:443 profile add myserver.example.com
-
-=head2 About the NAME argument
-
-In most cases NAME can be a hostname, FQDN or an IP address. Optionally folled
-by a port:
-
- NAME := fqdn|hostname|ip[:ip2[:port]]
-
-Examples:
-
- # Auto resolving of the virtual address (IP) and auto port 80. The vserver
- # name will have added an automatic _PORT suffix to it's name.
- fapi vserver fqdn.example.com create
-
- # Or just ignore the auto port, will not add any _PORT suffix to the
- # vserver name.
- fapi -a ....
-
- # Example:
- fapi -a vserver fqdn.example.com_ssl create
-
- # Auto resolving of the virtual address (IP)
- fapi vserver fqdn.example.com:443 create
-
- # Auto resolving of the FQDN (vserver name) and the virtual address (IP)
- # and auto port 80
- fapi vserver hostname create
-
- # Auto resolving of the FQDN (vserver name) and the virtual address (IP)
- fapi vserver hostname:443 create
-
- # vserver name and its virtual address will be 1.2.3.4 and auto port 80
- fapi vserver 1.2.3.4 create
-
- # vserver name and its virtual address will be 1.2.3.4
- fapi vserver 1.2.3.4:443 create
-
- # vserver name is foo, its virtual address 1.2.3.4 and port is 80
- fapi vserver foo:1.2.3.4:80 create
-
- # vserver name is 1.2.3.5, its virtual address 1.2.3.4 and port is 80
- fapi vserver 1.2.3.5:1.2.3.4:80 create
-
-
-Similar may apply to other object types such as nodes and vips.
-
-=head1 AUTHOR
-
-Paul C. Buetow - <paul@buetow.org>
-
-Also see L<http://fapi.buetow.org>
-
-=cut
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..cd2265c
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,208 @@
+NAME
+ fapi - A humble command line tool to manage F5 BigIP loadbalancers
+
+SYNOPSIS
+ Just run
+
+ fapi -h
+
+ or
+
+ alias f=fapi
+ 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 Monitors
+ Managing Nodes
+ Managing Pools
+ Managing Virtual Servers
+
+ And some extended usage:
+
+ Managing Folders
+ Managing Self IPs
+ Managing Traffic Groups
+ Managing VLANs
+
+ 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://codeberg.org/snonux/fapi>.
+
+ CAUTION: This script has been tested on Debian GNU/Linux Wheezy only.
+
+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 setup.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 |
+ sudo tee /etc/apt/sourcees.list.d/buetoworg.list
+ sudo aptitude update
+
+ And run
+
+ sudo aptitude install fapi
+ cp /usr/share/fapi/fapi.conf.sample ~/.fapi.conf
+ vim ~/.fapi.conf
+
+ Or if you want to install it from the source dir, just run:
+
+ make
+ sudo make install
+
+EXAMPLES
+ Listing
+ If you want to list all configured objects on your partition just run
+
+ fapi node # To list all nodes
+ fapi pool # To list all pool
+ ... # etc
+
+ Setting up a simple pool
+ # Creating two nodes, fapi auto resolves the IP addresses, and use the
+ # FQDN as the node name.
+ fapi node fooserver1.example.com create
+ fapi 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)
+ fapi pool foopool create
+ fapi pool foopool add member fooserver1.example.com:80
+ fapi pool foopool add member fooserver2.example.com:80
+
+ # Add a monitor to the pool
+ fapi pool foopool add monitor http_lbtest
+
+ Setting up a simple nPath Service
+ A simple nPath service can be created as follows.
+
+ fapi vserver myvserver.example.com:80 create PROTOCOL_TCP nPath
+ fapi vserver myvserver.example.com:80 set pool foopool
+
+ # Restrict the vservers to a specific VLAN (IMPORTANT! security
+ # hole otherwise!)
+ fapi vserver myvserver.example.com:80 set vlan VLANNAME
+ fapi vserver myvserver.example.com:443 set vlan VLANNAME
+
+ # Put the VirtualAddress of the vserver into a specific traffic group
+ fapi vip myserver.example.com set tgroup some-traffic-group
+
+ And everything can be deleted as folows:
+
+ # You can also specify the full object name (including the partition)
+ fapi vserver /Common/myvserver.example.com_80 delete
+
+ # Or just the way the service was created from command line
+ fapi vserver myvserver.example.com:443 delete
+
+ fapi pool foopool delete
+ fapi node fooserver1.example.com delete
+ fapi node fooserver2.example.com delete
+
+ Setting up simple HTTP NAT Services
+ A simple HTTP NATed service can be created as follows.
+
+ fapi vserver myvserver.example.com:80 create PROTOCOL_TCP http
+ fapi vserver myvserver.example.com:80 set vlan VLANNAME
+ fapi vserver myvserver.example.com:80 set pool foopool
+
+ In order to make this work your application servers need to have setup a
+ default route to the loadbalancers floating self IP.
+
+ Setting up simple SNAT Services
+ Same as setting up a NATed services, but you don't need to configure
+ default routes from your application servers to the loadbalancers
+ floating self IP.
+
+ You need also to set the SNAT flag as follows:
+
+ fapi vserver myvserver.example.com:80 set snat automap
+
+ Settung up simple SNAT Services with SSL offloading enabled
+ Just like SNAT service (use port 443) but with these additional steps
+
+ First Upload the SSL certificate to the F5 BIG IP (e.g. System -> File
+ Management -> SSL Certificate List on BIG IP V11.4).
+
+ # Afterwards create a new SSL profile to use the new certificate:
+ # (Will automatically use key/crt myserver.example.com.{key,crt})
+ fapi profileclientssl myserver.example.com create
+
+ # Then attach that profile to the vserver (default context is
+ # PROFILE_TYPE_CLIENT_SSL, which means SSL between F5 and Clients)
+ fapi vserver myvserver.example.com:443 profile add myserver.example.com
+
+ About the NAME argument
+ In most cases NAME can be a hostname, FQDN or an IP address. Optionally
+ folled by a port:
+
+ NAME := fqdn|hostname|ip[:ip2[:port]]
+
+ Examples:
+
+ # Auto resolving of the virtual address (IP) and auto port 80. The vserver
+ # name will have added an automatic _PORT suffix to it's name.
+ fapi vserver fqdn.example.com create
+
+ # Or just ignore the auto port, will not add any _PORT suffix to the
+ # vserver name.
+ fapi -a ....
+
+ # Example:
+ fapi -a vserver fqdn.example.com_ssl create
+
+ # Auto resolving of the virtual address (IP)
+ fapi vserver fqdn.example.com:443 create
+
+ # Auto resolving of the FQDN (vserver name) and the virtual address (IP)
+ # and auto port 80
+ fapi vserver hostname create
+
+ # Auto resolving of the FQDN (vserver name) and the virtual address (IP)
+ fapi vserver hostname:443 create
+
+ # vserver name and its virtual address will be 1.2.3.4 and auto port 80
+ fapi vserver 1.2.3.4 create
+
+ # vserver name and its virtual address will be 1.2.3.4
+ fapi vserver 1.2.3.4:443 create
+
+ # vserver name is foo, its virtual address 1.2.3.4 and port is 80
+ fapi vserver foo:1.2.3.4:80 create
+
+ # vserver name is 1.2.3.5, its virtual address 1.2.3.4 and port is 80
+ fapi vserver 1.2.3.5:1.2.3.4:80 create
+
+ Similar may apply to other object types such as nodes and vips.
+
+AUTHOR
+ Paul C. Buetow - <paul@buetow.org>
+
+ Also see <http://fapi.buetow.org>
+
diff --git a/docs/fapi.1 b/docs/fapi.1
index b91973e..cc2a15e 100644
--- a/docs/fapi.1
+++ b/docs/fapi.1
@@ -171,7 +171,7 @@ And some extended usage:
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>.
+<https://codeberg.org/snonux/fapi>.
.PP
\&\fB\s-1CAUTION:\s0 This script has been tested on Debian GNU/Linux Wheezy only.\fR
.SH "BIGSUDS"
diff --git a/docs/fapi.pod b/docs/fapi.pod
index afabd99..c957364 100644
--- a/docs/fapi.pod
+++ b/docs/fapi.pod
@@ -36,7 +36,7 @@ And some extended usage:
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>.
+L<https://codeberg.org/snonux/fapi>.
B<CAUTION: This script has been tested on Debian GNU/Linux Wheezy only.>
diff --git a/docs/fapi.txt b/docs/fapi.txt
index e24e679..cd2265c 100644
--- a/docs/fapi.txt
+++ b/docs/fapi.txt
@@ -32,7 +32,7 @@ ABOUT
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>.
+ <https://codeberg.org/snonux/fapi>.
CAUTION: This script has been tested on Debian GNU/Linux Wheezy only.