rabbit.yml 1.7 KB

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