|
- # SPDX-FileCopyrightText: 2023 - 2024 Nikita Chernyi
- # SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev
- # SPDX-FileCopyrightText: 2023 Samuel Meenzen
- # SPDX-FileCopyrightText: 2025 Suguru Hirahara
- #
- # SPDX-License-Identifier: AGPL-3.0-or-later
-
- ---
-
- # synapse_auto_compressor tool
- # Project source code URL: https://github.com/matrix-org/rust-synapse-compress-state
-
- matrix_synapse_auto_compressor_enabled: true
-
- # renovate: datasource=docker depName=registry.gitlab.com/etke.cc/rust-synapse-compress-state
- matrix_synapse_auto_compressor_version: v0.1.4
-
- # note: UID/GID better to match the UID/GID of the Postgres container, but it doesn't really matter, as volumes are not used here
- matrix_synapse_auto_compressor_uid: ''
- matrix_synapse_auto_compressor_gid: ''
-
- # note: the Postgres image version doesn't matter, as it is used for a SQL script that doesn't use any specific features
- matrix_synapse_auto_compressor_postgres_image: "postgres"
-
- matrix_synapse_auto_compressor_base_path: "{{ matrix_base_data_path }}/synapse-auto-compressor"
- matrix_synapse_auto_compressor_container_src_files_path: "{{ matrix_synapse_auto_compressor_base_path }}/container-src"
-
- matrix_synapse_auto_compressor_container_image_self_build: false
- matrix_synapse_auto_compressor_container_image_self_build_repo: "https://github.com/matrix-org/rust-synapse-compress-state.git"
- matrix_synapse_auto_compressor_container_image_self_build_version: "{{ 'main' if matrix_synapse_auto_compressor_version == 'latest' else matrix_synapse_auto_compressor_version }}"
-
- matrix_synapse_auto_compressor_container_image: "{{ matrix_synapse_auto_compressor_container_image_registry_prefix }}etke.cc/rust-synapse-compress-state:{{ matrix_synapse_auto_compressor_version }}"
- matrix_synapse_auto_compressor_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_auto_compressor_container_image_self_build else matrix_synapse_auto_compressor_container_image_registry_prefix_upstream }}"
- matrix_synapse_auto_compressor_container_image_registry_prefix_upstream: "{{ matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default }}"
- matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default: "registry.gitlab.com/"
- matrix_synapse_auto_compressor_container_image_force_pull: "{{ matrix_synapse_auto_compressor_container_image.endswith(':latest') }}"
-
- # The base container network. It will be auto-created by this role if it doesn't exist already.
- matrix_synapse_auto_compressor_container_network: matrix-synapse-auto-compressor
-
- # A list of additional container networks that the container would be connected to.
- # The role does not create these networks, so make sure they already exist.
- # Use this to expose this container to another reverse proxy, which runs in a different container network.
- matrix_synapse_auto_compressor_container_additional_networks: []
-
- # A list of extra arguments to pass to the container
- matrix_synapse_auto_compressor_container_extra_arguments: []
-
- # List of systemd services that matrix-synapse-auto-compressor.service depends on
- matrix_synapse_auto_compressor_systemd_required_services_list: "{{ matrix_synapse_auto_compressor_systemd_required_services_list_default + matrix_synapse_auto_compressor_systemd_required_services_list_auto + matrix_synapse_auto_compressor_systemd_required_services_list_custom }}"
- matrix_synapse_auto_compressor_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
- matrix_synapse_auto_compressor_systemd_required_services_list_auto: []
- matrix_synapse_auto_compressor_systemd_required_services_list_custom: []
-
- # List of systemd services that matrix-synapse-auto-compressor.service wants
- matrix_synapse_auto_compressor_systemd_wanted_services_list: []
-
- matrix_synapse_auto_compressor_database_username: 'synapse'
- matrix_synapse_auto_compressor_database_password: ''
- matrix_synapse_auto_compressor_database_hostname: ''
- matrix_synapse_auto_compressor_database_port: 5432
- matrix_synapse_auto_compressor_database_name: 'synapse'
-
- # connection string to synapse database (postgres only)
- matrix_synapse_auto_compressor_synapse_database: 'postgres://{{ matrix_synapse_auto_compressor_database_username | urlencode() }}:{{ matrix_synapse_auto_compressor_database_password | urlencode() }}@{{ matrix_synapse_auto_compressor_database_hostname }}:{{ matrix_synapse_auto_compressor_database_port }}/{{ matrix_synapse_auto_compressor_database_name }}'
-
- # Controls the `OnCalendar` configuration for the compressor job.
- # Also see: `matrix_synapse_auto_compressor_schedule_randomized_delay_sec`
- matrix_synapse_auto_compressor_schedule: "*-*-* 00:00:00"
-
- # The `RandomizedDelaySec` delay (in seconds or as a systemd time string) to randomize the `OnCalendar` start time (`matrix_synapse_auto_compressor_schedule`) of the compressor job.
- # This can be set to 0 to disable randomized delays.
- matrix_synapse_auto_compressor_schedule_randomized_delay_sec: 6h
-
- # The number of state groups to work on at once.
- # All of the entries from state_groups_state are requested from the database for state groups that are worked on.
- # Therefore small chunk sizes may be needed on machines with low memory.
- # Note: if the compressor fails to find space savings on the chunk as a whole
- # (which may well happen in rooms with lots of backfill in) then the entire chunk is skipped.
- matrix_synapse_auto_compressor_chunk_size: 500
-
- # CHUNKS_TO_COMPRESS chunks of size CHUNK_SIZE will be compressed.
- # The higher this number is set to, the longer the compressor will run for.
- matrix_synapse_auto_compressor_chunks_to_compress: 100
-
- matrix_synapse_auto_compressor_command: "synapse_auto_compressor -p $POSTGRES_LOCATION -c {{ matrix_synapse_auto_compressor_chunk_size }} -n {{ matrix_synapse_auto_compressor_chunks_to_compress }}"
-
- # Controls the POSTGRES_LOCATION environment variable
- matrix_synapse_auto_compressor_environment_variable_postgres_location: "{{ matrix_synapse_auto_compressor_synapse_database }}"
|