plugins.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. # tasks/plugins.yml: Deploy available checks/plugins/handlers/filters/mutators
  3. - include_vars: "{{ item }}"
  4. with_first_found:
  5. - "{{ ansible_distribution }}.yml"
  6. - name: Ensure Sensu plugin directory exists
  7. file:
  8. dest: "{{ sensu_config_path }}/plugins"
  9. state: directory
  10. owner: "{{ sensu_user_name }}"
  11. group: "{{ sensu_group_name }}"
  12. - name: Register available checks
  13. local_action: command ls {{ static_data_store }}/sensu/checks
  14. register: sensu_available_checks
  15. changed_when: false
  16. - name: Deploy check plugins
  17. copy:
  18. src: "{{ static_data_store }}/sensu/checks/{{ item }}/"
  19. dest: "{{ sensu_config_path }}/plugins/"
  20. mode: 0755
  21. owner: "{{ sensu_user_name }}"
  22. group: "{{ sensu_group_name }}"
  23. when: sensu_available_checks.stdout.find('{{ item }}') != -1
  24. with_flattened:
  25. - group_names
  26. notify: restart sensu-client service
  27. - name: Deploy handler plugins
  28. copy:
  29. src: "{{ static_data_store }}/sensu/handlers/"
  30. dest: "{{ sensu_config_path }}/plugins/"
  31. mode: 0755
  32. owner: "{{ sensu_user_name }}"
  33. group: "{{ sensu_group_name }}"
  34. notify: restart sensu-client service
  35. - name: Deploy filter plugins
  36. copy:
  37. src: "{{ static_data_store }}/sensu/filters/"
  38. dest: "{{ sensu_config_path }}/plugins/"
  39. mode: 0755
  40. owner: "{{ sensu_user_name }}"
  41. group: "{{ sensu_group_name }}"
  42. notify: restart sensu-client service
  43. - name: Deploy mutator plugins
  44. copy:
  45. src: "{{ static_data_store }}/sensu/mutators/"
  46. dest: "{{ sensu_config_path }}/plugins/"
  47. mode: 0755
  48. owner: "{{ sensu_user_name }}"
  49. group: "{{ sensu_group_name }}"
  50. notify: restart sensu-client service
  51. - name: Deploy check/handler/filter/mutator definitions to the master
  52. template:
  53. src: "{{ static_data_store }}/sensu/definitions/{{ item }}.j2"
  54. dest: "{{ sensu_config_path }}/conf.d/{{ item }}"
  55. owner: "{{ sensu_user_name }}"
  56. group: "{{ sensu_group_name }}"
  57. when: sensu_master
  58. with_lines:
  59. - ls {{ static_data_store }}/sensu/definitions | sed 's/\.j2//'
  60. notify: restart sensu-api service