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