2019-01-16 16:05:48 +00:00
---
- name : Fail if required Synapse settings not defined
2022-07-18 07:39:08 +00:00
ansible.builtin.fail :
2019-05-21 01:46:49 +00:00
msg : >-
2024-01-04 17:00:23 +00:00
You need to define a required configuration setting (`{{ item.name }}`).
when : "item.when | bool and vars[item.name] == ''"
2019-01-16 16:05:48 +00:00
with_items :
2024-01-04 17:00:23 +00:00
- {'name': 'matrix_synapse_username', when : true }
- {'name': 'matrix_synapse_uid', when : true }
- {'name': 'matrix_synapse_gid', when : true }
- {'name': 'matrix_synapse_container_network', when : true }
- {'name': 'matrix_synapse_macaroon_secret_key', when : true }
- {'name': 'matrix_synapse_database_host', when : true }
- {'name': 'matrix_synapse_database_user', when : true }
- {'name': 'matrix_synapse_database_password', when : true }
- {'name': 'matrix_synapse_database_database', when : true }
2024-01-14 08:23:55 +00:00
- {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when : "{{ matrix_synapse_container_labels_public_client_root_enabled }}" }
- {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when : "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}" }
2024-01-04 17:00:23 +00:00
2024-01-14 08:23:55 +00:00
- {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when : "{{ matrix_synapse_container_labels_public_client_api_enabled }}" }
2024-01-04 17:00:23 +00:00
2024-01-14 08:23:55 +00:00
- {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when : "{{ matrix_synapse_container_labels_internal_client_api_enabled }}" }
2024-01-04 17:00:23 +00:00
2024-01-14 08:23:55 +00:00
- {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when : "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}" }
- {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when : "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}" }
- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when : "{{ matrix_synapse_container_labels_public_federation_api_enabled }}" }
- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when : "{{ matrix_synapse_container_labels_public_federation_api_enabled }}" }
2019-02-05 09:07:08 +00:00
2024-01-12 07:52:08 +00:00
- {'name': 'matrix_synapse_metrics_proxying_hostname', when : "{{ matrix_synapse_metrics_proxying_enabled }}" }
- {'name': 'matrix_synapse_metrics_proxying_path_prefix', when : "{{ matrix_synapse_metrics_proxying_enabled }}" }
2021-02-15 09:25:35 +00:00
- name : Fail if asking for more than 1 instance of single-instance workers
2022-07-18 07:39:08 +00:00
ansible.builtin.fail :
2021-02-15 09:25:35 +00:00
msg : >-
`{{ item }}` cannot be more than 1. This is a single-instance worker.
2022-09-18 09:21:09 +00:00
when : "vars[item] | int > 1"
2021-02-15 09:25:35 +00:00
with_items :
2022-09-15 07:00:57 +00:00
- "matrix_synapse_workers_appservice_workers_count"
- "matrix_synapse_workers_user_dir_workers_count"
2022-09-15 07:32:51 +00:00
- "matrix_synapse_workers_background_workers_count"
2022-09-15 04:05:25 +00:00
- "matrix_synapse_workers_stream_writer_typing_stream_workers_count"
- "matrix_synapse_workers_stream_writer_to_device_stream_workers_count"
- "matrix_synapse_workers_stream_writer_account_data_stream_workers_count"
- "matrix_synapse_workers_stream_writer_receipts_stream_workers_count"
- "matrix_synapse_workers_stream_writer_presence_stream_workers_count"
2021-02-15 09:25:35 +00:00
2024-01-17 21:22:27 +00:00
- name : Fail when mixing generic workers with new specialized workers
ansible.builtin.fail :
msg : >-
Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers)
2024-01-20 09:10:34 +00:00
when : matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0)
2024-01-17 21:22:27 +00:00
2019-02-05 09:07:08 +00:00
- name : (Deprecation) Catch and report renamed settings
2022-07-18 07:39:08 +00:00
ansible.builtin.fail :
2019-02-28 09:51:09 +00:00
msg : >-
2019-02-05 09:07:08 +00:00
Your configuration contains a variable, which now has a different name.
Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
when : "item.old in vars"
with_items :
2020-01-23 13:47:53 +00:00
- {'old': 'matrix_synapse_email_riot_base_url', 'new' : '<superseded by client_base_url>' }
2019-05-24 22:41:04 +00:00
- {'old': 'matrix_synapse_container_expose_api_port', 'new' : '<superseded by matrix_synapse_container_federation_api_plain_host_bind_port>' }
2019-02-14 16:40:55 +00:00
- {'old': 'matrix_synapse_no_tls', 'new' : '<removed>' }
2019-05-21 03:09:38 +00:00
- {'old': 'matrix_enable_room_list_search', 'new' : 'matrix_synapse_enable_room_list_search' }
- {'old': 'matrix_alias_creation_rules', 'new' : 'matrix_synapse_alias_creation_rules' }
- {'old': 'matrix_room_list_publication_rules', 'new' : 'matrix_synapse_room_list_publication_rules' }
2019-05-23 00:23:04 +00:00
- {'old': 'matrix_synapse_rc_messages_per_second', 'new' : '<per_second subkey of matrix_synapse_rc_message>' }
- {'old': 'matrix_synapse_rc_message_burst_count', 'new' : '<burst_count subkey of matrix_synapse_rc_message>' }
- {'old': 'matrix_synapse_federation_rc_window_size', 'new' : '<window_size subkey of matrix_synapse_rc_federation>' }
- {'old': 'matrix_synapse_federation_rc_sleep_limit', 'new' : '<sleep_limit subkey of matrix_synapse_rc_federation>' }
- {'old': 'matrix_synapse_federation_rc_sleep_delay', 'new' : '<sleep_delay subkey of matrix_synapse_rc_federation>' }
- {'old': 'matrix_synapse_federation_rc_reject_limit', 'new' : '<reject_limit subkey of matrix_synapse_rc_federation>' }
- {'old': 'matrix_synapse_federation_rc_concurrent', 'new' : '<concurrent subkey of matrix_synapse_rc_federation>' }
2019-05-24 22:41:04 +00:00
- {'old': 'matrix_synapse_container_expose_client_api_port', 'new' : '<superseded by matrix_synapse_container_client_api_host_bind_port>' }
- {'old': 'matrix_synapse_container_expose_federation_api_port', 'new' : '<superseded by matrix_synapse_container_federation_api_plain_host_bind_port>' }
- {'old': 'matrix_synapse_container_expose_metrics_port', 'new' : '<superseded by matrix_synapse_container_metrics_api_host_bind_port>' }
2020-05-28 12:23:05 +00:00
- {'old': 'matrix_synapse_cache_factor', 'new' : 'matrix_synapse_caches_global_factor' }
2020-08-17 14:02:40 +00:00
- {'old': 'matrix_synapse_trusted_third_party_id_servers', 'new' : '<deprecated in Synapse v0.99.4 and removed in Synapse v1.19.0>' }
2021-04-22 11:22:07 +00:00
- {'old': 'matrix_synapse_use_presence', 'new' : 'matrix_synapse_presence_enabled' }
2022-02-08 13:13:41 +00:00
- {'old': 'matrix_synapse_version_arm64', 'new' : '<superseded by matrix_synapse_version - see https://github.com/matrix-org/synapse/pull/11810>' }
2022-06-17 12:25:49 +00:00
- {'old': 'matrix_synapse_enable_group_creation', 'new' : '<removed in Synapse v1.61.0 - use the new Spaces feature instead>' }
2022-08-30 15:50:44 +00:00
- {'old': 'matrix_synapse_account_threepid_delegates_email', 'new' : '<removed in Synapse v1.66.0 - make sure to configure email settings for Synapse - see https://matrix-org.github.io/synapse/v1.66/upgrade.html#delegation-of-email-validation-no-longer-supported>' }
2022-09-13 12:45:08 +00:00
- {'old': 'matrix_synapse_workers_frontend_proxy_workers_count', 'new' : '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>' }
- {'old': 'matrix_synapse_workers_frontend_proxy_workers_port_range_start', 'new' : '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>' }
- {'old': 'matrix_synapse_workers_frontend_proxy_workers_metrics_range_start', 'new' : '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>' }
2022-11-27 07:28:29 +00:00
- {'old': 'matrix_synapse_ext_s3_storage_provider_path', 'new' : 'matrix_synapse_ext_s3_storage_provider_base_path' }
2022-12-06 13:47:35 +00:00
- {'old': 'matrix_synapse_send_federation', 'new' : '<unnecessary - Synapse relies on federation_sender_instances now>' }
2022-12-06 13:49:56 +00:00
- {'old': 'matrix_synapse_start_pushers', 'new' : '<unnecessary - Synapse relies on pusher_instances now>' }
2023-08-26 17:09:06 +00:00
- {'old': 'matrix_synapse_spam_checker', 'new' : '<superseded by matrix_synapse_modules>' }
2024-02-14 10:02:06 +00:00
- {'old': 'matrix_synapse_caches_autotuning_max_cache_memory_usage', 'new' : 'matrix_synapse_cache_autotuning_max_cache_memory_usage' }
- {'old': 'matrix_synapse_caches_autotuning_target_cache_memory_usage', 'new' : 'matrix_synapse_cache_autotuning_target_cache_memory_usage' }
- {'old': 'matrix_synapse_caches_autotuning_min_cache_ttl', 'new' : 'matrix_synapse_cache_autotuning_min_cache_ttl' }
Fix Synapse cache auto-tuning variables to use bytes, not KB
Fixup for https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3017
This reverts 1cd82cf06823fb7680 and also multiplies results by `1024`
so as to pass bytes to Synapse, not KB (as done before).
1cd82cf06823fb7680 was correctly documenting what we were doing (passing KB values),
but that's incorrect.
Synapse's Config Conventions
(https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#config-conventions)
are supposed to clear it up, but they don't currently state what happens when you pass a plain number (without a unit suffix).
Thankfully, the source code tells us:
https://github.com/element-hq/synapse/blob/bc1db16086d0718c9c0bb61b32b825ba62049bb0/synapse/config/_base.py#L181-L206
> If an integer is provided it is treated as bytes and is unchanged.
>
> String byte sizes can have a suffix of ...
> No suffix is understood as a plain byte count.
We were previously passing strings, but that has been improved in 3d73ec887aec27483.
Regardless, non-suffixed values seem to be treated as bytes by Synapse,
so this patch changes the variables to use bytes.
Moreover, we're moving from `matrix_synapse_memtotal_kb` to
`matrix_synapse_cache_size_calculations_memtotal_bytes` as working with
the base unit everywhere is preferrable.
Here, we also introduce 2 new variables to allow for the caps to be
tweaked:
- `matrix_synapse_cache_size_calculations_max_cache_memory_usage_cap_bytes`
- `matrix_synapse_cache_size_calculations_target_cache_memory_usage_cap_bytes`
2024-02-14 11:39:40 +00:00
- {'old': 'matrix_synapse_memtotal_kb', 'new' : '<superseded by matrix_synapse_cache_size_calculations_memtotal_bytes>' }
2021-01-13 11:47:51 +00:00
- name : (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml
2022-07-18 07:39:08 +00:00
ansible.builtin.fail :
2021-01-13 11:47:51 +00:00
msg : >-
Your matrix_synapse_configuration_extension_yaml configuration contains a variable, which now has a different name.
Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
when : "item.old in matrix_synapse_configuration_extension"
with_items :
- {'old': 'federation_ip_range_blacklist', 'new' : 'ip_range_blacklist' }
2023-02-17 17:37:34 +00:00
- when : matrix_synapse_container_image_customizations_templates_enabled | bool
block :
- name : Fail if required `matrix_synapse_container_image_customizations_templates_*` settings not defined
ansible.builtin.fail :
msg : >-
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_enabled`.
when : "vars[item] == ''"
with_items :
- matrix_synapse_container_image_customizations_templates_git_repository_url
- matrix_synapse_container_image_customizations_templates_git_repository_branch
- name : Fail if required `matrix_synapse_container_image_customizations_templates_git_repository_keyscan_*` settings not defined
ansible.builtin.fail :
msg : >-
You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_git_repository_keyscan`.
when : "matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled | bool and vars[item] == ''"
with_items :
- matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname