rabbit.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. ---
  2. # tasks/rabbit.yml: Deploy RabbitMQ and set-up vhost for Sensu messaging
  3. - name: Include ansible_distribution vars
  4. include_vars:
  5. file: "{{ ansible_distribution }}.yml"
  6. tags: rabbitmq
  7. - include_tasks: "{{ ansible_distribution }}/rabbit.yml"
  8. tags: rabbitmq
  9. - name: Ensure RabbitMQ SSL directory exists
  10. tags: rabbitmq
  11. file:
  12. dest: "{{ sensu_rabbitmq_config_path }}/ssl"
  13. state: directory
  14. - name: Ensure RabbitMQ SSL certs/keys are in place
  15. tags: rabbitmq
  16. copy:
  17. src: "{{ item.src }}"
  18. dest: "{{ sensu_rabbitmq_config_path }}/ssl/{{ item.dest }}"
  19. remote_src: "{{ sensu_ssl_deploy_remote_src }}"
  20. loop:
  21. - { src: "{{ sensu_ssl_server_cacert }}", dest: cacert.pem }
  22. - { src: "{{ sensu_ssl_server_cert }}", dest: cert.pem }
  23. - { src: "{{ sensu_ssl_server_key }}", dest: key.pem }
  24. notify:
  25. - restart rabbitmq service
  26. - restart sensu-api service
  27. - restart sensu-server service
  28. - restart sensu-enterprise service
  29. when: sensu_ssl_manage_certs
  30. - name: Deploy RabbitMQ config
  31. tags: rabbitmq
  32. template:
  33. dest: "{{ sensu_rabbitmq_config_path }}/rabbitmq.config"
  34. src: "{{ sensu_rabbitmq_config_template }}"
  35. owner: root
  36. group: "{{ __root_group }}"
  37. mode: 0644
  38. notify: restart rabbitmq service
  39. - name: Ensure RabbitMQ is running
  40. tags: rabbitmq
  41. service:
  42. name: "{{ sensu_rabbitmq_service_name }}"
  43. state: started
  44. enabled: true
  45. register: sensu_rabbitmq_state
  46. - name: Wait for RabbitMQ to be up and running before asking to create a vhost
  47. tags: rabbitmq
  48. pause:
  49. seconds: 3
  50. when: sensu_rabbitmq_state is changed
  51. - block:
  52. - name: Ensure Sensu RabbitMQ vhost exists
  53. sensu_rabbitmq_vhost:
  54. name: "{{ sensu_rabbitmq_sensu_vhost }}"
  55. state: present
  56. - name: Ensure Sensu RabbitMQ user has access to the Sensu vhost
  57. sensu_rabbitmq_user:
  58. user: "{{ sensu_rabbitmq_sensu_user_name }}"
  59. password: "{{ sensu_rabbitmq_sensu_password }}"
  60. vhost: "{{ sensu_rabbitmq_sensu_vhost }}"
  61. configure_priv: .*
  62. read_priv: .*
  63. write_priv: .*
  64. state: present
  65. become: true
  66. become_user: rabbitmq
  67. tags: rabbitmq