rabbit.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ---
  2. # tasks/rabbit.yml: Deploy RabbitMQ and set-up vhost for Sensu messaging
  3. - include_vars: "{{ item }}"
  4. with_first_found:
  5. - "{{ ansible_distribution }}.yml"
  6. - include: SmartOS/rabbit.yml
  7. when: ansible_distribution == "SmartOS"
  8. - include: Ubuntu/rabbit.yml
  9. when: ansible_distribution == "Ubuntu"
  10. - name: Ensure RabbitMQ SSL directory exists
  11. file: dest={{ rabbitmq_config_path }}/ssl state=directory
  12. - name: Ensure RabbitMQ SSL certs/keys are in place
  13. copy: src={{ item }} dest={{ rabbitmq_config_path }}/ssl
  14. with_items:
  15. - "{{ sensu_ssl_server_cacert }}"
  16. - "{{ sensu_ssl_server_cert }}"
  17. - "{{ sensu_ssl_server_key }}"
  18. notify:
  19. - restart rabbitmq service
  20. - restart sensu-api service
  21. - restart sensu-server service
  22. - name: Deploy RabbitMQ config
  23. template:
  24. dest: "{{ rabbitmq_config_path }}/rabbitmq.config"
  25. src: "{{ rabbitmq_config_template }}"
  26. owner: root
  27. group: root
  28. mode: 644
  29. notify: restart rabbitmq service
  30. - name: Ensure RabbitMQ is running
  31. service:
  32. name: "{{ rabbitmq_service_name }}"
  33. state: started
  34. enabled: true
  35. - name: Wait for RabbitMQ to be up and running before asking to create a vhost
  36. pause: seconds=3
  37. - block:
  38. - name: Ensure Sensu RabbitMQ vhost exists
  39. rabbitmq_vhost: name={{ rabbitmq_sensu_vhost }} state=present
  40. - name: Ensure Sensu RabbitMQ user has access to the Sensu vhost
  41. rabbitmq_user:
  42. user: "{{ rabbitmq_sensu_user_name }}"
  43. password: "{{ rabbitmq_sensu_password }}"
  44. vhost: "{{ rabbitmq_sensu_vhost }}"
  45. configure_priv: .*
  46. read_priv: .*
  47. write_priv: .*
  48. state: present
  49. become: true
  50. become_user: rabbitmq