haproxy_join
haproxy_join copied to clipboard
Break up your haproxy configs and join them together
haproxy_join : break up a monolithic haproxy config and join the files together
This code is available as Open Source Software under the MIT license.
Details:
This script accepts a filename (FILE_NAME) as the first arg and a path (HAPROXY_PATH) as the second. It expects the haproxy files/directories to be located as follows:
HAPROXY_PATH/conf/global.cfg (file - required) HAPROXY_PATH/conf/defaults.cfg (file - required) HAPROXY_PATH/conf/frontend.cfg (file - required) HAPROXY_PATH/conf/frontend.d (dir of frontend configs - optional) HAPROXY_PATH/conf/backend.d (dir backend configs - optional)
The script will concatenate these files together to in the appropriate order to create a single large haproxy configuration at HAPROXY_PATH/FILE_NAME. Also note that under the frontend.d and backend.d the script only picks up files with a ".cfg" extension. It wil also attempt to create a backup of the already joined config file.
Usage:
haproxy_join haproxy.cfg /etc/haproxy/
This will join all the configs under /etc/haproxy/conf/ in the above directory format and write the resulting file at /etc/haproxy/haproxy.cfg.
Thanks to Holger Just for his haproxy config tool (http://github.com/finnlabs/haproxy/tree/master) which provided the inspiration for this one.