summaryrefslogtreecommitdiff
path: root/docs/fapi.txt
blob: 845bb95e1a4cee1265c20fc296cc720744b1ea49 (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
116
117
118
119
120
121
122
123
124
125
126
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 a simple pool
      # 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

  Setting up a simple nPath Service
    A simple nPath service can be created as follows.

      # 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

  Setting up simple NAT Services
      (Docu to be written)

  Setting up simple SNAT Services
      (Docu to be written)

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

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