diff options
author | Hunter Haugen <h.haugen@gmail.com> | 2012-10-12 15:26:24 -0700 |
---|---|---|
committer | Hunter Haugen <h.haugen@gmail.com> | 2012-10-12 15:26:24 -0700 |
commit | d16221cad10f93da80a1bff92d02a38c7992ad3c (patch) | |
tree | 4cd87a3e5cc2afb7637726b17549cf58be60724f | |
parent | fa67a136a0e2df377c2650cfd45f5941505401be (diff) | |
parent | 00c7ac9d1505fbc930c20c598c968658635f4e9d (diff) |
Merge pull request #18 from hunner/new_readme
Update readme for release
-rw-r--r-- | README.md | 88 |
1 files changed, 73 insertions, 15 deletions
@@ -1,25 +1,83 @@ -# haproxy +PuppetLabs Module for haproxy +============================= + +HAProxy is an HA proxying daemon for load-balancing to clustered services. It +can proxy TCP directly, or other kinds of traffic such as HTTP. + +Basic Usage +----------- This haproxy uses storeconfigs to collect and realize balancer member servers -on a load balancer server. Currently Redhat family OSes are supported, but -support for other OS Families shouldn't be too difficult to merge in. Pull -requests accepted! +on a load balancer server. Currently Redhat family OSes are supported. + +*To install and configure HAProxy server listening on port 80* + +```puppet +node 'haproxy-server' { + class { 'haproxy': } + haproxy::listen { 'puppet00': + ipaddress => $::ipaddress, + ports => '8140', + } +} +``` + +*To add backend loadbalance members* + +```puppet +node 'webserver01' { + @@haproxy::balancermember { $fqdn: + listening_service => 'puppet00', + server_names => $::hostname, + ipaddresses => $::ipaddress, + ports => '8140', + options => 'check' + } +} +``` + +Configuring haproxy options +--------------------------- + +The base `haproxy` class can accept two parameters which will configure basic +behaviour of the haproxy server daemon: + +- `global_options` to configure the `global` section in `haproxy.cfg` +- `defaults_options` to configure the `defaults` section in `haproxy.cfg` + +Configuring haproxy daemon listener +----------------------------------- + +One `haproxy::listen` defined resource should be defined for each HAProxy loadbalanced set of backend servers. The title of the `haproxy::listen` resource is the key to which balancer members will be proxied to. The `ipaddress` field should be the public ip address which the loadbalancer will be contacted on. The `ports` attribute can accept an array or comma-separated list of ports which should be proxied to the `haproxy::balancermemeber` nodes. + +Configuring haproxy loadbalanced member nodes +--------------------------------------------- + +The `haproxy::balacemember` defined resource should be exported from each node +which is serving loadbalanced traffic. the `listening_service` attribute will +associate it with `haproxy::listen` directives on the haproxy node. +`ipaddresses` and `ports` will be assigned to the member to be contacted on. If an array of `ipaddresses` and `server_names` are provided then they will be added to the config in lock-step. -Read the documentation in the manifest headers for usage information. +Dependencies +------------ -## Hacking +Tested and built on Ubuntu and CentOS -After cloning the repository: +Copyright and License +--------------------- -1. `gem install puppetlabs_spec_helper` -1. `rake spec` # To run the tests -1. Hack Hack Hack # Adding tests hopefully! -1. Commit and send a pull request! +Copyright (C) 2012 [Puppet Labs](https://www.puppetlabs.com/) Inc -## License +Puppet Labs can be contacted at: info@puppetlabs.com -Apache 2.0 +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -## Contact + http://www.apache.org/licenses/LICENSE-2.0 -Puppet Labs Modules Team <modules@puppetlabs.com> +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. |