Files
ansible/tasks/consul.yml
2025-10-10 11:07:34 +00:00

83 lines
1.7 KiB
YAML

---
- hosts: consul
vars:
consul_config_dir: /etc/consul.d
consul_data_dir: /opt/consul
consul_install_dir: /usr/local/bin
become: true
tasks:
- name: install required UNZIP
package:
name: unzip
- name: add the CONSUL group
group:
name: consul
state: present
gid: 199
- name: add the CONSUL user
user:
name: consul
comment: CONSUL user
state: present
uid: 199
- name: install CONSUL from HashiCorp
unarchive:
src: https://releases.hashicorp.com/consul/1.8.5/consul_1.8.5_linux_amd64.zip
dest: /usr/local/bin
remote_src: yes
mode: 0755
owner: consul
group: consul
- name: create CONSUL required data folders
file:
path: /opt/consul
state: directory
mode: '0755'
recurse: yes
owner: consul
group: consul
- name: create CONSUL required config folders
file:
path: /etc/consul.d
state: directory
mode: '0755'
recurse: yes
owner: consul
group: consul
- name: copy CONSUL systemd script
copy:
src: "{{ item }}"
dest: /etc/consul.d
owner: consul
group: consul
with_items:
- consul/configs/consul.hcl
- consul/configs/service-ssh.hcl
- name: send consul configuration file
template:
dest: "{{ consul_config_dir }}/config.json"
src: consul.config.j2
- name: ensure consul service file exists
template:
dest: /etc/systemd/system/consul.service
src: consul.service.j2
force: yes
mode: 0644
- name: enable CONSUL systemd script
service:
name: consul
enabled: yes
daemon_reload: yes
state: restarted