Matrix Docker Ansible eploy
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 

53 rader
2.9 KiB

  1. ---
  2. - ansible.builtin.debug:
  3. msg: "Compressing room `{{ room_details.room_id }}` having {{ room_details.count }} state group rows"
  4. - name: Generate rust-synapse-compress-state room compression command
  5. ansible.builtin.set_fact:
  6. matrix_synapse_rust_synapse_compress_state_compress_room_command: >-
  7. {{ matrix_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-compress-room
  8. --user={{ matrix_user_uid }}:{{ matrix_user_gid }}
  9. --cap-drop=ALL
  10. --network={{ matrix_docker_network }}
  11. --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
  12. {{ matrix_synapse_rust_synapse_compress_state_docker_image }}
  13. {{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
  14. -p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
  15. -r '{{ room_details.room_id }}'
  16. - name: Run rust-synapse-compress-state room compression command (SQL generation)
  17. ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_command }}"
  18. async: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_time }}"
  19. poll: 10
  20. register: matrix_synapse_rust_synapse_compress_state_compress_room_command_result
  21. changed_when: matrix_synapse_rust_synapse_compress_state_compress_room_command_result.rc == 0
  22. - ansible.builtin.debug: var="matrix_synapse_rust_synapse_compress_state_compress_room_command_result"
  23. - name: Generate Postgres compression SQL import command
  24. ansible.builtin.set_fact:
  25. matrix_synapse_rust_synapse_compress_state_psql_import_command: >-
  26. {{ matrix_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-psql-import
  27. --user={{ matrix_user_uid }}:{{ matrix_user_gid }}
  28. --cap-drop=ALL
  29. --network={{ matrix_docker_network }}
  30. --env-file={{ matrix_postgres_base_path }}/env-postgres-psql
  31. --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work,ro
  32. --entrypoint=/bin/sh
  33. {{ matrix_postgres_docker_image_latest }}
  34. -c "cat /work/state-compressor.sql |
  35. psql -v ON_ERROR_STOP=1 -h matrix-postgres -d {{ matrix_synapse_database_database }}"
  36. - name: Import compression SQL into Postgres
  37. ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_command }}"
  38. async: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_time }}"
  39. poll: 10
  40. register: matrix_synapse_rust_synapse_compress_state_psql_import_command_result
  41. changed_when: matrix_synapse_rust_synapse_compress_state_psql_import_command_result.rc == 0
  42. - name: Clean up
  43. ansible.builtin.file:
  44. path: "{{ matrix_synapse_rust_synapse_compress_state_base_path }}/state-compressor.sql"
  45. state: absent