ansible/roles/consul/tasks/main.yml (38 lines of code) (raw):
- name: get consul zip
get_url:
dest: "/etc/{{ consul_zip_file }}"
url: "https://releases.hashicorp.com/consul/{{ consul_version }}/{{ consul_zip_file }}"
become: yes
- name: ensure unzip present
apt:
name: unzip
update_cache: yes
become: yes
- name: place unzipped consul on path
unarchive:
src: "/etc/{{ consul_zip_file }}"
dest: "{{ consul_install_dir }}"
remote_src: yes
become: yes
- name: ensure directories for data and config exists
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ consul_config_dir }}"
- "{{ consul_data_dir }}"
become: yes
- name: send consul configuration file
template:
dest: "{{ consul_config_dir }}/config.json"
src: consul.config.j2
notify: restart consul
become: yes
- name: ensure consul service file exists
template:
dest: /etc/systemd/system/consul.service
src: consul.service.j2
force: yes
mode: 0644
notify: restart consul
become: yes