Matrix Docker Ansible eploy
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

89 righe
2.8 KiB

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