rabbit.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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:
  7. dest: "{{ rabbitmq_config_path }}/ssl"
  8. state: directory
  9. - name: Ensure RabbitMQ SSL certs/keys are in place
  10. copy:
  11. src: "{{ item.src }}"
  12. dest: "{{ rabbitmq_config_path }}/ssl/{{ item.dest }}"
  13. remote_src: "{{ sensu_ssl_deploy_remote_src }}"
  14. with_items:
  15. - { src: "{{ sensu_ssl_server_cacert }}", dest: cacert.pem }
  16. - { src: "{{ sensu_ssl_server_cert }}", dest: cert.pem }
  17. - { src: "{{ sensu_ssl_server_key }}", dest: key.pem }
  18. notify:
  19. - restart rabbitmq service
  20. - restart sensu-api service
  21. - restart sensu-server service
  22. - restart sensu-enterprise service
  23. when: sensu_ssl_manage_certs
  24. - name: Deploy RabbitMQ config
  25. template:
  26. dest: "{{ rabbitmq_config_path }}/rabbitmq.config"
  27. src: "{{ rabbitmq_config_template }}"
  28. owner: root
  29. group: "{{ __root_group }}"
  30. mode: 0644
  31. notify: restart rabbitmq service
  32. - name: Ensure RabbitMQ is running
  33. service:
  34. name: "{{ rabbitmq_service_name }}"
  35. state: started
  36. enabled: true
  37. register: rabbitmq_state
  38. - name: Wait for RabbitMQ to be up and running before asking to create a vhost
  39. pause:
  40. seconds: 3
  41. when: rabbitmq_state is changed
  42. - block:
  43. - name: Ensure Sensu RabbitMQ vhost exists
  44. rabbitmq_vhost:
  45. name: "{{ rabbitmq_sensu_vhost }}"
  46. state: present
  47. - name: Ensure Sensu RabbitMQ user has access to the Sensu vhost
  48. rabbitmq_user:
  49. user: "{{ rabbitmq_sensu_user_name }}"
  50. password: "{{ rabbitmq_sensu_password }}"
  51. vhost: "{{ rabbitmq_sensu_vhost }}"
  52. configure_priv: .*
  53. read_priv: .*
  54. write_priv: .*
  55. state: present
  56. become: true
  57. become_user: rabbitmq