Break up your haproxy configs and join them together
Ruby Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
examples
README
Rakefile

README

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.