Merge pull request #18 from hunner/new_readme
Update readme for release
This commit is contained in:
commit
3785b590a1
@ -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
|
This haproxy uses storeconfigs to collect and realize balancer member servers
|
||||||
on a load balancer server. Currently Redhat family OSes are supported, but
|
on a load balancer server. Currently Redhat family OSes are supported.
|
||||||
support for other OS Families shouldn't be too difficult to merge in. Pull
|
|
||||||
requests accepted!
|
|
||||||
|
|
||||||
Read the documentation in the manifest headers for usage information.
|
*To install and configure HAProxy server listening on port 80*
|
||||||
|
|
||||||
## Hacking
|
```puppet
|
||||||
|
node 'haproxy-server' {
|
||||||
|
class { 'haproxy': }
|
||||||
|
haproxy::listen { 'puppet00':
|
||||||
|
ipaddress => $::ipaddress,
|
||||||
|
ports => '8140',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
After cloning the repository:
|
*To add backend loadbalance members*
|
||||||
|
|
||||||
1. `gem install puppetlabs_spec_helper`
|
```puppet
|
||||||
1. `rake spec` # To run the tests
|
node 'webserver01' {
|
||||||
1. Hack Hack Hack # Adding tests hopefully!
|
@@haproxy::balancermember { $fqdn:
|
||||||
1. Commit and send a pull request!
|
listening_service => 'puppet00',
|
||||||
|
server_names => $::hostname,
|
||||||
|
ipaddresses => $::ipaddress,
|
||||||
|
ports => '8140',
|
||||||
|
options => 'check'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
Configuring haproxy options
|
||||||
|
---------------------------
|
||||||
|
|
||||||
Apache 2.0
|
The base `haproxy` class can accept two parameters which will configure basic
|
||||||
|
behaviour of the haproxy server daemon:
|
||||||
|
|
||||||
## Contact
|
- `global_options` to configure the `global` section in `haproxy.cfg`
|
||||||
|
- `defaults_options` to configure the `defaults` section in `haproxy.cfg`
|
||||||
|
|
||||||
Puppet Labs Modules Team <modules@puppetlabs.com>
|
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.
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
Tested and built on Ubuntu and CentOS
|
||||||
|
|
||||||
|
Copyright and License
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Copyright (C) 2012 [Puppet Labs](https://www.puppetlabs.com/) Inc
|
||||||
|
|
||||||
|
Puppet Labs can be contacted at: info@puppetlabs.com
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
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.
|
||||||
|
Loading…
Reference in New Issue
Block a user