plugins.yml 2.1 KB

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