Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

82 lines
2.4 KiB

  1. ---
  2. - name: Ensure synapse worker base service file installed
  3. template:
  4. src: "{{ role_path }}/templates/synapse/systemd/matrix-synapse-worker@.service.j2"
  5. dest: "{{ matrix_systemd_path }}/matrix-synapse-worker@.service"
  6. mode: 0644
  7. register: matrix_synapse_worker_systemd_service_result
  8. - name: Ensure previous worker service symlinks are cleaned
  9. file:
  10. path: "{{ item.root + '/' + item.path }}"
  11. state: absent
  12. when:
  13. - item.state == 'link'
  14. - item.path is match('matrix-synapse-worker@.*\\.service')
  15. with_filetree:
  16. - "{{ matrix_systemd_path }}/matrix-synapse.service.wants"
  17. - name: Ensure systemd reloaded the worker service unit
  18. service:
  19. daemon_reload: yes
  20. - name: Ensure individual worker service symlinks exist
  21. service:
  22. name: "matrix-synapse-worker@{{ item.type }}:{{ item.port }}.service"
  23. enabled: true
  24. with_items: "{{ matrix_synapse_workers_enabled_list }}"
  25. - name: Find worker configs to be cleaned
  26. find:
  27. path: "{{ matrix_synapse_config_dir_path }}"
  28. patterns: "worker.*.yaml"
  29. use_regex: true
  30. register: worker_config_files
  31. - name: Ensure previous worker configs are cleaned
  32. file:
  33. path: "{{ item.path }}"
  34. state: absent
  35. with_items: "{{ worker_config_files.files }}"
  36. - name: Ensure creation of specific worker configs
  37. template:
  38. src: "{{ role_path }}/templates/synapse/worker.yaml.j2"
  39. dest: "{{ matrix_synapse_config_dir_path }}/worker.{{ item.type }}:{{ item.port }}.yaml"
  40. with_list: "{{ matrix_synapse_workers_enabled_list }}"
  41. - name: Add workers to synapse.wants list
  42. set_fact:
  43. matrix_synapse_systemd_wanted_services_list: >
  44. {{ matrix_synapse_systemd_wanted_services_list +
  45. ['matrix-synapse-worker@' + item.type + ':' + item.port|string + '.service'] }}
  46. with_items: "{{ matrix_synapse_workers_enabled_list }}"
  47. - name: Ensure matrix-synapse-worker-write-pid script is created
  48. copy:
  49. src: "{{ role_path }}/files/usr-local-bin/matrix-synapse-worker-write-pid"
  50. dest: "{{ matrix_local_bin_path }}/matrix-synapse-worker-write-pid"
  51. mode: 0750
  52. - name: Ensure jq is installed (Archlinux)
  53. pacman:
  54. name:
  55. - jq
  56. state: present
  57. when: (ansible_distribution == 'Archlinux')
  58. - name: Ensure jq is installed (CentOS)
  59. yum:
  60. name:
  61. - jq
  62. state: present
  63. when: (ansible_distribution == 'CentOS')
  64. - name: Ensure jq is installed (Debian)
  65. apt:
  66. name:
  67. - jq
  68. state: present
  69. when: (ansible_os_family == 'Debian')