main.yml 994 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ---
  2. - name: Download Consul binary
  3. get_url:
  4. url: https://releases.hashicorp.com/consul/1.16.0/consul_1.16.0_linux_amd64.zip
  5. dest: /tmp/consul.zip
  6. mode: '0644'
  7. - name: Extract Consul
  8. unarchive:
  9. remote_src: yes
  10. src: /tmp/consul.zip
  11. dest: /usr/local/bin/
  12. - name: Create consul user
  13. user:
  14. name: consul
  15. system: yes
  16. shell: /bin/false
  17. - name: Create directories
  18. file:
  19. path: "{{ item }}"
  20. state: directory
  21. owner: consul
  22. group: consul
  23. mode: '0755'
  24. with_items:
  25. - /etc/consul
  26. - /var/lib/consul
  27. - /var/log/consul
  28. - name: Copy Consul config
  29. template:
  30. src: consul.conf.j2
  31. dest: /etc/consul/consul.json
  32. owner: consul
  33. group: consul
  34. mode: '0644'
  35. - name: Copy Consul service
  36. template:
  37. src: consul.service.j2
  38. dest: /etc/systemd/system/consul.service
  39. owner: root
  40. group: root
  41. mode: '0644'
  42. - name: Enable and start Consul
  43. systemd:
  44. name: consul
  45. enabled: yes
  46. state: started