formula-consul/consul/install.sls

89 lines
2.3 KiB
Text
Raw Permalink Normal View History

{%- from slspath + '/map.jinja' import consul with context -%}
2015-10-22 15:29:19 -04:00
2016-04-08 06:35:36 -04:00
consul-dep-unzip:
pkg.installed:
- name: unzip
2015-10-22 15:29:19 -04:00
2016-04-08 06:35:36 -04:00
consul-bin-dir:
2015-10-22 15:29:19 -04:00
file.directory:
- name: {{ consul.bin_dir }}
2015-10-22 15:29:19 -04:00
- makedirs: True
# Create consul user
consul-group:
2015-10-22 15:29:19 -04:00
group.present:
- name: {{ consul.group }}
2019-01-21 20:38:09 -05:00
- system: True
{% if consul.get('group_gid', None) != None -%}
- gid: {{ consul.group_gid }}
{%- endif %}
consul-user:
user.present:
- name: {{ consul.user }}
- groups:
- {{ consul.group }}
{% for groupname in consul.groups -%}
- {{ groupname }}
{%- endfor %}
- home: {{ salt['user.info'](consul.user)['home']|default(consul.config.data_dir) }}
- createhome: False
- system: True
{% if consul.get('user_uid', None) != None -%}
- uid: {{ consul.user_uid }}
{%- endif %}
2015-10-22 15:29:19 -04:00
- require:
- group: consul-group
2015-10-22 15:29:19 -04:00
# Create directories
consul-config-dir:
file.directory:
- name: /etc/consul.d
- user: {{ consul.user }}
- group: {{ consul.group }}
- mode: 0750
2015-10-22 15:29:19 -04:00
consul-data-dir:
file.directory:
- name: {{ consul.config.data_dir }}
- makedirs: True
- user: {{ consul.user }}
- group: {{ consul.group }}
- mode: 0750
2015-10-22 15:29:19 -04:00
# Install agent
consul-download:
file.managed:
- name: /tmp/consul_{{ consul.version }}_linux_{{ consul.arch }}.zip
- source: https://{{ consul.download_host }}/consul/{{ consul.version }}/consul_{{ consul.version }}_linux_{{ consul.arch }}.zip
- source_hash: https://releases.hashicorp.com/consul/{{ consul.version }}/consul_{{ consul.version }}_SHA256SUMS
- unless: test -f {{ consul.bin_dir }}/consul-{{ consul.version }}
2015-10-22 15:29:19 -04:00
consul-extract:
cmd.wait:
- name: unzip /tmp/consul_{{ consul.version }}_linux_{{ consul.arch }}.zip -d /tmp
2015-10-22 15:29:19 -04:00
- watch:
- file: consul-download
consul-install:
file.rename:
- name: {{ consul.bin_dir }}/consul-{{ consul.version }}
2015-10-22 15:29:19 -04:00
- source: /tmp/consul
- require:
- file: {{ consul.bin_dir }}
2015-10-22 15:29:19 -04:00
- watch:
- cmd: consul-extract
consul-clean:
file.absent:
- name: /tmp/consul_{{ consul.version }}_linux_{{ consul.arch }}.zip
2015-10-22 15:29:19 -04:00
- watch:
- file: consul-install
consul-link:
file.symlink:
- target: consul-{{ consul.version }}
- name: {{ consul.bin_dir }}/consul
2015-10-22 15:29:19 -04:00
- watch:
- file: consul-install