--- # # Tasks related to setting up mxisd # - name: (Deprecation) Warn about mxisd variables that are not used anymore fail: msg: > The `{{ item }}` variable defined in your configuration is not used by this playbook anymore! You'll need to adapt to the new way of extending mxisd configuration. See the CHANGELOG and the `matrix_mxisd_configuration_extension_yaml` variable for more information and examples. when: "matrix_mxisd_enabled and item in vars" with_items: - 'matrix_mxisd_ldap_enabled' - 'matrix_mxisd_ldap_connection_host' - 'matrix_mxisd_ldap_connection_tls' - 'matrix_mxisd_ldap_connection_port' - 'matrix_mxisd_ldap_connection_baseDn' - 'matrix_mxisd_ldap_connection_baseDns' - 'matrix_mxisd_ldap_connection_bindDn' - 'matrix_mxisd_ldap_connection_bindPassword' - 'matrix_mxisd_ldap_filter' - 'matrix_mxisd_ldap_attribute_uid_type' - 'matrix_mxisd_ldap_attribute_uid_value' - 'matrix_mxisd_ldap_connection_bindPassword' - 'matrix_mxisd_ldap_attribute_name' - 'matrix_mxisd_ldap_attribute_threepid_email' - 'matrix_mxisd_ldap_attribute_threepid_msisdn' - 'matrix_mxisd_ldap_identity_filter' - 'matrix_mxisd_ldap_identity_medium' - 'matrix_mxisd_ldap_auth_filter' - 'matrix_mxisd_ldap_directory_filter' - 'matrix_mxisd_template_config' - name: Ensure mxisd configuration does not contain any dot-notation keys fail: msg: > Since version 1.3.0, mxisd will not accept property-style configuration keys. You have defined a key (`{{ item.key }}`) which contains a dot. Instead, use nesting. See: https://github.com/kamax-matrix/mxisd/wiki/Upgrade#v130 when: "matrix_mxisd_enabled and '.' in item.key" with_dict: "{{ matrix_mxisd_configuration }}" - name: Fail if mailer is not enabled fail: msg: "You need to enable the mailer service (`matrix_mailer_enabled`) to install mxisd" when: "matrix_mxisd_enabled and not matrix_mailer_enabled" - name: Ensure mxisd paths exist file: path: "{{ item }}" state: directory mode: 0750 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_username }}" with_items: - "{{ matrix_mxisd_config_path }}" - "{{ matrix_mxisd_data_path }}" when: matrix_mxisd_enabled - name: Ensure mxisd image is pulled docker_image: name: "{{ matrix_mxisd_docker_image }}" when: matrix_mxisd_enabled - name: Ensure mxisd config installed copy: content: "{{ matrix_mxisd_configuration|to_nice_yaml }}" dest: "{{ matrix_mxisd_config_path }}/mxisd.yaml" mode: 0644 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_username }}" when: matrix_mxisd_enabled - name: Ensure matrix-mxisd.service installed template: src: "{{ role_path }}/templates/systemd/matrix-mxisd.service.j2" dest: "/etc/systemd/system/matrix-mxisd.service" mode: 0644 when: matrix_mxisd_enabled # # Tasks related to getting rid of mxisd (if it was previously enabled) # - name: Check existence of matrix-mxisd service stat: path: "/etc/systemd/system/matrix-mxisd.service" register: matrix_mxisd_service_stat - name: Ensure matrix-mxisd is stopped service: name: matrix-mxisd state: stopped daemon_reload: yes register: stopping_result when: "not matrix_mxisd_enabled and matrix_mxisd_service_stat.stat.exists" - name: Ensure matrix-mxisd.service doesn't exist file: path: "/etc/systemd/system/matrix-mxisd.service" state: absent when: "not matrix_mxisd_enabled and matrix_mxisd_service_stat.stat.exists" - name: Ensure Matrix mxisd paths don't exist file: path: "{{ matrix_mxisd_base_path }}" state: absent when: "not matrix_mxisd_enabled" - name: Ensure mxisd Docker image doesn't exist docker_image: name: "{{ matrix_mxisd_docker_image }}" state: absent when: "not matrix_mxisd_enabled"