Matrix Docker Ansible eploy
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

53 wiersze
2.2 KiB

  1. ---
  2. - name: Fail if playbook called incorrectly
  3. ansible.builtin.fail:
  4. msg: "The `username` variable needs to be provided to this playbook, via --extra-vars"
  5. when: "username is not defined or username == '<your-username>'"
  6. - name: Fail if playbook called incorrectly
  7. ansible.builtin.fail:
  8. msg: "The `password` variable needs to be provided to this playbook, via --extra-vars"
  9. when: "password is not defined or password == '<your-password>'"
  10. - name: Fail if not using integrated Postgres database
  11. ansible.builtin.fail:
  12. msg: "This command is working only when Postgres is installed via the the integrated com.devture.ansible.role.postgres role"
  13. when: "not devture_postgres_enabled | bool"
  14. - name: Ensure Postgres is started
  15. ansible.builtin.service:
  16. name: "{{ devture_postgres_identifier }}"
  17. state: started
  18. daemon_reload: true
  19. register: postgres_start_result
  20. - name: Ensure Synapse is started
  21. ansible.builtin.service:
  22. name: matrix-synapse
  23. state: started
  24. daemon_reload: true
  25. register: synapse_start_result
  26. - name: Wait a while, so that Synapse and/or Postgres can manage to start
  27. ansible.builtin.pause:
  28. seconds: 7
  29. when: "synapse_start_result.changed or postgres_start_result.changed"
  30. - name: Generate user password hash
  31. ansible.builtin.shell: "{{ devture_systemd_docker_base_host_command_docker }} exec matrix-synapse /usr/local/bin/hash_password -c /data/homeserver.yaml -p {{ password | quote }}"
  32. register: password_hash
  33. changed_when: false
  34. - name: Generate user password-change SQL command
  35. ansible.builtin.set_fact:
  36. matrix_synapse_user_password_change_command: >-
  37. {{ devture_postgres_bin_path }}/cli-non-interactive --dbname={{ matrix_synapse_database_database | quote }} -c "UPDATE users SET password_hash='{{ password_hash.stdout }}' WHERE name = '@{{ username }}:{{ matrix_domain }}'"
  38. - name: Update user password hash
  39. ansible.builtin.command:
  40. cmd: "{{ matrix_synapse_user_password_change_command }}"
  41. register: matrix_synapse_update_user_password_result
  42. changed_when: matrix_synapse_update_user_password_result.rc == 0
  43. failed_when: "matrix_synapse_update_user_password_result.rc != 0 or matrix_synapse_update_user_password_result.stdout != 'UPDATE 1'"