Merge pull request #10 from sitepoint/various_qa_fixes
Minor improvements
This commit is contained in:
commit
b83deb4f28
5 changed files with 47 additions and 25 deletions
|
@ -3,6 +3,11 @@
|
|||
# Meta-state to fully setup haproxy on debian. (or any other distro that has haproxy in their repo)
|
||||
|
||||
include:
|
||||
{% if salt['pillar.get']('haproxy:include') %}
|
||||
{% for item in salt['pillar.get']('haproxy:include') %}
|
||||
- {{ item }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
- haproxy.install
|
||||
- haproxy.service
|
||||
- haproxy.config
|
|
@ -12,3 +12,9 @@ haproxy_ppa_repo:
|
|||
haproxy.install:
|
||||
pkg.installed:
|
||||
- name: haproxy
|
||||
{% if salt['pillar.get']('haproxy:require') %}
|
||||
- require:
|
||||
{% for item in salt['pillar.get']('haproxy:require') %}
|
||||
- {{ item }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
|
@ -1,17 +1,26 @@
|
|||
haproxy.service:
|
||||
{% if salt['pillar.get']('haproxy:enable', True) %}
|
||||
service.running:
|
||||
- name: haproxy
|
||||
- enable: True
|
||||
- reload: True
|
||||
- require:
|
||||
- pkg: haproxy
|
||||
file: haproxy.service
|
||||
- watch:
|
||||
- file: haproxy.config
|
||||
file.managed:
|
||||
{% else %}
|
||||
service.dead:
|
||||
- name: haproxy
|
||||
- enable: False
|
||||
{% endif %}
|
||||
file.replace:
|
||||
- name: /etc/default/haproxy
|
||||
#TODO: Add switch to turn the service on and off based on pillar configuration.
|
||||
- source: salt://haproxy/files/haproxy-init-enable
|
||||
- create: True
|
||||
- user: "root"
|
||||
- group: "root"
|
||||
- mode: "0644"
|
||||
{% if salt['pillar.get']('haproxy:enabled', True) %}
|
||||
- pattern: ENABLED=0$
|
||||
- repl: ENABLED=1
|
||||
{% else %}
|
||||
- pattern: ENABLED=1$
|
||||
- repl: ENABLED=0
|
||||
{% endif %}
|
||||
- show_changes: True
|
||||
|
|
|
@ -16,14 +16,15 @@ global
|
|||
group {{ salt['pillar.get']('haproxy:global:group', 'haproxy') }}
|
||||
{%- if salt['pillar.get']('haproxy:global:chroot:enable', 'no') == True %}
|
||||
chroot {{ salt['pillar.get']('haproxy:global:chroot:path', '/tmp') }}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if salt['pillar.get']('haproxy:global:daemon', 'no') == True %}
|
||||
daemon
|
||||
{% endif %}
|
||||
{%- if salt['pillar.get']('haproxy:global:stats:enable', 'no') == True %}
|
||||
{%- endif %}
|
||||
{% if salt['pillar.get']('haproxy:global:stats:enable', 'no') == True %}
|
||||
# Stats support is currently limited to socket mode
|
||||
stats socket {{ salt['pillar.get']('haproxy:global:stats:socketpath', '/tmp/ha_stats.sock') }}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
|
||||
|
||||
#------------------
|
||||
# common defaults that all the 'listen' and 'backend' sections will
|
||||
|
@ -48,13 +49,13 @@ defaults
|
|||
{%- for errorfile in salt['pillar.get']('haproxy:defaults:errorfiles').iteritems() %}
|
||||
errorfile {{ errorfile[0] }} {{ errorfile[1] }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if 'listens' in salt['pillar.get']('haproxy', {}) %}
|
||||
|
||||
|
||||
#------------------
|
||||
# listen instances
|
||||
#------------------
|
||||
{%- if 'listens' in salt['pillar.get']('haproxy', {}) %}
|
||||
{%- for listener in salt['pillar.get']('haproxy:listens', {}).iteritems() %}
|
||||
listen {{ listener[1].get('name', listener[0]) }}
|
||||
{%- if 'bind' in listener[1] %}
|
||||
|
@ -123,13 +124,13 @@ listen {{ listener[1].get('name', listener[0]) }}
|
|||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if 'frontends' in salt['pillar.get']('haproxy', {}) %}
|
||||
|
||||
|
||||
#------------------
|
||||
# frontend instances
|
||||
#------------------
|
||||
{%- if 'frontends' in salt['pillar.get']('haproxy', {}) %}
|
||||
{%- for frontend in salt['pillar.get']('haproxy:frontends', {}).iteritems() %}
|
||||
frontend {{ frontend[1].get('name', frontend[0]) }}
|
||||
{%- if 'bind' in frontend[1] %}
|
||||
|
@ -165,15 +166,15 @@ frontend {{ frontend[1].get('name', frontend[0]) }}
|
|||
{%- for use_backend in frontend[1].use_backends %}
|
||||
use_backend {{ use_backend }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if 'backends' in salt['pillar.get']('haproxy', {}) %}
|
||||
|
||||
|
||||
#------------------
|
||||
# backend instances
|
||||
#------------------
|
||||
{%- if 'backends' in salt['pillar.get']('haproxy', {}) %}
|
||||
{%- for backend in salt['pillar.get']('haproxy:backends', {}).iteritems() %}
|
||||
backend {{ backend[1].get('name',backend[0]) }}
|
||||
{%- if 'redirects' in backend[1] %}
|
||||
|
@ -183,7 +184,7 @@ backend {{ backend[1].get('name',backend[0]) }}
|
|||
{% endif %}
|
||||
{%- if 'balance' in backend[1] %}
|
||||
balance {{ backend[1].balance }}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if 'options' in backend[1] %}
|
||||
{%- for option in backend[1].options %}
|
||||
option {{ option }}
|
||||
|
@ -203,11 +204,11 @@ backend {{ backend[1].get('name',backend[0]) }}
|
|||
{% endif %}
|
||||
{%- if 'defaultserver' in backend[1] %}
|
||||
default-server {%- for option, value in backend[1].defaultserver.iteritems() %} {{ ' '.join((option, value|string, '')) }} {%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
{%- if 'servers' in backend[1] %}
|
||||
{%- for server in backend[1].servers.iteritems() %}
|
||||
server {{ server[1].get('name',server[0]) }} {{ server[1].host }}:{{ server[1].port }} {{ server[1].check }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
{%- endif %}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#
|
||||
|
||||
haproxy:
|
||||
enabled: True
|
||||
config_file_path: /etc/haproxy/haproxy.cfg
|
||||
global:
|
||||
stats:
|
||||
|
|
Loading…
Reference in a new issue