summaryrefslogtreecommitdiff
path: root/docs/fapi.pod
blob: f77c0ed0539e200840c8138b724d7d5deeaf1158 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
=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 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, auto resolve the IP addresses
  f node fooserver1.example.com create
  f node fooserver2.example.com create

  # Creating a pool and add the nodes to it
  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 service, 'nPath' also auto disables NAT and PAT
  f vserver myservice.example.com:80 create PROTOCOL_TCP nPath

  # Add the pool to the service
  f vserver myservice.example.com:80 set pool foopool

  # Add a nPath HTTPS service
  f vserver myservice.example.com:443 create PROTOCOL_TCP nPath
  f vserver myservice.example.com:443 set pool foopool

=head1 AUTHOR

Paul C. Buetow - <paul@buetow.org>

Also see L<http://fapi.buetow.org>

=cut