---

- name: Ensure Synapse paths exist
  ansible.builtin.file:
    path: "{{ item.path }}"
    state: directory
    mode: 0750
    owner: "{{ matrix_user_username }}"
    group: "{{ matrix_user_groupname }}"
  with_items:
    - {path: "{{ matrix_synapse_config_dir_path }}", when: true}
    - {path: "{{ matrix_synapse_ext_path }}", when: true}
    - {path: "{{ matrix_synapse_docker_src_files_path }}", when: "{{ matrix_synapse_container_image_self_build }}"}
    # 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),
    # trying to chown/chmod it here will cause trouble.
  when: "(matrix_synapse_enabled | bool or matrix_s3_media_store_enabled | bool) and item.when"

- ansible.builtin.import_tasks: "{{ role_path }}/tasks/ext/setup.yml"

- ansible.builtin.import_tasks: "{{ role_path }}/tasks/synapse/workers/setup.yml"

- ansible.builtin.import_tasks: "{{ role_path }}/tasks/synapse/setup.yml"

- ansible.builtin.import_tasks: "{{ role_path }}/tasks/goofys/setup.yml"