88 lines
2.9 KiB
YAML
88 lines
2.9 KiB
YAML
#
|
|
# 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"
|