Matrix Docker Ansible eploy
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

60 líneas
3.5 KiB

  1. # SPDX-FileCopyrightText: 2024 MDAD Team and contributors
  2. #
  3. # SPDX-License-Identifier: AGPL-3.0-or-later
  4. ---
  5. - ansible.builtin.debug:
  6. msg: "Compressing room `{{ room_details.room_id }}` having {{ room_details.count }} state group rows"
  7. - name: Generate rust-synapse-compress-state room compression command
  8. ansible.builtin.set_fact:
  9. matrix_synapse_rust_synapse_compress_state_compress_room_command: >-
  10. {{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-compress-room
  11. --user={{ matrix_synapse_uid }}:{{ matrix_synapse_gid }}
  12. --cap-drop=ALL
  13. --network={{ postgres_container_network }}
  14. --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
  15. {{ matrix_synapse_rust_synapse_compress_state_docker_image }}
  16. {{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
  17. -p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
  18. -r '{{ room_details.room_id }}'
  19. - name: Run rust-synapse-compress-state room compression command (SQL generation)
  20. ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_command }}"
  21. async: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_time }}"
  22. poll: 10
  23. register: matrix_synapse_rust_synapse_compress_state_compress_room_command_result
  24. failed_when: not matrix_synapse_rust_synapse_compress_state_compress_room_command_result.finished or matrix_synapse_rust_synapse_compress_state_compress_room_command_result.rc != 0
  25. changed_when: matrix_synapse_rust_synapse_compress_state_compress_room_command_result.finished and matrix_synapse_rust_synapse_compress_state_compress_room_command_result.rc == 0
  26. - ansible.builtin.debug:
  27. var: "matrix_synapse_rust_synapse_compress_state_compress_room_command_result"
  28. - name: Generate Postgres compression SQL import command
  29. ansible.builtin.set_fact:
  30. matrix_synapse_rust_synapse_compress_state_psql_import_command: >-
  31. {{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-psql-import
  32. --user={{ postgres_uid }}:{{ postgres_gid }}
  33. --cap-drop=ALL
  34. --network={{ postgres_container_network }}
  35. --env-file={{ postgres_base_path }}/env-postgres-psql
  36. --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work,ro
  37. --entrypoint=/bin/sh
  38. {{ postgres_container_image_latest }}
  39. -c "cat /work/state-compressor.sql |
  40. psql -v ON_ERROR_STOP=1 -h {{ postgres_connection_hostname }} -d {{ matrix_synapse_database_database }}"
  41. - name: Import compression SQL into Postgres
  42. ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_command }}"
  43. async: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_time }}"
  44. poll: 10
  45. register: matrix_synapse_rust_synapse_compress_state_psql_import_command_result
  46. failed_when: not matrix_synapse_rust_synapse_compress_state_psql_import_command_result.finished
  47. changed_when: matrix_synapse_rust_synapse_compress_state_psql_import_command_result.finished and matrix_synapse_rust_synapse_compress_state_psql_import_command_result.rc == 0
  48. - name: Clean up
  49. ansible.builtin.file:
  50. path: "{{ matrix_synapse_rust_synapse_compress_state_base_path }}/state-compressor.sql"
  51. state: absent