--- - name: Fail if playbook called incorrectly fail: msg: "The `username` variable needs to be provided to this playbook, via --extra-vars" when: "username is not defined or username == ''" - name: Fail if playbook called incorrectly fail: msg: "The `password` variable needs to be provided to this playbook, via --extra-vars" when: "password is not defined or password == ''" - name: Fail if not using matrix-postgres container fail: msg: "This command is working only when matrix-postgres container is being used" when: "not matrix_postgres_enabled|bool" - name: Ensure matrix-dendrite is started service: name: matrix-dendrite state: started daemon_reload: yes register: start_result - name: Ensure matrix-postgres is started service: name: matrix-postgres state: started daemon_reload: yes register: postgres_start_result - name: Wait a while, so that Matrix Dendrite can manage to start pause: seconds: 7 when: "start_result.changed or postgres_start_result.changed" - name: Generate password hash shell: "{{ matrix_host_command_docker }} exec matrix-dendrite /usr/local/bin/hash_password -c /data/homeserver.yaml -p {{ password|quote }}" register: password_hash - name: Update user password hash command: "{{ matrix_local_bin_path }}/matrix-postgres-update-user-password-hash {{ username|quote }} {{ password_hash.stdout|quote }}"