Documentation
diff --git a/haproxy/files/sensu.conf b/haproxy/meta/sensu.yml
similarity index 100%
rename from haproxy/files/sensu.conf
rename to haproxy/meta/sensu.yml
diff --git a/haproxy/meta/sphinx.yml b/haproxy/meta/sphinx.yml
new file mode 100644
index 0000000..4645bc3
--- /dev/null
+++ b/haproxy/meta/sphinx.yml
@@ -0,0 +1,25 @@
+{%- from "haproxy/map.jinja" import proxy with context %}
+{%- from "linux/map.jinja" import network with context -%}
+name: HAProxy
+description: The Reliable, High Performance TCP/HTTP Load Balancer.
+role:
+ proxy:
+ name: proxy
+ param:
+ version:
+ value: "{{ salt['cmd.run']('haproxy -v')|replace("HA-Proxy version ", '') }}"
+ endpoint:
+ {%- for listen_name, listen in proxy.get('listen', {}).iteritems() %}
+ {%- if listen.get('check', True) %}
+ {%- if listen.binds.0.address|length == 1 or listen.binds.0.address == '0.0.0.0' %}
+ {% if grains.ipv4[0] == '127.0.0.1' %}{% set address = grains.ipv4[1] %}{% else %}{% set address = grains.ipv4[0] %}{% endif %}
+ {%- else %}
+ {%- set address = listen.binds.0.address %}
+ {%- endif %}
+ {{ listen_name }}_{{ listen.type }}:
+ name: {{ listen_name }}
+ type: {{ listen.type }}
+ address: http{% if site.get('ssl', {}).get('enabled', False) %}s{% endif %}://{{ site.host.name }}:{{ site.host.get('port', '80') }}/
+ protocol: {%- if listen.type in ['general-service', 'openstack-service', 'http', 'contrail-api', 'admin'] %}http{% else %}tcp{% endif %}
+ {%- endif %}
+ {%- endfor %}
\ No newline at end of file
diff --git a/metadata/service/proxy/single.yml b/metadata/service/proxy/single.yml
index d0a7cfa..87896eb 100644
--- a/metadata/service/proxy/single.yml
+++ b/metadata/service/proxy/single.yml
@@ -1,5 +1,7 @@
applications:
- haproxy
+classes:
+- service.haproxy.support
parameters:
haproxy:
proxy:
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..6642bee
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,11 @@
+parameters:
+ haproxy:
+ _support:
+ collectd:
+ enabled: false
+ heka:
+ enabled: false
+ sensu:
+ enabled: true
+ sphinx:
+ enabled: true