rabbit.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. - "{{ ansible_os_family }}.yml"
  7. - default.yml
  8. - include: SmartOS/rabbit.yml
  9. when: ansible_distribution == "SmartOS"
  10. - include: Ubuntu/rabbit.yml
  11. when: ansible_distribution == "Ubuntu"
  12. - name: Ensure RabbitMQ SSL directory exists
  13. file: dest={{ rabbitmq_config_path }}/ssl state=directory
  14. - name: Ensure RabbitMQ SSL certs/keys are in place
  15. copy: src={{ item }}
  16. dest={{ rabbitmq_config_path }}/ssl
  17. with_items:
  18. - "{{ sensu_ssl_server_cacert }}"
  19. - "{{ sensu_ssl_server_cert }}"
  20. - "{{ sensu_ssl_server_key }}"
  21. - name: Deploy RabbitMQ config
  22. template: dest={{ rabbitmq_config_path }}/rabbitmq.config
  23. src={{ rabbitmq_config_template }}
  24. owner=root group=root mode=644
  25. notify: restart rabbitmq service
  26. - name: Ensure RabbitMQ is running
  27. service: name={{ item }} state=started enabled=true
  28. with_items:
  29. - epmd
  30. - rabbitmq
  31. - name: Wait for RabbitMQ to be up and running before asking to create a vhost
  32. pause: seconds=3
  33. - name: Ensure Sensu RabbitMQ vhost exists
  34. rabbitmq_vhost: name={{ rabbitmq_sensu_vhost }} state=present
  35. sudo: yes
  36. sudo_user: rabbitmq
  37. - name: Ensure Sensu RabbitMQ user has access to the Sensu vhost
  38. rabbitmq_user: user={{ rabbitmq_sensu_user_name }}
  39. password={{ rabbitmq_sensu_password }}
  40. vhost={{ rabbitmq_sensu_vhost }}
  41. configure_priv=.*
  42. read_priv=.*
  43. write_priv=.*
  44. state=present
  45. sudo: yes
  46. sudo_user: rabbitmq