mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-11-04 00:58:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev
 | 
						|
# SPDX-FileCopyrightText: 2021 Béla Becker
 | 
						|
# SPDX-FileCopyrightText: 2022 Marko Weltzer
 | 
						|
#
 | 
						|
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
- ansible.builtin.debug:
 | 
						|
    msg: "Compressing room `{{ room_details.room_id }}` having {{ room_details.count }} state group rows"
 | 
						|
 | 
						|
- name: Generate rust-synapse-compress-state room compression command
 | 
						|
  ansible.builtin.set_fact:
 | 
						|
    matrix_synapse_rust_synapse_compress_state_compress_room_command: >-
 | 
						|
      {{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-compress-room
 | 
						|
      --user={{ matrix_synapse_uid }}:{{ matrix_synapse_gid }}
 | 
						|
      --cap-drop=ALL
 | 
						|
      --network={{ postgres_container_network }}
 | 
						|
      --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
 | 
						|
      {{ matrix_synapse_rust_synapse_compress_state_docker_image }}
 | 
						|
      {{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
 | 
						|
      -p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
 | 
						|
      -r '{{ room_details.room_id }}'
 | 
						|
 | 
						|
- name: Run rust-synapse-compress-state room compression command (SQL generation)
 | 
						|
  ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_command }}"
 | 
						|
  async: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_time }}"
 | 
						|
  poll: 10
 | 
						|
  register: matrix_synapse_rust_synapse_compress_state_compress_room_command_result
 | 
						|
  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
 | 
						|
  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
 | 
						|
 | 
						|
- ansible.builtin.debug:
 | 
						|
    var: "matrix_synapse_rust_synapse_compress_state_compress_room_command_result"
 | 
						|
 | 
						|
- name: Generate Postgres compression SQL import command
 | 
						|
  ansible.builtin.set_fact:
 | 
						|
    matrix_synapse_rust_synapse_compress_state_psql_import_command: >-
 | 
						|
      {{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-psql-import
 | 
						|
      --user={{ postgres_uid }}:{{ postgres_gid }}
 | 
						|
      --cap-drop=ALL
 | 
						|
      --network={{ postgres_container_network }}
 | 
						|
      --env-file={{ postgres_base_path }}/env-postgres-psql
 | 
						|
      --mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work,ro
 | 
						|
      --entrypoint=/bin/sh
 | 
						|
      {{ postgres_container_image_latest }}
 | 
						|
      -c "cat /work/state-compressor.sql |
 | 
						|
      psql -v ON_ERROR_STOP=1 -h {{ postgres_connection_hostname }} -d {{ matrix_synapse_database_database }}"
 | 
						|
 | 
						|
- name: Import compression SQL into Postgres
 | 
						|
  ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_command }}"
 | 
						|
  async: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_time }}"
 | 
						|
  poll: 10
 | 
						|
  register: matrix_synapse_rust_synapse_compress_state_psql_import_command_result
 | 
						|
  failed_when: not matrix_synapse_rust_synapse_compress_state_psql_import_command_result.finished
 | 
						|
  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
 | 
						|
 | 
						|
- name: Clean up
 | 
						|
  ansible.builtin.file:
 | 
						|
    path: "{{ matrix_synapse_rust_synapse_compress_state_base_path }}/state-compressor.sql"
 | 
						|
    state: absent
 |