--- - name: ensure consul group group: name: consul state: present system: True - name: ensure consul user user: name: consul state: present group: consul system: True - name: ensure consul config dir file: path: /usr/local/etc/consul.d/ state: directory owner: consul group: consul mode: 0755 - name: ensure consul data dir file: path: /opt/consul state: directory owner: consul group: consul mode: 0755 - name: check consul version shell: cmd: "consul --version | head -1 | cut -d'v' -f2" args: executable: /bin/bash changed_when: False failed_when: False register: installed_consul_version check_mode: false - name: get consul pkgng: name: consul-{{ consul_version }} state: present - name: template consul config template: src: templates/consul.hcl.j2 dest: /usr/local/etc/consul.d/consul.hcl owner: root group: staff mode: 0755 notify: restart_consul_fbsd - name: enable and start consul service: name: consul state: started enabled: yes