cookbook 'pound', '~> 0.1.3'
pound (1) Versions 0.1.3 Follow0
Installs/Configures pound
cookbook 'pound', '~> 0.1.3', :supermarket
knife supermarket install pound
knife supermarket download pound
pound Cookbook
http://www.apsis.ch/pound
POUND - REVERSE-PROXY AND LOAD-BALANCER
The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s).
Pound was developed to enable distributing the load among several Web-servers and to allow
for a convenient SSL wrapper for those Web servers that do not offer it natively.
WHAT POUND IS:
1.a reverse-proxy: it passes requests from client browsers to one or more back-end servers.
2.a load balancer: it will distribute the requests from the client browsers among several back-end servers, while keeping session information.
3.an SSL wrapper: Pound will decrypt HTTPS requests from client browsers and pass them as plain HTTP to the back-end servers.
4.an HTTP/HTTPS sanitizer: Pound will verify requests for correctness and accept only well-formed ones.
5.a fail over-server: should a back-end server fail, Pound will take note of the fact and stop passing requests to it until it recovers.
6.a request redirector: requests may be distributed among servers according to the requested URL.
Pound is a very small program, easily audited for security problems. It can run as setuid/setgid and/or in a chroot jail.
Pound does not access the hard-disk at all (except for reading the certificate file on start, if required)
and should thus pose no security threat to any machine.
WHAT POUND IS NOT:
1.Pound is not a Web server: by itself, Pound serves no content - it contacts the back-end server(s) for that purpose.
2.Pound is not a Web accelerator: no caching is done - every request is passed "as is" to a back-end server.
Requirements
TODO: List your cookbook requirements. Be sure to include any requirements this cookbook has on platforms, libraries, other cookbooks, packages, operating systems, etc.
The following code block needs to be added to the Varnish VCL:
Getting Varnish and Pound to play nicely required the vcl_hash block below
https://www.adammalone.net/post/why-pound-awesome-front-varnish#.VaZwh6bDTef
sub vcl_hash
{
hash_data(req.url);
if (req.http.host) {
hash_data(req.http.host);
}
else {
hash_data(server.ip);
}
# Use special internal SSL hash for https content
# X-Forwarded-Proto is set to https by Pound
if (req.http.X-Forwarded-Proto ~ "https") {
hash_data(req.http.X-Forwarded-Proto);
}
return (hash);
}
Attributes
TODO: List you cookbook attributes here.
default[:pound][:xhttp]="1"
default[:pound][:backend][:host]="127.0.0.1"
default[:pound][:backend][:port]="8000"
Backend application running on port 8000
default[:pound][:inc_files]=["/etc/pound.d/backend.cfg"]
default[:pound][:ssl][:key]=""
The SSL Key
default[:pound][:ssl][:cert]=""
The SSL Cert
default[:pound][:ssl][:chain]=""
The SSL chain
Recipes
pound::default
pound::setup_http
pound::setup_https
Usage
TODO: Write usage instructions for each cookbook.
For SSL enablement with Varnish you will need the following:
pound::default
pound::setup_https
The following inputs will have to be updated with their values:
SSL KEY
SSL Cert
SSL Chain
Contributing
TODO: (optional) If this is a public cookbook, detail the process for contributing. If this is a private cookbook, remove this section.
e.g.
1. Fork the repository on Github
2. Create a named feature branch (like add_component_x
)
3. Write you change
4. Write tests for your change (if applicable)
5. Run the tests, ensuring they all pass
6. Submit a Pull Request using Github
License and Authors
Author:: RightScale, Inc. (cookbooks@rightscale.com)
Dependent cookbooks
yum-epel >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
CHANGELOG for pound
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Unreleased
Added
Changed
0.1.3 - 2017-03-28
Changed
- Updated to chef12
- Updated to ChefDK 1.2.22
- Updated to kitchen-dokken
0.1.0:
- Initial release of pound
Collaborator Number Metric
0.1.3 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.3 passed this metric
No Binaries Metric
0.1.3 passed this metric
Testing File Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.3 failed this metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.1.3 passed this metric
No Binaries Metric
0.1.3 passed this metric
Testing File Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.3 passed this metric
0.1.3 passed this metric
Testing File Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.1.3 failed this metric
0.1.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number