---
# file: roles/consul/tasks/main.yaml
-- name: Inst - Update Package Cache (APT)
+- name: Inst - Update Repositories Cache
apt:
- update_cache: yes
- cache_valid_time: 3600
+ update_cache: true
when:
- - ansible_distribution|lower == 'ubuntu'
+ - ansible_os_family == 'Debian'
tags:
- - consul-inst-prerequisites
+ - consul-inst-package
-- name: Inst - Prerequisites
- package:
+- name: Inst - Dependencies
+ apt:
name: "{{ packages | flatten(levels=1) }}"
- state: latest
+ state: "present"
+ cache_valid_time: 3600
+ install_recommends: false
+ when:
+ - ansible_os_family == 'Debian'
tags:
- - consul-inst-prerequisites
+ - consul-inst-dependencies
- name: Conf - Add Consul Group
group:
name: "{{ consul_group }}"
state: "{{ consul_group_state }}"
- when:
- - consul_manage_group | bool
tags:
- consul-conf-user
user:
name: "{{ consul_user }}"
group: "{{ consul_group }}"
- groups: "{{ consul_user_groups }}"
state: "{{ consul_user_state }}"
system: true
- when:
- - consul_manage_user | bool
tags:
- consul-conf-user
-- name: Inst - Clean Consul
- file:
- path: "{{ consul_inst_dir }}/consul"
- state: "absent"
- tags:
- - consul-inst-package
-
- name: Inst - Download Consul
get_url:
url: "{{ consul_zip_url }}"
tags:
- consul-inst-package
+- name: Inst - Clean Consul
+ file:
+ path: "{{ consul_inst_dir }}/consul"
+ state: "absent"
+ when:
+ - consul_force_update | bool
+ tags:
+ - consul-inst-package
+
- name: Inst - Unarchive Consul
unarchive:
src: "{{ consul_inst_dir }}/{{ consul_pkg }}"
dest: "{{ consul_inst_dir }}/"
- creates: "{{ consul_inst_dir }}/consul"
remote_src: true
tags:
- consul-inst-package
tags:
- consul-conf
-- name: Conf - Nomad integration Consul Configuration
- template:
- src: consul.hcl.j2
- dest: "{{ nomad_config_dir }}/consul.hcl"
- owner: "nomad"
- group: "nomad"
- mode: 0644
- when:
- - consul_nomad_integration | bool
- tags:
- - consul-conf
-
- name: Conf - Base Configuration
template:
src: base.hcl.j2
mode: 0600
no_log: true
loop: "{{ consul_certificates | flatten(levels=1) }}"
+ when:
+ - consul_certificates is defined
+ tags:
+ - consul-conf
+
+- name: Conf - Stop Systemd-resolved
+ systemd:
+ daemon_reload: true
+ enabled: false
+ name: "systemd-resolved"
+ state: "{{ systemd_resolved_state }}"
+ when:
+ - consul_service_mgr == "systemd"
tags:
- consul-conf
owner: "root"
group: "root"
mode: 0644
-# notify:
-# - "Restart Consul"
-# - "Stop Systemd-resolved"
-# - "Restart Nomad"
+ notify:
+ - "Restart Consul"
+ - "Restart Nomad"
+ when:
+ - consul_service_mgr == "systemd"
tags:
- consul-conf
+
+- name: Meta - Flush handlers
+ meta: flush_handlers