README for Rhaproxy

Rhaproxy is a gem providing a ruby interface to HAproxy TCP/HTTP Load Balancer.

To install, type ‘gem install rhaproxy’

Usage:

require 'rubygems'
require 'rhaproxy'

global = RhaproxyGlobal.new
global.daemon = true
global.maxconn = 256

defaults = RhaproxyDefaults.new
defaults.mode = "http"
defaults.timeout_connect = "5000ms"
defaults.timeout_client = "50000ms"
defaults.timeout_server = "50000ms"

frontend = RhaproxyFrontend.new
frontend.name = "http-in"
frontend.default_backend = "servers"

backend = RhaproxyBackend.new
backend.name = "servers"
backend.server = "server1 127.0.0.1:8000 maxconn 32"

config = Array.new
config.push([global.config])
config.push([defaults.config])
config.push([frontend.config])
config.push([backend.config])

haproxy_conf_file = File.new("haproxy.conf", "w+")
haproxy_conf_file.puts(config)
haproxy_conf_file.close

haproxy.conf:

global
  daemon
  maxconn 256

defaults
  mode http
  timeout client 50000ms
  timeout connect 5000ms
  timeout server 50000ms

frontend http-in
  default_backend servers

backend servers
  server server1 127.0.0.1:8000 maxconn 32