- name: "Set consul version" set_fact: consul_version: 1.4.0 - name: "Download and install Consul for armv7l" unarchive: src: "https://releases.hashicorp.com/consul/{{ consul_version }}/consul_{{ consul_version }}_linux_arm.zip" dest: /usr/local/bin remote_src: yes when: - "ansible_architecture == 'armv7l'" notify: - restart consul - name: "Download and install Consul for x86_64" unarchive: src: "https://releases.hashicorp.com/consul/{{ consul_version }}/consul_{{ consul_version }}_linux_amd64.zip" dest: /usr/local/bin remote_src: yes when: - "ansible_architecture == 'x86_64'" notify: - restart consul - name: "Download and install Consul for arm64" unarchive: src: "https://releases.hashicorp.com/consul/{{ consul_version }}/consul_{{ consul_version }}_linux_arm64.zip" dest: /usr/local/bin remote_src: yes when: - "ansible_architecture == 'aarch64'" notify: - restart consul - name: "Create consul configuration directory" file: path=/etc/consul/ state=directory - name: "Deploy consul configuration" template: src=consul.json.j2 dest=/etc/consul/consul.json notify: - restart consul - name: "Deploy consul systemd service" copy: src=consul.service dest=/etc/systemd/system/consul.service notify: - restart consul - name: "Enable consul systemd service at boot" service: name=consul state=started enabled=yes daemon_reload=yes