mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-06 02:37:31 +01:00
Make matrix-synapse role respect matrix_synapse_enabled flag
This commit is contained in:
parent
8d654aecdd
commit
fc7ba153b1
7
roles/matrix-synapse/tasks/goofys/setup.yml
Normal file
7
roles/matrix-synapse/tasks/goofys/setup.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/goofys/setup_install.yml"
|
||||||
|
when: matrix_s3_media_store_enabled
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/goofys/setup_uninstall.yml"
|
||||||
|
when: "not matrix_s3_media_store_enabled"
|
38
roles/matrix-synapse/tasks/goofys/setup_install.yml
Normal file
38
roles/matrix-synapse/tasks/goofys/setup_install.yml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
- name: Ensure Goofys Docker image is pulled
|
||||||
|
docker_image:
|
||||||
|
name: "{{ matrix_s3_goofys_docker_image }}"
|
||||||
|
|
||||||
|
# This will throw a Permission Denied error if already mounted
|
||||||
|
- name: Check Matrix Goofys external storage mountpoint path
|
||||||
|
stat:
|
||||||
|
path: "{{ matrix_synapse_media_store_path }}"
|
||||||
|
register: local_path_matrix_synapse_media_store_path_stat
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Ensure Matrix Goofys external storage mountpoint exists
|
||||||
|
file:
|
||||||
|
path: "{{ matrix_synapse_media_store_path }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0750
|
||||||
|
owner: "{{ matrix_user_uid }}"
|
||||||
|
group: "{{ matrix_user_gid }}"
|
||||||
|
when: "not local_path_matrix_synapse_media_store_path_stat.failed and not local_path_matrix_synapse_media_store_path_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure goofys environment variables file created
|
||||||
|
template:
|
||||||
|
src: "{{ role_path }}/templates/goofys/env-goofys.j2"
|
||||||
|
dest: "{{ matrix_synapse_config_dir_path }}/env-goofys"
|
||||||
|
owner: root
|
||||||
|
mode: 0600
|
||||||
|
|
||||||
|
- name: Ensure matrix-goofys.service installed
|
||||||
|
template:
|
||||||
|
src: "{{ role_path }}/templates/goofys/systemd/matrix-goofys.service.j2"
|
||||||
|
dest: "/etc/systemd/system/matrix-goofys.service"
|
||||||
|
mode: 0644
|
||||||
|
register: matrix_goofys_systemd_service_result
|
||||||
|
|
||||||
|
- name: Ensure systemd reloaded after matrix-goofys.service installation
|
||||||
|
service:
|
||||||
|
daemon_reload: yes
|
||||||
|
when: "matrix_goofys_systemd_service_result.changed"
|
33
roles/matrix-synapse/tasks/goofys/setup_uninstall.yml
Normal file
33
roles/matrix-synapse/tasks/goofys/setup_uninstall.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
- name: Check existence of matrix-goofys service
|
||||||
|
stat:
|
||||||
|
path: "/etc/systemd/system/matrix-goofys.service"
|
||||||
|
register: matrix_goofys_service_stat
|
||||||
|
|
||||||
|
- name: Ensure matrix-goofys is stopped
|
||||||
|
service:
|
||||||
|
name: matrix-goofys
|
||||||
|
state: stopped
|
||||||
|
daemon_reload: yes
|
||||||
|
register: stopping_result
|
||||||
|
when: "matrix_goofys_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure matrix-goofys.service doesn't exist
|
||||||
|
file:
|
||||||
|
path: "/etc/systemd/system/matrix-goofys.service"
|
||||||
|
state: absent
|
||||||
|
when: "matrix_goofys_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure systemd reloaded after matrix-goofys.service removal
|
||||||
|
service:
|
||||||
|
daemon_reload: yes
|
||||||
|
when: "matrix_goofys_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure goofys environment variables file doesn't exist
|
||||||
|
file:
|
||||||
|
path: "{{ matrix_synapse_config_dir_path }}/env-goofys"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Ensure Goofys Docker image doesn't exist
|
||||||
|
docker_image:
|
||||||
|
name: "{{ matrix_s3_goofys_docker_image }}"
|
||||||
|
state: absent
|
@ -1,5 +1,6 @@
|
|||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-synapse'] }}"
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-synapse'] }}"
|
||||||
|
when: matrix_synapse_enabled
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys'] }}"
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys'] }}"
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
- setup-all
|
- setup-all
|
||||||
- setup-synapse
|
- setup-synapse
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/setup_synapse_entrypoint.yml"
|
- import_tasks: "{{ role_path }}/tasks/setup_synapse.yml"
|
||||||
when: run_setup
|
when: run_setup
|
||||||
tags:
|
tags:
|
||||||
- setup-all
|
- setup-all
|
||||||
|
@ -7,12 +7,14 @@
|
|||||||
validate_certs: "{{ matrix_synapse_self_check_validate_certificates }}"
|
validate_certs: "{{ matrix_synapse_self_check_validate_certificates }}"
|
||||||
register: result_matrix_synapse_client_api
|
register: result_matrix_synapse_client_api
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
when: matrix_synapse_enabled
|
||||||
|
|
||||||
- name: Fail if Matrix Client API not working
|
- name: Fail if Matrix Client API not working
|
||||||
fail:
|
fail:
|
||||||
msg: "Failed checking Matrix Client API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_client_api_url_endpoint_public }}`). Is Synapse running? Is port 443 open in your firewall? Full error: {{ result_matrix_synapse_client_api }}"
|
msg: "Failed checking Matrix Client API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_client_api_url_endpoint_public }}`). Is Synapse running? Is port 443 open in your firewall? Full error: {{ result_matrix_synapse_client_api }}"
|
||||||
when: "result_matrix_synapse_client_api.failed or 'json' not in result_matrix_synapse_client_api"
|
when: "matrix_synapse_enabled and (result_matrix_synapse_client_api.failed or 'json' not in result_matrix_synapse_client_api)"
|
||||||
|
|
||||||
- name: Report working Matrix Client API
|
- name: Report working Matrix Client API
|
||||||
debug:
|
debug:
|
||||||
msg: "The Matrix Client API at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_client_api_url_endpoint_public }}`) is working"
|
msg: "The Matrix Client API at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_client_api_url_endpoint_public }}`) is working"
|
||||||
|
when: matrix_synapse_enabled
|
||||||
|
@ -7,18 +7,19 @@
|
|||||||
validate_certs: "{{ matrix_synapse_self_check_validate_certificates }}"
|
validate_certs: "{{ matrix_synapse_self_check_validate_certificates }}"
|
||||||
register: result_matrix_synapse_federation_api
|
register: result_matrix_synapse_federation_api
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
when: matrix_synapse_enabled
|
||||||
|
|
||||||
- name: Fail if Matrix Federation API not working
|
- name: Fail if Matrix Federation API not working
|
||||||
fail:
|
fail:
|
||||||
msg: "Failed checking Matrix Federation API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`). Is Synapse running? Is port 8448 open in your firewall? Full error: {{ result_matrix_synapse_federation_api }}"
|
msg: "Failed checking Matrix Federation API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`). Is Synapse running? Is port 8448 open in your firewall? Full error: {{ result_matrix_synapse_federation_api }}"
|
||||||
when: "matrix_synapse_federation_enabled and (result_matrix_synapse_federation_api.failed or 'json' not in result_matrix_synapse_federation_api)"
|
when: "matrix_synapse_enabled and matrix_synapse_federation_enabled and (result_matrix_synapse_federation_api.failed or 'json' not in result_matrix_synapse_federation_api)"
|
||||||
|
|
||||||
- name: Fail if Matrix Federation API unexpectedly enabled
|
- name: Fail if Matrix Federation API unexpectedly enabled
|
||||||
fail:
|
fail:
|
||||||
msg: "Matrix Federation API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`) despite being disabled."
|
msg: "Matrix Federation API is up at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`) despite being disabled."
|
||||||
when: "matrix_synapse_federation_enabled == false and not result_matrix_synapse_federation_api.failed"
|
when: "matrix_synapse_enabled and not matrix_synapse_federation_enabled and not result_matrix_synapse_federation_api.failed"
|
||||||
|
|
||||||
- name: Report working Matrix Federation API
|
- name: Report working Matrix Federation API
|
||||||
debug:
|
debug:
|
||||||
msg: "The Matrix Federation API at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`) is working"
|
msg: "The Matrix Federation API at `{{ matrix_server_fqn_matrix }}` (checked endpoint: `{{ matrix_synapse_federation_api_url_endpoint_public }}`) is working"
|
||||||
when: "matrix_synapse_federation_enabled"
|
when: "matrix_synapse_enabled and matrix_synapse_federation_enabled"
|
||||||
|
@ -15,6 +15,13 @@
|
|||||||
- "{{ matrix_synapse_config_dir_path }}"
|
- "{{ matrix_synapse_config_dir_path }}"
|
||||||
- "{{ matrix_synapse_run_path }}"
|
- "{{ matrix_synapse_run_path }}"
|
||||||
- "{{ matrix_synapse_ext_path }}"
|
- "{{ matrix_synapse_ext_path }}"
|
||||||
# We handle matrix_synapse_media_store_path elsewhere (in setup_synapse_main.yml),
|
# We handle matrix_synapse_media_store_path elsewhere (in ./synapse/setup_install.yml),
|
||||||
# because if it's using Goofys and it's already mounted (from before),
|
# because if it's using Goofys and it's already mounted (from before),
|
||||||
# trying to chown/chmod it here will cause trouble.
|
# trying to chown/chmod it here will cause trouble.
|
||||||
|
when: "matrix_synapse_enabled or matrix_s3_media_store_enabled"
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/ext/setup.yml"
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/synapse/setup.yml"
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/goofys/setup.yml"
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/setup_synapse_pre.yml"
|
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/ext/setup.yml"
|
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/setup_synapse_main.yml"
|
|
||||||
|
|
||||||
- import_tasks: "{{ role_path }}/tasks/setup_synapse_goofys.yml"
|
|
@ -1,87 +0,0 @@
|
|||||||
#
|
|
||||||
# Tasks related to setting up Goofys
|
|
||||||
#
|
|
||||||
|
|
||||||
- name: Ensure Goofys Docker image is pulled
|
|
||||||
docker_image:
|
|
||||||
name: "{{ matrix_s3_goofys_docker_image }}"
|
|
||||||
when: matrix_s3_media_store_enabled
|
|
||||||
|
|
||||||
# This will throw a Permission Denied error if already mounted
|
|
||||||
- name: Check Matrix Goofys external storage mountpoint path
|
|
||||||
stat:
|
|
||||||
path: "{{ matrix_synapse_media_store_path }}"
|
|
||||||
register: local_path_matrix_synapse_media_store_path_stat
|
|
||||||
ignore_errors: yes
|
|
||||||
when: matrix_s3_media_store_enabled
|
|
||||||
|
|
||||||
- name: Ensure Matrix Goofys external storage mountpoint exists
|
|
||||||
file:
|
|
||||||
path: "{{ matrix_synapse_media_store_path }}"
|
|
||||||
state: directory
|
|
||||||
mode: 0750
|
|
||||||
owner: "{{ matrix_user_uid }}"
|
|
||||||
group: "{{ matrix_user_gid }}"
|
|
||||||
when: "matrix_s3_media_store_enabled and not local_path_matrix_synapse_media_store_path_stat.failed and not local_path_matrix_synapse_media_store_path_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure goofys environment variables file created
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/goofys/env-goofys.j2"
|
|
||||||
dest: "{{ matrix_synapse_config_dir_path }}/env-goofys"
|
|
||||||
owner: root
|
|
||||||
mode: 0600
|
|
||||||
when: matrix_s3_media_store_enabled
|
|
||||||
|
|
||||||
- name: Ensure matrix-goofys.service installed
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/goofys/systemd/matrix-goofys.service.j2"
|
|
||||||
dest: "/etc/systemd/system/matrix-goofys.service"
|
|
||||||
mode: 0644
|
|
||||||
register: matrix_goofys_systemd_service_result
|
|
||||||
when: matrix_s3_media_store_enabled
|
|
||||||
|
|
||||||
- name: Ensure systemd reloaded after matrix-goofys.service installation
|
|
||||||
service:
|
|
||||||
daemon_reload: yes
|
|
||||||
when: "matrix_s3_media_store_enabled and matrix_goofys_systemd_service_result.changed"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Tasks related to getting rid of goofys (if it was previously enabled)
|
|
||||||
#
|
|
||||||
|
|
||||||
- name: Check existence of matrix-goofys service
|
|
||||||
stat:
|
|
||||||
path: "/etc/systemd/system/matrix-goofys.service"
|
|
||||||
register: matrix_goofys_service_stat
|
|
||||||
when: "not matrix_s3_media_store_enabled"
|
|
||||||
|
|
||||||
- name: Ensure matrix-goofys is stopped
|
|
||||||
service:
|
|
||||||
name: matrix-goofys
|
|
||||||
state: stopped
|
|
||||||
daemon_reload: yes
|
|
||||||
register: stopping_result
|
|
||||||
when: "not matrix_s3_media_store_enabled and matrix_goofys_service_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure matrix-goofys.service doesn't exist
|
|
||||||
file:
|
|
||||||
path: "/etc/systemd/system/matrix-goofys.service"
|
|
||||||
state: absent
|
|
||||||
when: "not matrix_s3_media_store_enabled and matrix_goofys_service_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure systemd reloaded after matrix-goofys.service removal
|
|
||||||
service:
|
|
||||||
daemon_reload: yes
|
|
||||||
when: "not matrix_s3_media_store_enabled and matrix_goofys_service_stat.stat.exists"
|
|
||||||
|
|
||||||
- name: Ensure goofys environment variables file doesn't exist
|
|
||||||
file:
|
|
||||||
path: "{{ matrix_synapse_config_dir_path }}/env-goofys"
|
|
||||||
state: absent
|
|
||||||
when: "not matrix_s3_media_store_enabled"
|
|
||||||
|
|
||||||
- name: Ensure Goofys Docker image doesn't exist
|
|
||||||
docker_image:
|
|
||||||
name: "{{ matrix_s3_goofys_docker_image }}"
|
|
||||||
state: absent
|
|
||||||
when: "not matrix_s3_media_store_enabled"
|
|
7
roles/matrix-synapse/tasks/synapse/setup.yml
Normal file
7
roles/matrix-synapse/tasks/synapse/setup.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/synapse/setup_install.yml"
|
||||||
|
when: matrix_synapse_enabled
|
||||||
|
|
||||||
|
- import_tasks: "{{ role_path }}/tasks/synapse/setup_uninstall.yml"
|
||||||
|
when: "not matrix_synapse_enabled"
|
28
roles/matrix-synapse/tasks/synapse/setup_uninstall.yml
Normal file
28
roles/matrix-synapse/tasks/synapse/setup_uninstall.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
- name: Check existence of matrix-synapse service
|
||||||
|
stat:
|
||||||
|
path: "/etc/systemd/system/matrix-synapse.service"
|
||||||
|
register: matrix_synapse_service_stat
|
||||||
|
|
||||||
|
- name: Ensure matrix-synapse is stopped
|
||||||
|
service:
|
||||||
|
name: matrix-synapse
|
||||||
|
state: stopped
|
||||||
|
daemon_reload: yes
|
||||||
|
register: stopping_result
|
||||||
|
when: "matrix_synapse_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure matrix-synapse.service doesn't exist
|
||||||
|
file:
|
||||||
|
path: "/etc/systemd/system/matrix-synapse.service"
|
||||||
|
state: absent
|
||||||
|
when: "matrix_synapse_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure systemd reloaded after matrix-synapse.service removal
|
||||||
|
service:
|
||||||
|
daemon_reload: yes
|
||||||
|
when: "matrix_synapse_service_stat.stat.exists"
|
||||||
|
|
||||||
|
- name: Ensure Synapse Docker image doesn't exist
|
||||||
|
docker_image:
|
||||||
|
name: "{{ matrix_synapse_docker_image }}"
|
||||||
|
state: absent
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
- name: Fail if required Synapse settings not defined
|
- name: Fail if required Synapse settings not defined
|
||||||
fail:
|
fail:
|
||||||
msg: >
|
msg: >-
|
||||||
You need to define a required configuration setting (`{{ item }}`) for using Synapse.
|
You need to define a required configuration setting (`{{ item }}`) for using Synapse.
|
||||||
when: "vars[item] == ''"
|
when: "vars[item] == ''"
|
||||||
with_items:
|
with_items:
|
||||||
|
Loading…
Reference in New Issue
Block a user