For each of the 34 roles (3 clients, 9 bots, 22 bridges), this commit: - Adds `_restart_necessary: false` default variable - Adds `register:` directives to config/image/systemd tasks - Computes `_restart_necessary` via set_fact (OR of all .changed results) - Wires `(_restart_necessary | bool)` in group_vars/matrix_servers This allows the systemd service manager to skip unnecessary restarts when running install-* tags and nothing actually changed. Service roles and complex multi-service roles will follow separately. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>pull/4926/head
| @@ -304,70 +304,70 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-bot-buscarron.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_buscarron_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'buscarron', 'bot-buscarron'], | |||
| }] if matrix_bot_buscarron_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-baibot.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_baibot_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'baibot', 'bot-baibot'], | |||
| }] if matrix_bot_baibot_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-go-neb.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_go_neb_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'go-neb', 'bot-go-neb'], | |||
| }] if matrix_bot_go_neb_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-honoroit.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_honoroit_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'honoroit', 'bot-honoroit'], | |||
| }] if matrix_bot_honoroit_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-matrix-registration-bot.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_matrix_registration_bot_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'registration-bot', 'bot-matrix-registration-bot'], | |||
| }] if matrix_bot_matrix_registration_bot_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-matrix-reminder-bot.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_matrix_reminder_bot_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'reminder-bot', 'bot-matrix-reminder-bot'], | |||
| }] if matrix_bot_matrix_reminder_bot_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-maubot.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_maubot_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'maubot', 'bot-maubot'], | |||
| }] if matrix_bot_maubot_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-mjolnir.service', | |||
| 'priority': 4000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_mjolnir_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'mjolnir', 'bot-mjolnir'], | |||
| }] if matrix_bot_mjolnir_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-bot-draupnir.service', | |||
| 'priority': 4000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_bot_draupnir_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bots', 'draupnir', 'bot-draupnir'], | |||
| }] if matrix_bot_draupnir_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-appservice-discord.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_appservice_discord_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'appservice-discord'], | |||
| }] if matrix_appservice_discord_enabled else []) | |||
| + | |||
| @@ -381,7 +381,7 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-appservice-irc.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_appservice_irc_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'appservice-irc'], | |||
| }] if matrix_appservice_irc_enabled else []) | |||
| + | |||
| @@ -402,14 +402,14 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-appservice-slack.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_appservice_slack_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'appservice-slack'], | |||
| }] if matrix_appservice_slack_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-beeper-linkedin.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_beeper_linkedin_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'beeper-linkedin'], | |||
| }] if matrix_beeper_linkedin_enabled else []) | |||
| + | |||
| @@ -430,91 +430,91 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-heisenbridge.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_heisenbridge_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'heisenbridge'], | |||
| }] if matrix_heisenbridge_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-hookshot.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_hookshot_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'hookshot', 'bridge-hookshot'], | |||
| }] if matrix_hookshot_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-bluesky.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_bluesky_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-bluesky'], | |||
| }] if matrix_mautrix_bluesky_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-discord.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_discord_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-discord'], | |||
| }] if matrix_mautrix_discord_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-slack.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_slack_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-slack'], | |||
| }] if matrix_mautrix_slack_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-googlechat.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_googlechat_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-googlechat'], | |||
| }] if matrix_mautrix_googlechat_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-signal.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_signal_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-signal', 'mautrix-signal'], | |||
| }] if matrix_mautrix_signal_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': (matrix_mautrix_meta_messenger_identifier + '.service'), | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_meta_messenger_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-meta', 'mautrix-meta-messenger'], | |||
| }] if matrix_mautrix_meta_messenger_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': (matrix_mautrix_meta_instagram_identifier + '.service'), | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_meta_instagram_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-meta', 'mautrix-meta-instagram'], | |||
| }] if matrix_mautrix_meta_instagram_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-telegram.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_telegram_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-telegram'], | |||
| }] if matrix_mautrix_telegram_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-twitter.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_twitter_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-twitter'], | |||
| }] if matrix_mautrix_twitter_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-gmessages.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_gmessages_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-gmessages'], | |||
| }] if matrix_mautrix_gmessages_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mautrix-whatsapp.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mautrix_whatsapp_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mautrix-whatsapp'], | |||
| }] if matrix_mautrix_whatsapp_enabled else []) | |||
| + | |||
| @@ -535,35 +535,35 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-mx-puppet-groupme.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mx_puppet_groupme_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mx-puppet-groupme'], | |||
| }] if matrix_mx_puppet_groupme_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-mx-puppet-steam.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_mx_puppet_steam_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'mx-puppet-steam'], | |||
| }] if matrix_mx_puppet_steam_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-postmoogle.service', | |||
| 'priority': 2200, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_postmoogle_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'postmoogle'], | |||
| }] if matrix_postmoogle_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-sms-bridge.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_sms_bridge_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'sms'], | |||
| }] if matrix_sms_bridge_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-steam-bridge.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_steam_bridge_restart_necessary | bool), | |||
| 'groups': ['matrix', 'bridges', 'matrix-steam-bridge'], | |||
| }] if matrix_steam_bridge_enabled else []) | |||
| + | |||
| @@ -591,7 +591,7 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-client-element.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_client_element_restart_necessary | bool), | |||
| 'groups': ['matrix', 'clients', 'element', 'client-element'], | |||
| }] if matrix_client_element_enabled else []) | |||
| + | |||
| @@ -605,14 +605,14 @@ devture_systemd_service_manager_services_list_auto: | | |||
| ([{ | |||
| 'name': 'matrix-client-schildichat.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_client_schildichat_restart_necessary | bool), | |||
| 'groups': ['matrix', 'clients', 'schildichat', 'client-schildichat'], | |||
| }] if matrix_client_schildichat_enabled else []) | |||
| + | |||
| ([{ | |||
| 'name': 'matrix-client-fluffychat.service', | |||
| 'priority': 2000, | |||
| 'restart_necessary': true, | |||
| 'restart_necessary': (matrix_client_fluffychat_restart_necessary | bool), | |||
| 'groups': ['matrix', 'clients', 'fluffychat', 'client-fluffychat'], | |||
| }] if matrix_client_fluffychat_enabled else []) | |||
| + | |||
| @@ -523,3 +523,13 @@ matrix_bot_baibot_configuration_extension: "{{ matrix_bot_baibot_configuration_e | |||
| # matrix_bot_baibot_environment_variables_extension: | | |||
| # BAIBOT_USER_PASSWORD=password | |||
| matrix_bot_baibot_environment_variables_extension: '' | |||
| # matrix_bot_baibot_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_baibot_restart_necessary: false | |||
| @@ -26,6 +26,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_bot_baibot_config_result | |||
| - name: Ensure baibot environment variables file created | |||
| ansible.builtin.template: | |||
| @@ -34,6 +35,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| mode: 0640 | |||
| register: matrix_bot_baibot_env_result | |||
| - name: Ensure baibot container image is pulled | |||
| community.docker.docker_image: | |||
| @@ -42,10 +44,10 @@ | |||
| force_source: "{{ matrix_bot_baibot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_baibot_container_image_force_pull }}" | |||
| when: "not matrix_bot_baibot_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_baibot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_baibot_container_image_pull_result is not failed | |||
| - when: "matrix_bot_baibot_container_image_self_build | bool" | |||
| block: | |||
| @@ -82,3 +84,14 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-bot-baibot.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-bot-baibot.service" | |||
| mode: 0644 | |||
| register: matrix_bot_baibot_systemd_service_result | |||
| - name: Determine whether baibot needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_baibot_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_baibot_config_result.changed | default(false) | |||
| or matrix_bot_baibot_env_result.changed | default(false) | |||
| or matrix_bot_baibot_systemd_service_result.changed | default(false) | |||
| or matrix_bot_baibot_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -201,3 +201,13 @@ matrix_bot_buscarron_smtp_validation: false | |||
| # matrix_bot_buscarron_environment_variables_extension: | | |||
| # BUSCARRON_LOGLEVEL=DEBUG | |||
| matrix_bot_buscarron_environment_variables_extension: '' | |||
| # matrix_bot_buscarron_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_buscarron_restart_necessary: false | |||
| @@ -58,6 +58,7 @@ | |||
| with_items: | |||
| - env | |||
| - labels | |||
| register: matrix_bot_buscarron_support_files_result | |||
| - name: Ensure Buscarron image is pulled | |||
| community.docker.docker_image: | |||
| @@ -66,10 +67,10 @@ | |||
| force_source: "{{ matrix_bot_buscarron_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_buscarron_docker_image_force_pull }}" | |||
| when: "not matrix_bot_buscarron_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_buscarron_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_buscarron_container_image_pull_result is not failed | |||
| - name: Ensure Buscarron repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -99,6 +100,17 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-bot-buscarron.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-bot-buscarron.service" | |||
| mode: 0644 | |||
| register: matrix_bot_buscarron_systemd_service_result | |||
| - name: Determine whether Buscarron needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_buscarron_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_buscarron_migration_requires_restart | default(false) | |||
| or matrix_bot_buscarron_support_files_result.changed | default(false) | |||
| or matrix_bot_buscarron_systemd_service_result.changed | default(false) | |||
| or matrix_bot_buscarron_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure Buscarron container network is created | |||
| community.general.docker_network: | |||
| @@ -200,3 +200,13 @@ matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver | |||
| # my.label=1 | |||
| # another.label="here" | |||
| matrix_bot_draupnir_container_labels_traefik_labels_additional_labels: '' | |||
| # matrix_bot_draupnir_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_draupnir_restart_necessary: false | |||
| @@ -35,6 +35,7 @@ | |||
| with_items: | |||
| - src: "{{ role_path }}/templates/labels.j2" | |||
| dest: "{{ matrix_bot_draupnir_base_path }}/labels" | |||
| register: matrix_bot_draupnir_support_files_result | |||
| - name: Ensure Draupnir Docker image is pulled | |||
| community.docker.docker_image: | |||
| @@ -43,10 +44,10 @@ | |||
| force_source: "{{ matrix_bot_draupnir_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_draupnir_docker_image_force_pull }}" | |||
| when: "not matrix_bot_draupnir_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_draupnir_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_draupnir_container_image_pull_result is not failed | |||
| - name: Ensure Draupnir repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -77,6 +78,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_bot_draupnir_config_result | |||
| - name: Ensure matrix-bot-draupnir container network is created | |||
| community.general.docker_network: | |||
| @@ -92,6 +94,17 @@ | |||
| mode: 0644 | |||
| register: matrix_bot_draupnir_systemd_service_result | |||
| - name: Determine whether Draupnir needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_draupnir_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_draupnir_migration_requires_restart | default(false) | |||
| or matrix_bot_draupnir_support_files_result.changed | default(false) | |||
| or matrix_bot_draupnir_config_result.changed | default(false) | |||
| or matrix_bot_draupnir_systemd_service_result.changed | default(false) | |||
| or matrix_bot_draupnir_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-bot-draupnir.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-bot-draupnir.service" | |||
| @@ -353,3 +353,13 @@ matrix_bot_go_neb_configuration_extension: "{{ matrix_bot_go_neb_configuration_e | |||
| # Holds the final configuration (a combination of the default and its extension). | |||
| # You most likely don't need to touch this variable. Instead, see `matrix_bot_go_neb_configuration_yaml`. | |||
| matrix_bot_go_neb_configuration: "{{ matrix_bot_go_neb_configuration_yaml | from_yaml | combine(matrix_bot_go_neb_configuration_extension, recursive=True) }}" | |||
| # matrix_bot_go_neb_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_go_neb_restart_necessary: false | |||
| @@ -30,6 +30,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_bot_go_neb_config_result | |||
| - name: Ensure go-neb support files installed | |||
| ansible.builtin.template: | |||
| @@ -41,6 +42,7 @@ | |||
| with_items: | |||
| - env | |||
| - labels | |||
| register: matrix_bot_go_neb_support_files_result | |||
| - name: Ensure go-neb container image is pulled | |||
| community.docker.docker_image: | |||
| @@ -48,10 +50,10 @@ | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_bot_go_neb_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_go_neb_container_image_force_pull }}" | |||
| register: result | |||
| register: matrix_bot_go_neb_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_go_neb_container_image_pull_result is not failed | |||
| - name: Ensure go-neb container network is created | |||
| community.general.docker_network: | |||
| @@ -65,3 +67,14 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-bot-go-neb.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-bot-go-neb.service" | |||
| mode: 0644 | |||
| register: matrix_bot_go_neb_systemd_service_result | |||
| - name: Determine whether go-neb needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_go_neb_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_go_neb_config_result.changed | default(false) | |||
| or matrix_bot_go_neb_support_files_result.changed | default(false) | |||
| or matrix_bot_go_neb_systemd_service_result.changed | default(false) | |||
| or matrix_bot_go_neb_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -231,3 +231,13 @@ matrix_bot_honoroit_text_done: '' | |||
| # matrix_bot_honoroit_environment_variables_extension: | | |||
| # HONOROIT_TEXT_DONE=Done | |||
| matrix_bot_honoroit_environment_variables_extension: '' | |||
| # matrix_bot_honoroit_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_honoroit_restart_necessary: false | |||
| @@ -60,6 +60,7 @@ | |||
| with_items: | |||
| - env | |||
| - labels | |||
| register: matrix_bot_honoroit_support_files_result | |||
| - name: Ensure Honoroit image is pulled | |||
| community.docker.docker_image: | |||
| @@ -68,10 +69,10 @@ | |||
| force_source: "{{ matrix_bot_honoroit_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_honoroit_docker_image_force_pull }}" | |||
| when: "not matrix_bot_honoroit_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_honoroit_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_honoroit_container_image_pull_result is not failed | |||
| - name: Ensure Honoroit repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -110,6 +111,16 @@ | |||
| mode: 0644 | |||
| register: matrix_bot_honoroit_systemd_service_result | |||
| - name: Determine whether Honoroit needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_honoroit_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_honoroit_migration_requires_restart | default(false) | |||
| or matrix_bot_honoroit_support_files_result.changed | default(false) | |||
| or matrix_bot_honoroit_systemd_service_result.changed | default(false) | |||
| or matrix_bot_honoroit_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-bot-honoroit.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-bot-honoroit.service" | |||
| @@ -75,3 +75,13 @@ matrix_bot_matrix_registration_bot_systemd_required_services_list_custom: [] | |||
| # List of systemd services that matrix-bot-matrix-registration-bot.service wants | |||
| matrix_bot_matrix_registration_bot_systemd_wanted_services_list: [] | |||
| # matrix_bot_matrix_registration_bot_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_matrix_registration_bot_restart_necessary: false | |||
| @@ -28,6 +28,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| mode: 0640 | |||
| register: matrix_bot_matrix_registration_bot_config_result | |||
| - name: Ensure matrix-registration-bot image is pulled | |||
| community.docker.docker_image: | |||
| @@ -36,10 +37,10 @@ | |||
| force_source: "{{ matrix_bot_matrix_registration_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_docker_image_force_pull }}" | |||
| when: "not matrix_bot_matrix_registration_bot_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_matrix_registration_bot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_matrix_registration_bot_container_image_pull_result is not failed | |||
| - when: matrix_bot_matrix_registration_bot_container_image_self_build | bool | |||
| block: | |||
| @@ -76,3 +77,13 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-bot-matrix-registration-bot.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-bot-matrix-registration-bot.service" | |||
| mode: 0644 | |||
| register: matrix_bot_matrix_registration_bot_systemd_service_result | |||
| - name: Determine whether matrix-registration-bot needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_matrix_registration_bot_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_matrix_registration_bot_config_result.changed | default(false) | |||
| or matrix_bot_matrix_registration_bot_systemd_service_result.changed | default(false) | |||
| or matrix_bot_matrix_registration_bot_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -132,3 +132,13 @@ matrix_bot_matrix_reminder_bot_configuration_extension: "{{ matrix_bot_matrix_re | |||
| # Holds the final configuration (a combination of the default and its extension). | |||
| # You most likely don't need to touch this variable. Instead, see `matrix_bot_matrix_reminder_bot_configuration_yaml`. | |||
| matrix_bot_matrix_reminder_bot_configuration: "{{ matrix_bot_matrix_reminder_bot_configuration_yaml | from_yaml | combine(matrix_bot_matrix_reminder_bot_configuration_extension, recursive=True) }}" | |||
| # matrix_bot_matrix_reminder_bot_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_matrix_reminder_bot_restart_necessary: false | |||
| @@ -59,10 +59,10 @@ | |||
| force_source: "{{ matrix_bot_matrix_reminder_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_reminder_bot_docker_image_force_pull }}" | |||
| when: "not matrix_bot_matrix_reminder_bot_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_matrix_reminder_bot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_matrix_reminder_bot_container_image_pull_result is not failed | |||
| - name: Ensure matrix-reminder-bot repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -94,6 +94,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_bot_matrix_reminder_bot_config_result | |||
| - name: Ensure matrix-reminder-bot container network is created | |||
| community.general.docker_network: | |||
| @@ -109,6 +110,16 @@ | |||
| mode: 0644 | |||
| register: matrix_bot_matrix_reminder_bot_systemd_service_result | |||
| - name: Determine whether matrix-reminder-bot needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_matrix_reminder_bot_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_matrix_reminder_bot_migration_requires_restart | default(false) | |||
| or matrix_bot_matrix_reminder_bot_config_result.changed | default(false) | |||
| or matrix_bot_matrix_reminder_bot_systemd_service_result.changed | default(false) | |||
| or matrix_bot_matrix_reminder_bot_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-bot-matrix-reminder-bot.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-bot-matrix-reminder-bot.service" | |||
| @@ -180,3 +180,13 @@ matrix_bot_maubot_systemd_required_services_list_custom: [] | |||
| # List of systemd services that matrix-bot-maubot.service wants | |||
| matrix_bot_maubot_systemd_wanted_services_list: [] | |||
| # matrix_bot_maubot_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_maubot_restart_necessary: false | |||
| @@ -34,6 +34,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| mode: "u=rwx" | |||
| register: matrix_bot_maubot_config_result | |||
| - name: Ensure maubot image is pulled | |||
| community.docker.docker_image: | |||
| @@ -42,10 +43,10 @@ | |||
| force_source: "{{ matrix_bot_maubot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_docker_image_force_pull }}" | |||
| when: "not matrix_bot_maubot_container_image_self_build|bool" | |||
| register: result | |||
| register: matrix_bot_maubot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_maubot_container_image_pull_result is not failed | |||
| - when: matrix_bot_maubot_container_image_self_build | bool | |||
| block: | |||
| @@ -100,6 +101,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_bot_maubot_support_files_result | |||
| - name: Ensure maubot container network is created | |||
| community.general.docker_network: | |||
| @@ -113,3 +115,14 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-bot-maubot.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-bot-maubot.service" | |||
| mode: 0644 | |||
| register: matrix_bot_maubot_systemd_service_result | |||
| - name: Determine whether maubot needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_maubot_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_maubot_config_result.changed | default(false) | |||
| or matrix_bot_maubot_support_files_result.changed | default(false) | |||
| or matrix_bot_maubot_systemd_service_result.changed | default(false) | |||
| or matrix_bot_maubot_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -100,3 +100,13 @@ matrix_bot_mjolnir_configuration_extension: "{{ matrix_bot_mjolnir_configuration | |||
| # Holds the final configuration (a combination of the default and its extension). | |||
| # You most likely don't need to touch this variable. Instead, see `matrix_bot_mjolnir_configuration_yaml`. | |||
| matrix_bot_mjolnir_configuration: "{{ matrix_bot_mjolnir_configuration_yaml | from_yaml | combine(matrix_bot_mjolnir_configuration_extension, recursive=True) }}" | |||
| # matrix_bot_mjolnir_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_bot_mjolnir_restart_necessary: false | |||
| @@ -34,10 +34,10 @@ | |||
| force_source: "{{ matrix_bot_mjolnir_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_mjolnir_docker_image_force_pull }}" | |||
| when: "not matrix_bot_mjolnir_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_bot_mjolnir_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_bot_mjolnir_container_image_pull_result is not failed | |||
| - name: Ensure mjolnir repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -68,6 +68,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_bot_mjolnir_config_result | |||
| - name: Ensure matrix-bot-mjolnir container network is created | |||
| community.general.docker_network: | |||
| @@ -83,6 +84,16 @@ | |||
| mode: 0644 | |||
| register: matrix_bot_mjolnir_systemd_service_result | |||
| - name: Determine whether Mjolnir needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_bot_mjolnir_restart_necessary: >- | |||
| {{ | |||
| matrix_bot_mjolnir_migration_requires_restart | default(false) | |||
| or matrix_bot_mjolnir_config_result.changed | default(false) | |||
| or matrix_bot_mjolnir_systemd_service_result.changed | default(false) | |||
| or matrix_bot_mjolnir_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-bot-mjolnir.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-bot-mjolnir.service" | |||
| @@ -137,3 +137,13 @@ matrix_appservice_discord_registration_yaml: | | |||
| - discord | |||
| matrix_appservice_discord_registration: "{{ matrix_appservice_discord_registration_yaml | from_yaml }}" | |||
| # matrix_appservice_discord_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_appservice_discord_restart_necessary: false | |||
| @@ -46,10 +46,10 @@ | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_appservice_discord_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_discord_docker_image_force_pull }}" | |||
| register: result | |||
| register: matrix_appservice_discord_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_appservice_discord_container_image_pull_result is not failed | |||
| - name: Ensure AppService Discord paths exist | |||
| ansible.builtin.file: | |||
| @@ -95,6 +95,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_discord_config_result | |||
| - name: Ensure AppService Discord registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -103,6 +104,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_discord_registration_result | |||
| # If `matrix_appservice_discord_client_id` hasn't changed, the same invite link would be generated. | |||
| # We intentionally suppress Ansible changes. | |||
| @@ -131,6 +133,17 @@ | |||
| mode: 0644 | |||
| register: matrix_appservice_discord_systemd_service_result | |||
| - name: Determine whether matrix-appservice-discord needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_appservice_discord_restart_necessary: >- | |||
| {{ | |||
| matrix_appservice_discord_migration_requires_restart | default(false) | |||
| or matrix_appservice_discord_config_result.changed | default(false) | |||
| or matrix_appservice_discord_registration_result.changed | default(false) | |||
| or matrix_appservice_discord_systemd_service_result.changed | default(false) | |||
| or matrix_appservice_discord_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-appservice-discord.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-appservice-discord.service" | |||
| @@ -549,3 +549,13 @@ matrix_appservice_irc_registration_override_yaml: | | |||
| hs_token: "{{ matrix_appservice_irc_homeserver_token }}" | |||
| matrix_appservice_irc_registration_override: "{{ matrix_appservice_irc_registration_override_yaml | from_yaml }}" | |||
| # matrix_appservice_irc_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_appservice_irc_restart_necessary: false | |||
| @@ -86,10 +86,10 @@ | |||
| force_source: "{{ matrix_appservice_irc_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_irc_docker_image_force_pull }}" | |||
| when: "matrix_appservice_irc_enabled | bool and not matrix_appservice_irc_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_appservice_irc_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_appservice_irc_container_image_pull_result is not failed | |||
| - name: Ensure matrix-appservice-irc repository is present when self-building | |||
| ansible.builtin.git: | |||
| @@ -121,6 +121,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_irc_config_result | |||
| - name: Ensure Matrix Appservice IRC labels file installed | |||
| ansible.builtin.template: | |||
| @@ -129,6 +130,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_irc_labels_result | |||
| - name: Generate Appservice IRC passkey if it doesn't exist | |||
| ansible.builtin.shell: | |||
| @@ -244,6 +246,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_irc_registration_result | |||
| - name: Ensure matrix-appservice-irc container network is created | |||
| community.general.docker_network: | |||
| @@ -259,6 +262,18 @@ | |||
| mode: 0644 | |||
| register: matrix_appservice_irc_systemd_service_result | |||
| - name: Determine whether matrix-appservice-irc needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_appservice_irc_restart_necessary: >- | |||
| {{ | |||
| matrix_appservice_irc_migration_requires_restart | default(false) | |||
| or matrix_appservice_irc_config_result.changed | default(false) | |||
| or matrix_appservice_irc_labels_result.changed | default(false) | |||
| or matrix_appservice_irc_registration_result.changed | default(false) | |||
| or matrix_appservice_irc_systemd_service_result.changed | default(false) | |||
| or matrix_appservice_irc_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-appservice-irc.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-appservice-irc.service" | |||
| @@ -196,3 +196,13 @@ matrix_appservice_slack_registration_yaml: | | |||
| protocols: null | |||
| matrix_appservice_slack_registration: "{{ matrix_appservice_slack_registration_yaml | from_yaml }}" | |||
| # matrix_appservice_slack_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_appservice_slack_restart_necessary: false | |||
| @@ -50,10 +50,10 @@ | |||
| force_source: "{{ matrix_appservice_slack_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_slack_docker_image_force_pull }}" | |||
| when: "not matrix_appservice_slack_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_appservice_slack_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_appservice_slack_container_image_pull_result is not failed | |||
| - name: Ensure matrix-appservice-slack repository is present when self-building | |||
| ansible.builtin.git: | |||
| @@ -85,6 +85,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_slack_config_result | |||
| - name: Ensure appservice-slack registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -93,6 +94,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_appservice_slack_registration_result | |||
| - name: Ensure matrix-appservice-slack container network is created | |||
| community.general.docker_network: | |||
| @@ -110,12 +112,26 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_appservice_slack_support_files_result | |||
| - name: Ensure matrix-appservice-slack.service installed | |||
| ansible.builtin.template: | |||
| src: "{{ role_path }}/templates/systemd/matrix-appservice-slack.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-appservice-slack.service" | |||
| mode: 0644 | |||
| register: matrix_appservice_slack_systemd_service_result | |||
| - name: Determine whether matrix-appservice-slack needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_appservice_slack_restart_necessary: >- | |||
| {{ | |||
| matrix_appservice_slack_migration_requires_restart | default(false) | |||
| or matrix_appservice_slack_config_result.changed | default(false) | |||
| or matrix_appservice_slack_registration_result.changed | default(false) | |||
| or matrix_appservice_slack_support_files_result.changed | default(false) | |||
| or matrix_appservice_slack_systemd_service_result.changed | default(false) | |||
| or matrix_appservice_slack_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-appservice-slack.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -173,3 +173,13 @@ matrix_beeper_linkedin_registration_yaml: | | |||
| receive_ephemeral: true | |||
| matrix_beeper_linkedin_registration: "{{ matrix_beeper_linkedin_registration_yaml | from_yaml }}" | |||
| # matrix_beeper_linkedin_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_beeper_linkedin_restart_necessary: false | |||
| @@ -32,6 +32,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_beeper_linkedin_config_result | |||
| - name: Ensure beeper-linkedin registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -40,6 +41,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_beeper_linkedin_registration_result | |||
| - name: Ensure Beeper LinkedIn container image is pulled | |||
| community.docker.docker_image: | |||
| @@ -48,10 +50,10 @@ | |||
| force_source: "{{ matrix_beeper_linkedin_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_beeper_linkedin_docker_image_force_pull }}" | |||
| when: "not matrix_beeper_linkedin_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_beeper_linkedin_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_beeper_linkedin_container_image_pull_result is not failed | |||
| - when: "matrix_beeper_linkedin_container_image_self_build | bool" | |||
| block: | |||
| @@ -105,3 +107,14 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-beeper-linkedin.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-beeper-linkedin.service" | |||
| mode: 0644 | |||
| register: matrix_beeper_linkedin_systemd_service_result | |||
| - name: Determine whether matrix-beeper-linkedin needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_beeper_linkedin_restart_necessary: >- | |||
| {{ | |||
| matrix_beeper_linkedin_config_result.changed | default(false) | |||
| or matrix_beeper_linkedin_registration_result.changed | default(false) | |||
| or matrix_beeper_linkedin_systemd_service_result.changed | default(false) | |||
| or matrix_beeper_linkedin_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -123,3 +123,13 @@ matrix_heisenbridge_registration_yaml: | |||
| heisenbridge: "{{ matrix_heisenbridge_registration_yaml_heisenbridge }}" | |||
| matrix_heisenbridge_registration: "{{ matrix_heisenbridge_registration_yaml | from_yaml }}" | |||
| # matrix_heisenbridge_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_heisenbridge_restart_necessary: false | |||
| @@ -16,10 +16,10 @@ | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| force_source: "{{ matrix_heisenbridge_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_heisenbridge_docker_image_force_pull }}" | |||
| register: result | |||
| register: matrix_heisenbridge_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_heisenbridge_container_image_pull_result is not failed | |||
| - name: Ensure Heisenbridge paths exist | |||
| ansible.builtin.file: | |||
| @@ -38,6 +38,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_heisenbridge_registration_result | |||
| - name: Ensure Heisenbridge support files installed | |||
| ansible.builtin.template: | |||
| @@ -48,6 +49,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_heisenbridge_support_files_result | |||
| - name: Ensure Heisenbridge container network is created | |||
| community.general.docker_network: | |||
| @@ -61,3 +63,14 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-heisenbridge.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-heisenbridge.service" | |||
| mode: 0644 | |||
| register: matrix_heisenbridge_systemd_service_result | |||
| - name: Determine whether matrix-heisenbridge needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_heisenbridge_restart_necessary: >- | |||
| {{ | |||
| matrix_heisenbridge_registration_result.changed | default(false) | |||
| or matrix_heisenbridge_support_files_result.changed | default(false) | |||
| or matrix_heisenbridge_systemd_service_result.changed | default(false) | |||
| or matrix_heisenbridge_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -380,3 +380,13 @@ matrix_hookshot_registration_extension: "{{ matrix_hookshot_registration_extensi | |||
| # Holds the final registration (a combination of the default and its extension). | |||
| # You most likely don't need to touch this variable. Instead, see `matrix_hookshot_registration_yaml`. | |||
| matrix_hookshot_registration: "{{ matrix_hookshot_registration_yaml | from_yaml | combine(matrix_hookshot_registration_extension, recursive=True) }}" | |||
| # matrix_hookshot_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_hookshot_restart_necessary: false | |||
| @@ -35,10 +35,10 @@ | |||
| force_source: "{{ matrix_hookshot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_hookshot_docker_image_force_pull }}" | |||
| when: not matrix_hookshot_container_image_self_build | |||
| register: result | |||
| register: matrix_hookshot_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_hookshot_container_image_pull_result is not failed | |||
| - name: Ensure hookshot repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -83,6 +83,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_hookshot_config_result | |||
| - name: Validate hookshot config.yml | |||
| ansible.builtin.command: | |||
| @@ -109,6 +110,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_hookshot_registration_result | |||
| - name: Ensure hookshot github private key file installed if github is enabled | |||
| ansible.builtin.copy: | |||
| @@ -118,6 +120,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| when: matrix_hookshot_github_enabled | bool and matrix_hookshot_github_private_key|length > 0 | |||
| register: matrix_hookshot_github_key_result | |||
| - name: Ensure matrix-hookshot container network is created | |||
| community.general.docker_network: | |||
| @@ -135,9 +138,23 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_hookshot_support_files_result | |||
| - name: Ensure matrix-hookshot.service installed | |||
| ansible.builtin.template: | |||
| src: "{{ role_path }}/templates/systemd/matrix-hookshot.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-hookshot.service" | |||
| mode: 0644 | |||
| register: matrix_hookshot_systemd_service_result | |||
| - name: Determine whether matrix-hookshot needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_hookshot_restart_necessary: >- | |||
| {{ | |||
| matrix_hookshot_config_result.changed | default(false) | |||
| or matrix_hookshot_registration_result.changed | default(false) | |||
| or matrix_hookshot_github_key_result.changed | default(false) | |||
| or matrix_hookshot_support_files_result.changed | default(false) | |||
| or matrix_hookshot_systemd_service_result.changed | default(false) | |||
| or matrix_hookshot_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -209,3 +209,13 @@ matrix_mautrix_bluesky_bridge_encryption_require: false | |||
| matrix_mautrix_bluesky_bridge_encryption_appservice: false | |||
| matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_bluesky_bridge_encryption_allow }}" | |||
| matrix_mautrix_bluesky_bridge_encryption_pickle_key: mautrix.bridge.e2ee | |||
| # matrix_mautrix_bluesky_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_bluesky_restart_necessary: false | |||
| @@ -14,10 +14,10 @@ | |||
| force_source: "{{ matrix_mautrix_bluesky_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_bluesky_docker_image_force_pull }}" | |||
| when: matrix_mautrix_bluesky_enabled | bool and not matrix_mautrix_bluesky_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_bluesky_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_bluesky_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix Bluesky paths exist | |||
| ansible.builtin.file: | |||
| @@ -62,6 +62,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_bluesky_config_result | |||
| - name: Ensure mautrix-bluesky registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -70,6 +71,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_bluesky_registration_result | |||
| - name: Ensure mautrix-bluesky support files installed | |||
| ansible.builtin.template: | |||
| @@ -80,6 +82,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_bluesky_support_files_result | |||
| - name: Ensure matrix-mautrix-bluesky container network is created | |||
| community.general.docker_network: | |||
| @@ -93,6 +96,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-bluesky.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-bluesky.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_bluesky_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-bluesky needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_bluesky_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_bluesky_migration_requires_restart | default(false) | |||
| or matrix_mautrix_bluesky_config_result.changed | default(false) | |||
| or matrix_mautrix_bluesky_registration_result.changed | default(false) | |||
| or matrix_mautrix_bluesky_support_files_result.changed | default(false) | |||
| or matrix_mautrix_bluesky_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_bluesky_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-bluesky.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -245,3 +245,13 @@ matrix_mautrix_discord_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_d | |||
| # On Conduit versions before 0.5.0 this option prevented users from joining spaces created by the bridge. | |||
| # Setting this to false fixed the issue. | |||
| matrix_mautrix_discord_bridge_restricted_rooms: true | |||
| # matrix_mautrix_discord_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_discord_restart_necessary: false | |||
| @@ -56,10 +56,10 @@ | |||
| force_source: "{{ matrix_mautrix_discord_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_discord_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_discord_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_discord_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_discord_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix discord repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -91,6 +91,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_discord_config_result | |||
| - name: Ensure mautrix-discord registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -99,6 +100,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_discord_registration_result | |||
| - name: Ensure mautrix-discord support files installed | |||
| ansible.builtin.template: | |||
| @@ -109,6 +111,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_discord_support_files_result | |||
| - name: Ensure mautrix-discord container network is created | |||
| community.general.docker_network: | |||
| @@ -124,6 +127,18 @@ | |||
| mode: 0644 | |||
| register: matrix_mautrix_discord_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-discord needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_discord_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_discord_migration_requires_restart | default(false) | |||
| or matrix_mautrix_discord_config_result.changed | default(false) | |||
| or matrix_mautrix_discord_registration_result.changed | default(false) | |||
| or matrix_mautrix_discord_support_files_result.changed | default(false) | |||
| or matrix_mautrix_discord_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_discord_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-discord.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-mautrix-discord.service" | |||
| @@ -222,3 +222,13 @@ matrix_mautrix_gmessages_registration_yaml: | | |||
| io.element.msc4190: {{ matrix_mautrix_gmessages_msc4190_enabled | to_json }} | |||
| matrix_mautrix_gmessages_registration: "{{ matrix_mautrix_gmessages_registration_yaml | from_yaml }}" | |||
| # matrix_mautrix_gmessages_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_gmessages_restart_necessary: false | |||
| @@ -56,10 +56,10 @@ | |||
| force_source: "{{ matrix_mautrix_gmessages_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_gmessages_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_gmessages_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_gmessages_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_gmessages_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix gmessages repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -124,6 +124,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_gmessages_config_result | |||
| - name: Ensure mautrix-gmessages registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -132,12 +133,14 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_gmessages_registration_result | |||
| - name: Ensure matrix-mautrix-gmessages.service installed | |||
| ansible.builtin.template: | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-gmessages.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-gmessages.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_gmessages_systemd_service_result | |||
| - name: Ensure mautrix-gmessages support files installed | |||
| ansible.builtin.template: | |||
| @@ -148,6 +151,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_gmessages_support_files_result | |||
| - name: Ensure matrix-mautrix-gmessages container network is created | |||
| community.general.docker_network: | |||
| @@ -156,6 +160,18 @@ | |||
| driver: bridge | |||
| driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" | |||
| - name: Determine whether matrix-mautrix-gmessages needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_gmessages_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_gmessages_migration_requires_restart | default(false) | |||
| or matrix_mautrix_gmessages_config_result.changed | default(false) | |||
| or matrix_mautrix_gmessages_registration_result.changed | default(false) | |||
| or matrix_mautrix_gmessages_support_files_result.changed | default(false) | |||
| or matrix_mautrix_gmessages_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_gmessages_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-gmessages.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-mautrix-gmessages.service" | |||
| @@ -206,3 +206,13 @@ matrix_mautrix_googlechat_registration: "{{ matrix_mautrix_googlechat_registrati | |||
| # Enable End-to-bridge encryption | |||
| matrix_mautrix_googlechat_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" | |||
| matrix_mautrix_googlechat_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" | |||
| # matrix_mautrix_googlechat_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_googlechat_restart_necessary: false | |||
| @@ -44,10 +44,10 @@ | |||
| force_source: "{{ matrix_mautrix_googlechat_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_googlechat_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_googlechat_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_googlechat_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_googlechat_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix googlechat paths exist | |||
| ansible.builtin.file: | |||
| @@ -114,6 +114,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_googlechat_config_result | |||
| - name: Ensure mautrix-googlechat registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -122,6 +123,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_googlechat_registration_result | |||
| - name: Ensure mautrix-googlechat support files installed | |||
| ansible.builtin.template: | |||
| @@ -132,6 +134,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_googlechat_support_files_result | |||
| - name: Ensure matrix-mautrix-googlechat container network is created | |||
| community.general.docker_network: | |||
| @@ -145,6 +148,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-googlechat.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-googlechat.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_googlechat_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-googlechat needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_googlechat_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_googlechat_migration_requires_restart | default(false) | |||
| or matrix_mautrix_googlechat_config_result.changed | default(false) | |||
| or matrix_mautrix_googlechat_registration_result.changed | default(false) | |||
| or matrix_mautrix_googlechat_support_files_result.changed | default(false) | |||
| or matrix_mautrix_googlechat_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_googlechat_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-googlechat.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -307,3 +307,13 @@ matrix_mautrix_meta_instagram_registration_yaml: | | |||
| io.element.msc4190: {{ matrix_mautrix_meta_instagram_msc4190_enabled | to_json }} | |||
| matrix_mautrix_meta_instagram_registration: "{{ matrix_mautrix_meta_instagram_registration_yaml | from_yaml }}" | |||
| # matrix_mautrix_meta_instagram_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_meta_instagram_restart_necessary: false | |||
| @@ -39,10 +39,10 @@ | |||
| force_source: "{{ matrix_mautrix_meta_instagram_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_meta_instagram_container_image_force_pull }}" | |||
| when: not matrix_mautrix_meta_instagram_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_meta_instagram_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_meta_instagram_container_image_pull_result is not failed | |||
| - name: Ensure mautrix-meta-instagram paths exist | |||
| ansible.builtin.file: | |||
| @@ -88,6 +88,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_meta_instagram_config_result | |||
| - name: Ensure mautrix-meta-instagram registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -96,6 +97,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_meta_instagram_registration_result | |||
| - name: Ensure mautrix-meta-instagram support files installed | |||
| ansible.builtin.template: | |||
| @@ -106,6 +108,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_meta_instagram_support_files_result | |||
| - name: Ensure mautrix-meta-instagram container network is created | |||
| community.general.docker_network: | |||
| @@ -119,6 +122,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_mautrix_meta_instagram_identifier }}.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_meta_instagram_systemd_service_result | |||
| - name: Determine whether mautrix-meta-instagram needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_meta_instagram_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_meta_instagram_migration_requires_restart | default(false) | |||
| or matrix_mautrix_meta_instagram_config_result.changed | default(false) | |||
| or matrix_mautrix_meta_instagram_registration_result.changed | default(false) | |||
| or matrix_mautrix_meta_instagram_support_files_result.changed | default(false) | |||
| or matrix_mautrix_meta_instagram_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_meta_instagram_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure mautrix-meta-instagram.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -307,3 +307,13 @@ matrix_mautrix_meta_messenger_registration_yaml: | | |||
| io.element.msc4190: {{ matrix_mautrix_meta_messenger_msc4190_enabled | to_json }} | |||
| matrix_mautrix_meta_messenger_registration: "{{ matrix_mautrix_meta_messenger_registration_yaml | from_yaml }}" | |||
| # matrix_mautrix_meta_messenger_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_meta_messenger_restart_necessary: false | |||
| @@ -39,10 +39,10 @@ | |||
| force_source: "{{ matrix_mautrix_meta_messenger_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_meta_messenger_container_image_force_pull }}" | |||
| when: not matrix_mautrix_meta_messenger_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_meta_messenger_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_meta_messenger_container_image_pull_result is not failed | |||
| - name: Ensure mautrix-meta-messenger paths exist | |||
| ansible.builtin.file: | |||
| @@ -88,6 +88,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_meta_messenger_config_result | |||
| - name: Ensure mautrix-meta-messenger registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -96,6 +97,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_meta_messenger_registration_result | |||
| - name: Ensure mautrix-meta-messenger support files installed | |||
| ansible.builtin.template: | |||
| @@ -106,6 +108,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_meta_messenger_support_files_result | |||
| - name: Ensure mautrix-meta-messenger container network is created | |||
| community.general.docker_network: | |||
| @@ -119,6 +122,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-meta.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/{{ matrix_mautrix_meta_messenger_identifier }}.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_meta_messenger_systemd_service_result | |||
| - name: Determine whether mautrix-meta-messenger needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_meta_messenger_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_meta_messenger_migration_requires_restart | default(false) | |||
| or matrix_mautrix_meta_messenger_config_result.changed | default(false) | |||
| or matrix_mautrix_meta_messenger_registration_result.changed | default(false) | |||
| or matrix_mautrix_meta_messenger_support_files_result.changed | default(false) | |||
| or matrix_mautrix_meta_messenger_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_meta_messenger_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure mautrix-meta-messenger.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -243,3 +243,13 @@ matrix_mautrix_signal_network_note_to_self_avatar: "mxc://maunium.net/REBIVrqjZw | |||
| matrix_mautrix_signal_provisioning_shared_secret: '' | |||
| matrix_mautrix_signal_public_media_signing_key: '' | |||
| # matrix_mautrix_signal_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_signal_restart_necessary: false | |||
| @@ -61,10 +61,10 @@ | |||
| force_source: "{{ matrix_mautrix_signal_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_signal_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_signal_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_signal_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_signal_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix signal repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -129,6 +129,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_signal_config_result | |||
| - name: Ensure mautrix-signal registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -137,6 +138,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_signal_registration_result | |||
| - name: Ensure mautrix-signal support files installed | |||
| ansible.builtin.template: | |||
| @@ -147,6 +149,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_signal_support_files_result | |||
| - name: Ensure matrix-mautrix-signal container network is created | |||
| community.general.docker_network: | |||
| @@ -160,6 +163,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-signal.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_signal_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-signal needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_signal_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_signal_migration_requires_restart | default(false) | |||
| or matrix_mautrix_signal_config_result.changed | default(false) | |||
| or matrix_mautrix_signal_registration_result.changed | default(false) | |||
| or matrix_mautrix_signal_support_files_result.changed | default(false) | |||
| or matrix_mautrix_signal_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_signal_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-signal.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -202,3 +202,13 @@ matrix_mautrix_slack_bridge_relay_admin_only: true | |||
| # List of user login IDs which anyone can set as a relay, as long as the relay user is in the room | |||
| matrix_mautrix_slack_bridge_relay_default_relays: [] | |||
| # matrix_mautrix_slack_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_slack_restart_necessary: false | |||
| @@ -55,10 +55,10 @@ | |||
| force_source: "{{ matrix_mautrix_slack_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_slack_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_slack_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_slack_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_slack_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix slack repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -90,6 +90,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_slack_config_result | |||
| - name: Ensure mautrix-slack registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -98,6 +99,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_slack_registration_result | |||
| - name: Ensure matrix-mautrix-slack container network is created | |||
| community.general.docker_network: | |||
| @@ -113,6 +115,17 @@ | |||
| mode: 0644 | |||
| register: matrix_mautrix_slack_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-slack needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_slack_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_slack_migration_requires_restart | default(false) | |||
| or matrix_mautrix_slack_config_result.changed | default(false) | |||
| or matrix_mautrix_slack_registration_result.changed | default(false) | |||
| or matrix_mautrix_slack_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_slack_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-slack.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| name: "matrix-mautrix-slack.service" | |||
| @@ -258,3 +258,13 @@ matrix_mautrix_telegram_displayname_template: '{displayname} (Telegram)' | |||
| matrix_mautrix_telegram_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" | |||
| matrix_mautrix_telegram_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" | |||
| matrix_mautrix_telegram_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_telegram_bridge_encryption_allow }}" | |||
| # matrix_mautrix_telegram_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_telegram_restart_necessary: false | |||
| @@ -65,10 +65,10 @@ | |||
| force_source: "{{ matrix_mautrix_telegram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_docker_image_force_pull }}" | |||
| when: "not matrix_mautrix_telegram_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_mautrix_telegram_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_telegram_container_image_pull_result is not failed | |||
| - name: Ensure lottieconverter is present when self-building | |||
| ansible.builtin.git: | |||
| @@ -146,6 +146,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_telegram_config_result | |||
| - name: Ensure mautrix-telegram registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -154,6 +155,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_telegram_registration_result | |||
| - name: Ensure mautrix-telegram support files installed | |||
| ansible.builtin.template: | |||
| @@ -164,6 +166,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_telegram_support_files_result | |||
| - name: Ensure matrix-mautrix-telegram container network is created | |||
| community.general.docker_network: | |||
| @@ -177,6 +180,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-telegram.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-telegram.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_telegram_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-telegram needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_telegram_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_telegram_migration_requires_restart | default(false) | |||
| or matrix_mautrix_telegram_config_result.changed | default(false) | |||
| or matrix_mautrix_telegram_registration_result.changed | default(false) | |||
| or matrix_mautrix_telegram_support_files_result.changed | default(false) | |||
| or matrix_mautrix_telegram_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_telegram_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-telegram.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -219,3 +219,13 @@ matrix_mautrix_twitter_bridge_encryption_appservice: false | |||
| matrix_mautrix_twitter_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_twitter_bridge_encryption_allow }}" | |||
| # This pickle key value is compatible with the old mautrix-twitter bridge (before bridgev2). | |||
| matrix_mautrix_twitter_bridge_encryption_pickle_key: mautrix.bridge.e2ee | |||
| # matrix_mautrix_twitter_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_twitter_restart_necessary: false | |||
| @@ -20,10 +20,10 @@ | |||
| force_source: "{{ matrix_mautrix_twitter_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_twitter_docker_image_force_pull }}" | |||
| when: matrix_mautrix_twitter_enabled | bool and not matrix_mautrix_twitter_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_twitter_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_twitter_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix Twitter paths exist | |||
| ansible.builtin.file: | |||
| @@ -68,6 +68,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_twitter_config_result | |||
| - name: Ensure mautrix-twitter registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -76,6 +77,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_twitter_registration_result | |||
| - name: Ensure mautrix-twitter support files installed | |||
| ansible.builtin.template: | |||
| @@ -86,6 +88,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_twitter_support_files_result | |||
| - name: Ensure matrix-mautrix-twitter container network is created | |||
| community.general.docker_network: | |||
| @@ -99,6 +102,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-twitter.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-twitter.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_twitter_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-twitter needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_twitter_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_twitter_migration_requires_restart | default(false) | |||
| or matrix_mautrix_twitter_config_result.changed | default(false) | |||
| or matrix_mautrix_twitter_registration_result.changed | default(false) | |||
| or matrix_mautrix_twitter_support_files_result.changed | default(false) | |||
| or matrix_mautrix_twitter_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_twitter_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-twitter.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -246,3 +246,13 @@ matrix_mautrix_whatsapp_registration_yaml: | | |||
| io.element.msc4190: {{ matrix_mautrix_whatsapp_msc4190_enabled | to_json }} | |||
| matrix_mautrix_whatsapp_registration: "{{ matrix_mautrix_whatsapp_registration_yaml | from_yaml }}" | |||
| # matrix_mautrix_whatsapp_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mautrix_whatsapp_restart_necessary: false | |||
| @@ -66,10 +66,10 @@ | |||
| force_source: "{{ matrix_mautrix_whatsapp_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_whatsapp_docker_image_force_pull }}" | |||
| when: not matrix_mautrix_whatsapp_container_image_self_build | |||
| register: result | |||
| register: matrix_mautrix_whatsapp_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mautrix_whatsapp_container_image_pull_result is not failed | |||
| - name: Ensure Mautrix Whatsapp repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -134,6 +134,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_whatsapp_config_result | |||
| - name: Ensure mautrix-whatsapp registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -142,6 +143,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mautrix_whatsapp_registration_result | |||
| - name: Ensure mautrix-whatsapp support files installed | |||
| ansible.builtin.template: | |||
| @@ -152,6 +154,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_mautrix_whatsapp_support_files_result | |||
| - name: Ensure matrix-mautrix-whatsapp container network is created | |||
| community.general.docker_network: | |||
| @@ -165,6 +168,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-whatsapp.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-whatsapp.service" | |||
| mode: 0644 | |||
| register: matrix_mautrix_whatsapp_systemd_service_result | |||
| - name: Determine whether matrix-mautrix-whatsapp needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mautrix_whatsapp_restart_necessary: >- | |||
| {{ | |||
| matrix_mautrix_whatsapp_migration_requires_restart | default(false) | |||
| or matrix_mautrix_whatsapp_config_result.changed | default(false) | |||
| or matrix_mautrix_whatsapp_registration_result.changed | default(false) | |||
| or matrix_mautrix_whatsapp_support_files_result.changed | default(false) | |||
| or matrix_mautrix_whatsapp_systemd_service_result.changed | default(false) | |||
| or matrix_mautrix_whatsapp_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mautrix-whatsapp.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -136,3 +136,13 @@ matrix_mx_puppet_groupme_registration_yaml: | | |||
| receive_ephemeral: true | |||
| matrix_mx_puppet_groupme_registration: "{{ matrix_mx_puppet_groupme_registration_yaml | from_yaml }}" | |||
| # matrix_mx_puppet_groupme_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mx_puppet_groupme_restart_necessary: false | |||
| @@ -79,10 +79,10 @@ | |||
| force_source: "{{ matrix_mx_puppet_groupme_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_groupme_docker_image_force_pull }}" | |||
| when: matrix_mx_puppet_groupme_enabled | bool and not matrix_mx_puppet_groupme_container_image_self_build | |||
| register: result | |||
| register: matrix_mx_puppet_groupme_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mx_puppet_groupme_container_image_pull_result is not failed | |||
| - name: Ensure MX Puppet Groupme repository is present on self build | |||
| ansible.builtin.git: | |||
| @@ -114,6 +114,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mx_puppet_groupme_config_result | |||
| - name: Ensure mx-puppet-groupme groupme-registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -122,6 +123,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mx_puppet_groupme_registration_result | |||
| - name: Ensure mx-puppet-groupme container network is created | |||
| community.general.docker_network: | |||
| @@ -135,6 +137,18 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-groupme.service.j2" | |||
| dest: "/etc/systemd/system/matrix-mx-puppet-groupme.service" | |||
| mode: 0644 | |||
| register: matrix_mx_puppet_groupme_systemd_service_result | |||
| - name: Determine whether matrix-mx-puppet-groupme needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mx_puppet_groupme_restart_necessary: >- | |||
| {{ | |||
| matrix_mx_puppet_groupme_migration_requires_restart | default(false) | |||
| or matrix_mx_puppet_groupme_config_result.changed | default(false) | |||
| or matrix_mx_puppet_groupme_registration_result.changed | default(false) | |||
| or matrix_mx_puppet_groupme_systemd_service_result.changed | default(false) | |||
| or matrix_mx_puppet_groupme_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mx-puppet-groupme.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -137,3 +137,13 @@ matrix_mx_puppet_steam_registration_yaml: | | |||
| receive_ephemeral: true | |||
| matrix_mx_puppet_steam_registration: "{{ matrix_mx_puppet_steam_registration_yaml | from_yaml }}" | |||
| # matrix_mx_puppet_steam_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_mx_puppet_steam_restart_necessary: false | |||
| @@ -81,10 +81,10 @@ | |||
| force_source: "{{ matrix_mx_puppet_steam_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_steam_docker_image_force_pull }}" | |||
| when: matrix_mx_puppet_steam_enabled | bool and not matrix_mx_puppet_steam_container_image_self_build | |||
| register: result | |||
| register: matrix_mx_puppet_steam_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_mx_puppet_steam_container_image_pull_result is not failed | |||
| - name: Ensure MX Puppet Steam repository is present on self build | |||
| ansible.builtin.git: | |||
| @@ -116,6 +116,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mx_puppet_steam_config_result | |||
| - name: Ensure mx-puppet-steam steam-registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -124,6 +125,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_mx_puppet_steam_registration_result | |||
| - name: Ensure mx-puppet-steam container network is created | |||
| community.general.docker_network: | |||
| @@ -137,6 +139,18 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-steam.service.j2" | |||
| dest: "/etc/systemd/system/matrix-mx-puppet-steam.service" | |||
| mode: 0644 | |||
| register: matrix_mx_puppet_steam_systemd_service_result | |||
| - name: Determine whether matrix-mx-puppet-steam needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_mx_puppet_steam_restart_necessary: >- | |||
| {{ | |||
| matrix_mx_puppet_steam_migration_requires_restart | default(false) | |||
| or matrix_mx_puppet_steam_config_result.changed | default(false) | |||
| or matrix_mx_puppet_steam_registration_result.changed | default(false) | |||
| or matrix_mx_puppet_steam_systemd_service_result.changed | default(false) | |||
| or matrix_mx_puppet_steam_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-mx-puppet-steam.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -187,3 +187,13 @@ matrix_postmoogle_mailboxes_activation: none | |||
| # matrix_postmoogle_environment_variables_extension: | | |||
| # postmoogle_TEXT_DONE=Done | |||
| matrix_postmoogle_environment_variables_extension: '' | |||
| # matrix_postmoogle_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_postmoogle_restart_necessary: false | |||
| @@ -76,6 +76,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| mode: 0640 | |||
| register: matrix_postmoogle_env_result | |||
| - name: Ensure postmoogle image is pulled | |||
| community.docker.docker_image: | |||
| @@ -84,10 +85,10 @@ | |||
| force_source: "{{ matrix_postmoogle_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_postmoogle_docker_image_force_pull }}" | |||
| when: "not matrix_postmoogle_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_postmoogle_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_postmoogle_container_image_pull_result is not failed | |||
| - name: Ensure postmoogle repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -125,3 +126,13 @@ | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-postmoogle.service" | |||
| mode: 0644 | |||
| register: matrix_postmoogle_systemd_service_result | |||
| - name: Determine whether matrix-postmoogle needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_postmoogle_restart_necessary: >- | |||
| {{ | |||
| matrix_postmoogle_migration_requires_restart | default(false) | |||
| or matrix_postmoogle_env_result.changed | default(false) | |||
| or matrix_postmoogle_systemd_service_result.changed | default(false) | |||
| or matrix_postmoogle_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -148,3 +148,13 @@ matrix_sms_bridge_registration_yaml: | | |||
| rate_limited: false | |||
| matrix_sms_bridge_registration: "{{ matrix_sms_bridge_registration_yaml | from_yaml }}" | |||
| # matrix_sms_bridge_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_sms_bridge_restart_necessary: false | |||
| @@ -14,10 +14,10 @@ | |||
| community.docker.docker_image: | |||
| name: "{{ matrix_sms_bridge_docker_image }}" | |||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | |||
| register: result | |||
| register: matrix_sms_bridge_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_sms_bridge_container_image_pull_result is not failed | |||
| - name: Ensure matrix-sms-bridge paths exist | |||
| ansible.builtin.file: | |||
| @@ -38,6 +38,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_sms_bridge_config_result | |||
| - name: Ensure matrix-sms-bridge registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -46,6 +47,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_sms_bridge_registration_result | |||
| - name: Ensure android-sms-gateway-server cert installed | |||
| ansible.builtin.copy: | |||
| @@ -55,6 +57,7 @@ | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| when: matrix_sms_bridge_provider_android_truststore_local_path != "" | |||
| register: matrix_sms_bridge_cert_result | |||
| - name: Ensure matrix-sms-bridge container network is created | |||
| community.general.docker_network: | |||
| @@ -68,3 +71,15 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-sms-bridge.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-sms-bridge.service" | |||
| mode: 0644 | |||
| register: matrix_sms_bridge_systemd_service_result | |||
| - name: Determine whether matrix-sms-bridge needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_sms_bridge_restart_necessary: >- | |||
| {{ | |||
| matrix_sms_bridge_config_result.changed | default(false) | |||
| or matrix_sms_bridge_registration_result.changed | default(false) | |||
| or matrix_sms_bridge_cert_result.changed | default(false) | |||
| or matrix_sms_bridge_systemd_service_result.changed | default(false) | |||
| or matrix_sms_bridge_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -251,3 +251,13 @@ matrix_steam_bridge_bridge_encryption_require: false | |||
| matrix_steam_bridge_bridge_encryption_appservice: false | |||
| matrix_steam_bridge_bridge_encryption_key_sharing_allow: "{{ matrix_steam_bridge_bridge_encryption_allow }}" | |||
| matrix_steam_bridge_bridge_encryption_pickle_key: mautrix.bridge.e2ee | |||
| # matrix_steam_bridge_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_steam_bridge_restart_necessary: false | |||
| @@ -14,10 +14,10 @@ | |||
| force_source: "{{ matrix_steam_bridge_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_steam_bridge_docker_image_force_pull }}" | |||
| when: matrix_steam_bridge_enabled | bool and not matrix_steam_bridge_container_image_self_build | |||
| register: result | |||
| register: matrix_steam_bridge_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_steam_bridge_container_image_pull_result is not failed | |||
| - name: Ensure Steam bridge paths exist | |||
| ansible.builtin.file: | |||
| @@ -62,6 +62,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_steam_bridge_config_result | |||
| - name: Ensure matrix-steam-bridge registration.yaml installed | |||
| ansible.builtin.copy: | |||
| @@ -70,6 +71,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_steam_bridge_registration_result | |||
| - name: Ensure matrix-steam-bridge support files installed | |||
| ansible.builtin.template: | |||
| @@ -80,6 +82,7 @@ | |||
| group: "{{ matrix_group_name }}" | |||
| with_items: | |||
| - labels | |||
| register: matrix_steam_bridge_support_files_result | |||
| - name: Ensure matrix-steam-bridge container network is created | |||
| community.general.docker_network: | |||
| @@ -93,6 +96,19 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-steam-bridge.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-steam-bridge.service" | |||
| mode: 0644 | |||
| register: matrix_steam_bridge_systemd_service_result | |||
| - name: Determine whether matrix-steam-bridge needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_steam_bridge_restart_necessary: >- | |||
| {{ | |||
| matrix_steam_bridge_migration_requires_restart | default(false) | |||
| or matrix_steam_bridge_config_result.changed | default(false) | |||
| or matrix_steam_bridge_registration_result.changed | default(false) | |||
| or matrix_steam_bridge_support_files_result.changed | default(false) | |||
| or matrix_steam_bridge_systemd_service_result.changed | default(false) | |||
| or matrix_steam_bridge_container_image_pull_result.changed | default(false) | |||
| }} | |||
| - name: Ensure matrix-steam-bridge.service restarted, if necessary | |||
| ansible.builtin.service: | |||
| @@ -423,3 +423,13 @@ matrix_client_element_environment_variable_element_web_port: "{{ matrix_client_e | |||
| # matrix_client_element_environment_variables_extension: | | |||
| # ELEMENT_WEB_PORT=8080 | |||
| matrix_client_element_environment_variables_extension: '' | |||
| # matrix_client_element_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_client_element_restart_necessary: false | |||
| @@ -30,10 +30,10 @@ | |||
| force_source: "{{ matrix_client_element_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_client_element_docker_image_force_pull }}" | |||
| when: "not matrix_client_element_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_client_element_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_client_element_container_image_pull_result is not failed | |||
| - name: Ensure Element Web repository is present on self-build | |||
| ansible.builtin.git: | |||
| @@ -77,6 +77,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_client_element_config_result | |||
| - name: Ensure Element location sharing map style installed | |||
| when: matrix_client_element_location_sharing_enabled | bool | |||
| @@ -86,6 +87,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_client_element_config_map_style_result | |||
| - name: Ensure Element Web config files installed | |||
| ansible.builtin.template: | |||
| @@ -100,6 +102,7 @@ | |||
| - {src: "{{ matrix_client_element_page_template_welcome_path }}", name: "welcome.html"} | |||
| - {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"} | |||
| when: "item.src is not none" | |||
| register: matrix_client_element_support_files_result | |||
| - name: Ensure Element Web nginx.conf file is removed | |||
| ansible.builtin.file: | |||
| @@ -126,3 +129,15 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-client-element.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-element.service" | |||
| mode: 0644 | |||
| register: matrix_client_element_systemd_service_result | |||
| - name: Determine whether Element Web needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_client_element_restart_necessary: >- | |||
| {{ | |||
| matrix_client_element_config_result.changed | default(false) | |||
| or matrix_client_element_config_map_style_result.changed | default(false) | |||
| or matrix_client_element_support_files_result.changed | default(false) | |||
| or matrix_client_element_systemd_service_result.changed | default(false) | |||
| or matrix_client_element_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -152,3 +152,13 @@ matrix_client_fluffychat_self_check_validate_certificates: true | |||
| # Controls the default homeserver domain (not URL) used in the FluffyChat Web configuration. | |||
| matrix_client_fluffychat_config_defaultHomeserver: ~ | |||
| # matrix_client_fluffychat_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_client_fluffychat_restart_necessary: false | |||
| @@ -24,10 +24,10 @@ | |||
| force_source: "{{ matrix_client_fluffychat_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_client_fluffychat_docker_image_force_pull }}" | |||
| when: "not matrix_client_fluffychat_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_client_fluffychat_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_client_fluffychat_container_image_pull_result is not failed | |||
| - when: "matrix_client_fluffychat_container_image_self_build | bool" | |||
| block: | |||
| @@ -61,6 +61,7 @@ | |||
| - {src: "{{ role_path }}/templates/labels.j2", dest: "{{ matrix_client_fluffychat_base_path }}/labels"} | |||
| - {src: "{{ role_path }}/templates/config.json.j2", dest: "{{ matrix_client_fluffychat_config_path }}/config.json"} | |||
| when: "item.src is not none" | |||
| register: matrix_client_fluffychat_config_result | |||
| - name: Ensure FluffyChat Web container network is created | |||
| community.general.docker_network: | |||
| @@ -74,3 +75,13 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-client-fluffychat.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-fluffychat.service" | |||
| mode: 0644 | |||
| register: matrix_client_fluffychat_systemd_service_result | |||
| - name: Determine whether FluffyChat Web needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_client_fluffychat_restart_necessary: >- | |||
| {{ | |||
| matrix_client_fluffychat_config_result.changed | default(false) | |||
| or matrix_client_fluffychat_systemd_service_result.changed | default(false) | |||
| or matrix_client_fluffychat_container_image_pull_result.changed | default(false) | |||
| }} | |||
| @@ -317,3 +317,13 @@ matrix_client_schildichat_location_sharing_map_style_content_sources_localsource | |||
| # matrix_client_schildichat_location_sharing_map_style_content_sources_localsource_attribution: "© <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors" | |||
| # Leave blank, if map does not require attribution. | |||
| matrix_client_schildichat_location_sharing_map_style_content_sources_localsource_attribution: "" | |||
| # matrix_client_schildichat_restart_necessary controls whether the service | |||
| # will be restarted (when true) or merely started (when false) by the | |||
| # systemd service manager role (when conditional restart is enabled). | |||
| # | |||
| # This value is automatically computed during installation based on whether | |||
| # any configuration files, the systemd service file, or the container image changed. | |||
| # The default of `false` means "no restart needed" — appropriate when the role's | |||
| # installation tasks haven't run (e.g., due to --tags skipping them). | |||
| matrix_client_schildichat_restart_necessary: false | |||
| @@ -27,10 +27,10 @@ | |||
| force_source: "{{ matrix_client_schildichat_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_client_schildichat_docker_image_force_pull }}" | |||
| when: "not matrix_client_schildichat_container_image_self_build | bool" | |||
| register: result | |||
| register: matrix_client_schildichat_container_image_pull_result | |||
| retries: "{{ devture_playbook_help_container_retries_count }}" | |||
| delay: "{{ devture_playbook_help_container_retries_delay }}" | |||
| until: result is not failed | |||
| until: matrix_client_schildichat_container_image_pull_result is not failed | |||
| - when: "matrix_client_schildichat_container_image_self_build | bool" | |||
| block: | |||
| @@ -74,6 +74,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_client_schildichat_config_result | |||
| - name: Ensure SchildiChat location sharing map style installed | |||
| when: matrix_client_schildichat_location_sharing_enabled | bool | |||
| @@ -83,6 +84,7 @@ | |||
| mode: 0644 | |||
| owner: "{{ matrix_user_name }}" | |||
| group: "{{ matrix_group_name }}" | |||
| register: matrix_client_schildichat_config_map_style_result | |||
| - name: Ensure SchildiChat Web config files installed | |||
| ansible.builtin.template: | |||
| @@ -96,6 +98,7 @@ | |||
| - {src: "{{ matrix_client_schildichat_page_template_welcome_path }}", name: "welcome.html"} | |||
| - {src: "{{ matrix_client_schildichat_embedded_pages_home_path }}", name: "home.html"} | |||
| when: "item.src is not none" | |||
| register: matrix_client_schildichat_support_files_result | |||
| - name: Ensure SchildiChat Web config files removed | |||
| ansible.builtin.file: | |||
| @@ -117,3 +120,15 @@ | |||
| src: "{{ role_path }}/templates/systemd/matrix-client-schildichat.service.j2" | |||
| dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-client-schildichat.service" | |||
| mode: 0644 | |||
| register: matrix_client_schildichat_systemd_service_result | |||
| - name: Determine whether SchildiChat Web needs a restart | |||
| ansible.builtin.set_fact: | |||
| matrix_client_schildichat_restart_necessary: >- | |||
| {{ | |||
| matrix_client_schildichat_config_result.changed | default(false) | |||
| or matrix_client_schildichat_config_map_style_result.changed | default(false) | |||
| or matrix_client_schildichat_support_files_result.changed | default(false) | |||
| or matrix_client_schildichat_systemd_service_result.changed | default(false) | |||
| or matrix_client_schildichat_container_image_pull_result.changed | default(false) | |||
| }} | |||