#
# 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"