Switch from matrix-postgres to com.devture.ansible.role.postgres

This commit is contained in:
Slavi Pantaleev
2022-11-27 07:23:41 +02:00
parent dd9ae0d25c
commit 04b9483f0d
57 changed files with 289 additions and 1802 deletions

View File

@ -10,37 +10,43 @@
msg: "The `password` variable needs to be provided to this playbook, via --extra-vars"
when: "password is not defined or password == '<your-password>'"
- name: Fail if not using matrix-postgres container
- name: Fail if not using integrated Postgres database
ansible.builtin.fail:
msg: "This command is working only when matrix-postgres container is being used"
when: "not matrix_postgres_enabled | bool"
msg: "This command is working only when Postgres is installed via the the integrated com.devture.ansible.role.postgres role"
when: "not devture_postgres_enabled | bool"
- name: Ensure matrix-synapse is started
- name: Ensure Postgres is started
ansible.builtin.service:
name: matrix-synapse
state: started
daemon_reload: true
register: start_result
- name: Ensure matrix-postgres is started
ansible.builtin.service:
name: matrix-postgres
name: "{{ devture_postgres_identifier }}"
state: started
daemon_reload: true
register: postgres_start_result
- name: Ensure Synapse is started
ansible.builtin.service:
name: matrix-synapse
state: started
daemon_reload: true
register: synapse_start_result
- name: Wait a while, so that Matrix Synapse can manage to start
- name: Wait a while, so that Synapse and/or Postgres can manage to start
ansible.builtin.pause:
seconds: 7
when: "start_result.changed or postgres_start_result.changed"
when: "synapse_start_result.changed or postgres_start_result.changed"
- name: Generate password hash
- name: Generate user password hash
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 }}"
register: password_hash
changed_when: false
- name: Generate user password-change SQL command
ansible.builtin.set_fact:
matrix_synapse_user_password_change_command: >-
{{ 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 }}'"
- name: Update user password hash
ansible.builtin.command: "{{ matrix_local_bin_path }}/matrix-postgres-update-user-password-hash {{ username | quote }} {{ password_hash.stdout | quote }}"
ansible.builtin.command:
cmd: "{{ matrix_synapse_user_password_change_command }}"
register: matrix_synapse_update_user_password_result
changed_when: matrix_synapse_update_user_password_result.rc == 0
failed_when: "matrix_synapse_update_user_password_result.rc != 0 or matrix_synapse_update_user_password_result.stdout != 'UPDATE 1'"