44 lines
1.1 KiB
Text
44 lines
1.1 KiB
Text
{%- from slspath + '/map.jinja' import consul with context -%}
|
|
|
|
consul-config:
|
|
file.serialize:
|
|
- name: /etc/consul.d/config.json
|
|
- encoding: utf-8
|
|
- formatter: json
|
|
- dataset: {{ consul.config | json }}
|
|
- user: {{ consul.user }}
|
|
- group: {{ consul.group }}
|
|
- mode: 0640
|
|
- require:
|
|
- user: consul-user
|
|
{%- if consul.service %}
|
|
- watch_in:
|
|
- service: consul
|
|
{%- endif %}
|
|
|
|
{% for script in consul.scripts %}
|
|
consul-script-install-{{ loop.index }}:
|
|
file.managed:
|
|
- source: {{ script.source }}
|
|
- name: {{ script.name }}
|
|
- template: jinja
|
|
- context: {{ script.get('context', {}) | yaml }}
|
|
- user: {{ consul.user }}
|
|
- group: {{ consul.group }}
|
|
- mode: 0755
|
|
{% endfor %}
|
|
|
|
consul-script-config:
|
|
file.serialize:
|
|
- name: /etc/consul.d/services.json
|
|
{% if consul.service != False %}
|
|
- watch_in:
|
|
- service: consul
|
|
{% endif %}
|
|
- user: {{ consul.user }}
|
|
- group: {{ consul.group }}
|
|
- require:
|
|
- user: consul-user
|
|
- formatter: json
|
|
- dataset:
|
|
services: {{ consul.register | json }}
|