diff --git a/doc/index.rst b/doc/index.rst index b9d72f01..79251e16 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -4,5 +4,6 @@ Load Balancer as a Service Device Tools .. toctree:: :maxdepth: 3 + introduction client/index worker/index diff --git a/doc/introduction.rst b/doc/introduction.rst new file mode 100644 index 00000000..2f2bcc0e --- /dev/null +++ b/doc/introduction.rst @@ -0,0 +1,29 @@ +Introduction +============ + +Libra is a Load Balancer as a Service (LBaaS) system originally designed by +Hewlett-Packard Cloud Services. It consists of three of the core components +required to get LBaaS working: + +* A command line client +* A node pool manager to keep a warm spare pool of load balancers ready +* A node worker to asyncronusly communicate to the API server + +It does not (yet) include the API server itself or HAProxy. The API server is +based on the Atlas API system but communicates to the workers using gearman. + +Layout +------ + +.. image:: libralayout.png + +Here you can see that the pool manager spins up the required Nova nodes with +the load balancer image. It then hands the details of this node over the the +API server. + +The client sends an Atlas API request to the API server which in-turn sends the +configuration information to the worker on the load balancer node. The worker +has a plugin API to speak to multiple load balancer types but is currently +designed to use HAProxy. + +The parts of this diagram in orange are provided by the libra codebase. diff --git a/doc/libralayout.png b/doc/libralayout.png new file mode 100644 index 00000000..04dee19a Binary files /dev/null and b/doc/libralayout.png differ diff --git a/doc/sources/libralayout.odg b/doc/sources/libralayout.odg new file mode 100644 index 00000000..22cd3869 Binary files /dev/null and b/doc/sources/libralayout.odg differ