name "haproxy" maintainer "Opscode, Inc." maintainer_email "cookbooks@opscode.com" license "Apache 2.0" description "Installs and configures haproxy" long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) version "1.6.2" recipe "haproxy", "Installs and configures haproxy" recipe "haproxy::app_lb", "Installs and configures haproxy by searching for nodes of a particular role" %w{ debian ubuntu centos redhat}.each do |os| supports os end depends "cpu", ">= 0.2.0" depends "build-essential" attribute "haproxy/incoming_address", :display_name => "HAProxy incoming address", :description => "Sets the address to bind the haproxy process on, 0.0.0.0 (all addresses) by default.", :required => "optional", :default => "0.0.0.0" attribute "haproxy/incoming_port", :display_name => "HAProxy incoming port", :description => "Sets the port on which haproxy listens.", :required => "optional", :default => "80" attribute "haproxy/member_port", :display_name => "HAProxy member port", :description => "The port that member systems will be listening on, default 8080.", :required => "optional", :default => "8080" attribute "haproxy/app_server_role", :display_name => "HAProxy app server role", :description => "Used by the app_lb recipe to search for a specific role of member systems. Default webserver.", :required => "optional", :default => "webserver" attribute "haproxy/balance_algorithm", :display_name => "HAProxy balance algorithm", :description => "Sets the load balancing algorithm; defaults to roundrobin.", :required => "optional", :default => "roundrobin" attribute "haproxy/enable_ssl", :display_name => "HAProxy enable ssl", :description => "Whether or not to create listeners for ssl, default false.", :required => "optional" attribute "haproxy/ssl_incoming_address", :display_name => "HAProxy ssl incoming address", :description => "Sets the address to bind the haproxy on for SSL, 0.0.0.0 (all addresses) by default.", :required => "optional", :default => "0.0.0.0" attribute "haproxy/ssl_member_port", :display_name => "HAProxy member port", :description => "The port that member systems will be listening on for ssl, default 8443.", :required => "optional", :default => "8443" attribute "haproxy/ssl_incoming_port", :display_name => "HAProxy incoming port", :description => "Sets the port on which haproxy listens for ssl, default 443.", :required => "optional", :default => "443" attribute "haproxy/httpchk", :display_name => "HAProxy HTTP health check", :description => "Used by the haproxy::app_lb recipe. If set, will configure httpchk in haproxy.conf.", :required => "optional" attribute "haproxy/ssl_httpchk", :display_name => "HAProxy SSL HTTP health check", :description => "Used by the app_lb recipe. If set and enable_ssl is true, will configure httpchk in haproxy.conf for the ssl_application section.", :required => "optional" attribute "haproxy/enable_admin", :display_name => "HAProxy enable admin", :description => "Whether to enable the admin interface. default true. Listens on port 22002.", :required => "optional", :default => "true" attribute "haproxy/admin/address_bind", :display_name => "HAProxy admin address bind", :description => "Sets the address to bind the administrative interface on, 127.0.0.1 by default.", :required => "optional", :default => "127.0.0.1" attribute "haproxy/admin/port", :display_name => "HAProxy admin port", :description => "Sets the port for the administrative interface, 22002 by default.", :required => "optional", :default => "22002" attribute "haproxy/pid_file", :display_name => "HAProxy PID file", :description => "The PID file of the haproxy process, used in the tuning recipe.", :required => "optional", :default => "/var/run/haproxy.pid" attribute "haproxy/default options", :display_name => "HAProxy default options", :description => "An array of options to use for the config file's defaults stanza, default is [\"httplog\", \"dontlognull\", \"redispatch\"].", :required => "optional", :type => "array", :default => ["httplog", "dontlognull", "redispatch"] attribute "haproxy/defaults_timeouts/connect", :display_name => "HAProxy connect timeout", :description => "Connect timeout in defaults stanza.", :required => "optional", :default => "5s" attribute "haproxy/defaults_timeouts/client", :display_name => "HAProxy client timeout", :description => "Client timeout in defaults stanza.", :required => "optional", :default => "50s" attribute "haproxy/defaults_timeouts/server", :display_name => "HAProxy server timeout", :description => "Server timeout in defaults stanza.", :required => "optional", :default => "50s" attribute "haproxy/x_forwarded_for", :display_name => "HAProxy X-Forwarded-For", :description => "If true, creates an X-Forwarded-For header containing the original client's IP address. This option disables KeepAlive.", :required => "optional" attribute "haproxy/member_max_connections", :display_name => "HAProxy member max connections", :description => "The maxconn value to be set for each app server.", :required => "optional", :default => "100" attribute "haproxy/user", :display_name => "HAProxy user", :description => "User that haproxy runs as.", :required => "optional", :default => "haproxy" attribute "haproxy/group", :display_name => "HAProxy group", :description => "Group that haproxy runs as.", :required => "optional", :default => "haproxy" attribute "haproxy/global_max_connections", :display_name => "HAProxy global max connections", :description => "In the app_lb config, set the global maxconn.", :required => "optional", :default => "4096" attribute "haproxy/frontend_max_connections", :display_name => "HAProxy frontend max connections", :description => "In the app_lb config, set the the maxconn per frontend member.", :required => "optional", :default => "2000" attribute "haproxy/frontend_ssl_max_connections", :display_name => "HAProxy frontend SSL max connections", :description => "In the app_lb config, set the maxconn per frontend member using SSL.", :required => "optional", :default => "2000" attribute "haproxy/install_method", :display_name => "HAProxy install method", :description => "Determines which method is used to install haproxy, must be 'source' or 'package'. defaults to 'package'.", :required => "recommended", :choice => ["package", "source"], :default => "package" attribute "haproxy/conf_dir", :display_name => "HAProxy config directory", :description => "The location of the haproxy config file.", :required => "optional", :default => "/etc/haproxy" attribute "haproxy/source/version", :display_name => "HAProxy source version", :description => "The version of haproxy to install.", :required => "optional", :default => "1.4.22" attribute "haproxy/source/url", :display_name => "HAProxy source URL", :description => "The full URL to the haproxy source package.", :required => "optional", :default => "http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz" attribute "haproxy/source/checksum", :display_name => "HAProxy source checksum", :description => "The checksum of the haproxy source package.", :required => "optional", :default => "ba221b3eaa4d71233230b156c3000f5c2bd4dace94d9266235517fe42f917fc6" attribute "haproxy/source/prefix", :display_name => "HAProxy source prefix", :description => "The prefix used to make install haproxy.", :required => "optional", :default => "/usr/local" attribute "haproxy/source/target_os", :display_name => "HAProxy source target OS", :description => "The target used to make haproxy.", :required => "optional", :default => "generic" attribute "haproxy/source/target_cpu", :display_name => "HAProxy source target CPU", :description => "The target cpu used to make haproxy.", :required => "optional", :default => "" attribute "haproxy/source/target_arch", :display_name => "HAProxy source target arch", :description => "The target arch used to make haproxy.", :required => "optional", :default => "" attribute "haproxy/source/use_pcre", :display_name => "HAProxy source use PCRE", :description => "Whether to build with libpcre support.", :required => "optional"