Releases: cloudfoundry/haproxy-boshrelease
v9.5.2
New Features
- Custom HTTP responses can be configured using
ha_proxy.custom_http_error_files
. It takes
a map of status codes to raw http responses to send. This allows operators to customize things
like the 502/503 errors returned by HA Proxy.
Acknowledgements
Many thanks to @rodolf2488 and @barakyo for implementing this!
Deployment
releases:
- name: haproxy
version: 9.5.2
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.5.2/haproxy-9.5.2.tgz
sha1: 34e1120cd321dcdb0a359b3c8873b75a7b60575b
v9.5.1
Improvements
ha_proxy.trusted_domain_cidrs
can now be specified as a base64 encoded blob if desired.
Fixes
- Resolved an issue where haproxy failed to start when the
ha_proxy.trusted_domain_cidrs
value was too long
Acknowledgements
Thanks @Soha-Albaghdady for the fix!
Deployment
releases:
- name: haproxy
version: 9.5.1
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.5.1/haproxy-9.5.1.tgz
sha1: f56c1b5a7577f480f32c96a4eba5532679f61ecf
v9.5.0
New Features
-
haproxy
now supports a graceful drain on connections (disabled by default).
To enable it, useha_proxy.drain_enable: true
. If haproxy does not complete
its drain within theha_proxy.drain_timeout
perioud (defaults to 30s), it will
shut off haproxy without waiting for in-flight connections to complete.ha_proxy.drain_frontend_grace_time
can be used to set a delay between shutdown and
when the frontends stop accepting connections.
Acknowledgements
Thanks @stefanlay for the new feature!
Deployment
releases:
- name: haproxy
version: 9.5.0
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.5.0/haproxy-9.5.0.tgz
sha1: 651abdeb879f1b5cd3f59a231cb9102b41ffaafd
v9.4.2
Fixes
- Adds support for a
dont_track_primary
property for keepalived, to resolve
a DHCP related issue on OpenStack found in #132 - CI builds + the base manifest for HAProxy now use the latest available copy of BPM on
the BOSH director
Acknowledgements
Thanks @rkoster for the fix!
Deployment
releases:
- name: haproxy
version: 9.4.2
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.4.2/haproxy-9.4.2.tgz
sha1: 1232ac3a62f29bf655fef056741571bd14b22146
v9.4.1
Fixes
- Updated the manifest for compatibility with a CI script, no functional changes
Deployment
releases:
- name: haproxy
version: 9.4.1
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.4.1/haproxy-9.4.1.tgz
sha1: 788305c312f71d70808c452736a1e343b7a48d0a
v9.4.0
Improvements
- Converted HAProxy to start using BPM
- Updated default manifest to use the xenial stemcell
- The default value for the haproxy
keep-alive
timeout is now 6 seconds, to improve compatibility with
various HTTP clients. - The
keepalived
job now provides a link including the VIP that keepalived uses - Added configurable
ha_proxy.max_connections
andha_proxy.max_open_files
properties for controlling
the number of simultaneous HAProxy connections without creating new boshreleases now. - Fixed an issue with the
ha_proxy.crt_list
property not properly detecting mutual tls settings unless
theverify
key was present on every certificate.
Fixes
- Bumps HAProxy to v1.8.17
Acknowledgments
Thanks to @rosenhouse, @mathias-ewald, @Fn0rd1, @dueckminor, and @xoebus for the feature requests/bug reports!
Deployment
releases:
- name: haproxy
version: 9.4.0
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.4.0/haproxy-9.4.0.tgz
sha1: e873611c1c24a0044130319c3b2799b7068ff734
v9.3.0
New Features
-
Added support for HAProxy's experimental multi-threading logic.
Previously, this boshrelease usedha_proxy.threads
to set thenbproc
value of HAProxy, causing a multi-threaded behavior by spawning multiple
HAProxy processes. In v1.8.x, built-in multi-threading was enabled in an
experimental mode. This can be enabled viaha_proxy.nbthread
. Adding multi-
threading works in-conjunction with multi-process HAProxy, or on its own.
To reduce confusion, theha_proxy.threads
property has been deprecated,
but still affects the number of processes run. In the future,ha_proxy.nbproc
should be used. To enable the experimental multi-threading, useha_proxy.nbthread
.Note: One of the upsides to multi-thread vs multi-process is that the threads
are able to share memory, resulting in the need for only one stats socket/listener.
One of the downsides is that LUA scripts are globally single-threaded, so only one
script will run at a time, ever. HAProxy can still service requests that don't involve
calling LUA code, but multiple calls requiring LUA will be serialized.
Updates
- HAProxy was updated to v1.8.13
Deprecation Warning!
ha_proxy.threads
is hereby deprecated, and will be removed in the next major
version of the boshrelease. It previously referred to the number of HAProxy
processes running, and was going to be confusing with the added thread support.
Please useha_proxy.nbproc
instead.
Acknowledgments
Thanks @teancom for all the amazing work once again!
Deployment
releases:
- name: haproxy
version: 9.3.0
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.3.0/haproxy-9.3.0.tgz
sha1: 384de4ad378b940641a34cda1c63fdc02c901b8f
v9.2.1
Typo fix to allow the TCP Router backend to work.
Thanks to eagle-eyed @ljfranklin for catching this!
Deployment
releases:
- name: haproxy
version: 9.2.1
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.2.1/haproxy-9.2.1.tgz
sha1: b37404f8029517a704364a67637265f1109b08fc
v9.2.0
KNOWN ISSUES
There is a bug in this release which results in it being incompatible with the CF TCP Router (or anything providing the tcp_router
link
New Features
-
The
haproxy
job can now be easily configured to use the CF Routing tier's HTTP-based
health checks. Specifyha_proxy.backend_use_http_health = true
to enable it. If custom
ports or URIs are necessary for HTTP backend health checks, they can be specified via
ha_proxy.backend_http_health_port
andha_proxy.backend_http_health_uri
. There are similar
properties available for theha_proxy.routed_backends
datastructures viabackend_use_http_health
,
backend_http_health_port
, andbackend_http_health_uri
properties on each routed backend
definition.Generic TCP routing was not updated with support for custom HTTP backends. However, when the
tcp_router
link is consumed from Cloud Foundry, it now enforces the use of HTTP health checks
to the TCP router. Previously, only a TCP port check on port 80 was done. -
Added a property to allow lua scripts to be easily loaded into the HA proxy config
viaha_proxy.lua_scripts
. This is a list of full paths to the lua script on disk.
You'll want to provide those with some other boshrelease. -
Added a property for providing arbitrary frontend config to haproxy via
ha_proxy.frontend_config
.
This applies to all of the haproxy frontends. -
Added a property for providing arbitrary backend config to haproxy backends via the
ha_proxy.backend_config
,
andha_proxy.tcp_backend_config
(the former will be used on default + routed HTTP backends, the latter on
all tcp-mode backends). -
Added a property for providing arbitrary global config to haproxy via
ha_proxy.global_config
. -
Improved logging to include info related to health check/backend status, and elevate log levels for error messages.
Fixes
- The default logging endpoint has changed from
127.0.0.1
to/dev/log
, which resolves issues wherehaproxy
was deployed on a VM that did not have TCP/UDP listeners enabled inrsyslog
.
Acknowledgements
Thanks @teancom for helping out with the features for this release! Many thanks to @macox for the backend_config
support!
Deployment
releases:
- name: haproxy
version: 9.2.0
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.2.0/haproxy-9.2.0.tgz
sha1: 1f9fca2c0143e6f385c13567b405e7b5087b4157
v9.1.0
New Features
- Added a new
ha_proxy.raw_config
attribute, to allow users to specify an
entire haproxy config to be used. This replaces all other haproxy config logic
in the boshrelease, and should be used with care. - HAProxy is now compiled with LUA support, which may be useful when providing
a custom config.
Acknowledgements
Thanks @teancom for the help!
Deployment
releases:
- name: haproxy
version: 9.1.0
url: https://github.com/cloudfoundry-incubator/haproxy-boshrelease/releases/download/v9.1.0/haproxy-9.1.0.tgz
sha1: 2cbcec6e3a32a27c333ef451474a3f4d0e840f87