Documentation

    haproxy

    Manage HAProxy load balancer backend and frontend configurations.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    balance   string   Load balancing algorithm (e.g., roundrobin, leastconn, source).
    check   string   Health check option string (e.g., “option httpchk GET /health”).
    config_file   string   Path to the HAProxy configuration file. [default: "/etc/haproxy/haproxy.cfg"]
    name true string   Backend or frontend section name.
    section   string backend
    frontend
    listen
    Section type to manage. [default: "backend"]
    servers   array   List of backend servers with name, address, and optional check flag.
    state   string present
    absent
    Whether the section should be present or absent. [default: "present"]

    Examples

    - name: Create backend with servers
      haproxy:
        config_file: /etc/haproxy/haproxy.cfg
        name: web_backend
        state: present
        servers:
          - name: web1
            address: 192.168.1.10:80
          - name: web2
            address: 192.168.1.11:80
        balance: roundrobin
    
    - name: Create backend with health checks
      haproxy:
        config_file: /etc/haproxy/haproxy.cfg
        name: web_backend
        state: present
        balance: leastconn
        check: option httpchk GET /health
        servers:
          - name: web1
            address: 192.168.1.10:80
            check: true
          - name: web2
            address: 192.168.1.11:80
            check: true
    
    - name: Remove backend
      haproxy:
        config_file: /etc/haproxy/haproxy.cfg
        name: old_backend
        state: absent
    
    - name: Create frontend
      haproxy:
        config_file: /etc/haproxy/haproxy.cfg
        name: http-in
        section: frontend
        state: present
        check: bind *:80