Adoptable Cookbooks List

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

node['haproxy']['conf_cookbook'] - used to update which cookbook holds the haproxy.cfg template

node['haproxy']['conf_template_source'] - name of the haproxy.cfg template

Recipes

default

manual

Sets up haproxy using statically defined configuration.

app_lb

Uses chef search to set up haproxy creating a dynamically defined configuration. See Usage below.

_discovery

Helper recipe that finds nodes with a attribute defined role name using search. Sets node['haproxy']['pool_members']

tuning

Uses the community cpu cookbook's cpu_affinity LWRP to set affinity for the haproxy process.

install_package

Installs haproxy through the package manager. Used by the default and app_lb recipes.

install_source

Installs haproxy from source. Used by the default and app_lb recipes.

Providers

haproxy_lb

Configure a part of haproxy (frontend|backend|listen). It is used in manual and app_lb recipes to configure default frontends and backends. Several common options can be set as attributes of the LWRP. Others can always be set with the parameters attribute. For instance,

Usage

Use either the manual recipe or the app_lb recipe.

When using the manual recipe, the members attribute specifies the http application servers. If you wish to use the node['haproxy']['listeners'] attribute or haproxy_lb lwrp instead then set node['haproxy']['enable_default_http'] to false.

ssl_port will default to the value of node['haproxy']['ssl_member_port']

weight will default to the value of node['haproxy']['member_weight']

max_connections will default to the value of node['haproxy']['member_max_connections']

The app_lb recipe is designed to be used with the application cookbook, and provides search mechanism to find the appropriate application servers. Set this in a role that includes the haproxy::app_lb recipe. For example,

License & Authors

Copyright:: Heavy Water Operations, LLC.
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.