Matrix Docker Ansible eploy
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

95 líneas
2.9 KiB

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