This mostly fixes `key-order` warnings around `block` statements.pull/2136/head
| @@ -9,5 +9,8 @@ skip_list: | |||||
| - schema | - schema | ||||
| - command-instead-of-shell | - command-instead-of-shell | ||||
| - role-name | - role-name | ||||
| # We frequently load configuration from a template (into a variable), then merge that with another variable (configuration extension) | |||||
| # before finally dumping it to a file. | |||||
| - template-instead-of-copy | |||||
| offline: false | offline: false | ||||
| @@ -1,6 +1,7 @@ | |||||
| --- | --- | ||||
| - block: | |||||
| - when: matrix_backup_borg_postgresql_enabled | bool and matrix_backup_borg_version == '' | |||||
| block: | |||||
| - name: Fail with matrix_backup_borg_version advice if Postgres not enabled | - name: Fail with matrix_backup_borg_version advice if Postgres not enabled | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -20,7 +21,6 @@ | |||||
| - name: Set the correct borg backup version to use | - name: Set the correct borg backup version to use | ||||
| ansible.builtin.set_fact: | ansible.builtin.set_fact: | ||||
| matrix_backup_borg_version: "{{ matrix_postgres_detected_version }}" | matrix_backup_borg_version: "{{ matrix_postgres_detected_version }}" | ||||
| when: matrix_backup_borg_postgresql_enabled | bool and matrix_backup_borg_version == '' | |||||
| - name: Ensure borg paths exist | - name: Ensure borg paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -134,7 +134,7 @@ matrix_host_command_openssl: "/usr/bin/env openssl" | |||||
| matrix_host_command_systemctl: "/usr/bin/env systemctl" | matrix_host_command_systemctl: "/usr/bin/env systemctl" | ||||
| matrix_host_command_sh: "/usr/bin/env sh" | matrix_host_command_sh: "/usr/bin/env sh" | ||||
| matrix_ntpd_package: "{{ 'systemd-timesyncd' if (ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 7) or (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version | int > 18) else ('systemd' if ansible_os_family == 'Suse' else 'ntp') }}" | |||||
| matrix_ntpd_package: "{{ 'systemd-timesyncd' if (ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 7) or (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version | int > 18) else ('systemd' if ansible_os_family == 'Suse' else 'ntp') }}" | |||||
| matrix_ntpd_service: "{{ 'systemd-timesyncd' if (ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 7) or (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version | int > 18) or ansible_distribution == 'Archlinux' or ansible_os_family == 'Suse' else ('ntpd' if ansible_os_family == 'RedHat' else 'ntp') }}" | matrix_ntpd_service: "{{ 'systemd-timesyncd' if (ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 7) or (ansible_distribution == 'Ubuntu' and ansible_distribution_major_version | int > 18) or ansible_distribution == 'Archlinux' or ansible_os_family == 'Suse' else ('ntpd' if ansible_os_family == 'RedHat' else 'ntp') }}" | ||||
| matrix_homeserver_url: "https://{{ matrix_server_fqn_matrix }}" | matrix_homeserver_url: "https://{{ matrix_server_fqn_matrix }}" | ||||
| @@ -9,7 +9,8 @@ | |||||
| - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_fedora.yml" | - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_fedora.yml" | ||||
| when: ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 30 | when: ansible_os_family == 'RedHat' and ansible_distribution_major_version | int > 30 | ||||
| - block: | |||||
| - when: ansible_os_family == 'Debian' | |||||
| block: | |||||
| # ansible_lsb is only available if lsb-release is installed. | # ansible_lsb is only available if lsb-release is installed. | ||||
| - name: Ensure lsb-release installed | - name: Ensure lsb-release installed | ||||
| ansible.builtin.apt: | ansible.builtin.apt: | ||||
| @@ -28,7 +29,6 @@ | |||||
| - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_raspbian.yml" | - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_raspbian.yml" | ||||
| when: (ansible_os_family == 'Debian') and (ansible_lsb.id == 'Raspbian') | when: (ansible_os_family == 'Debian') and (ansible_lsb.id == 'Raspbian') | ||||
| when: ansible_os_family == 'Debian' | |||||
| - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_archlinux.yml" | - ansible.builtin.include_tasks: "{{ role_path }}/tasks/server_base/setup_archlinux.yml" | ||||
| when: ansible_distribution == 'Archlinux' | when: ansible_distribution == 'Archlinux' | ||||
| @@ -39,7 +39,7 @@ | |||||
| state: started | state: started | ||||
| enabled: true | enabled: true | ||||
| - name: "Ensure {{ matrix_ntpd_service }} is started and autoruns" | |||||
| - name: "Ensure ntpd is started and autoruns" | |||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: "{{ matrix_ntpd_service }}" | name: "{{ matrix_ntpd_service }}" | ||||
| state: started | state: started | ||||
| @@ -2,13 +2,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_buscarron_requires_restart: false | matrix_bot_buscarron_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_bot_buscarron_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_bot_buscarron_sqlite_database_path_local }}" | path: "{{ matrix_bot_buscarron_sqlite_database_path_local }}" | ||||
| register: matrix_bot_buscarron_sqlite_database_path_local_stat_result | register: matrix_bot_buscarron_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_bot_buscarron_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_bot_buscarron_sqlite_database_path_local }}" | src: "{{ matrix_bot_buscarron_sqlite_database_path_local }}" | ||||
| @@ -24,8 +26,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_buscarron_requires_restart: true | matrix_bot_buscarron_requires_restart: true | ||||
| when: "matrix_bot_buscarron_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_bot_buscarron_database_engine == 'postgres'" | |||||
| - name: Ensure buscarron paths exist | - name: Ensure buscarron paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -2,13 +2,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_honoroit_requires_restart: false | matrix_bot_honoroit_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_bot_honoroit_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_bot_honoroit_sqlite_database_path_local }}" | path: "{{ matrix_bot_honoroit_sqlite_database_path_local }}" | ||||
| register: matrix_bot_honoroit_sqlite_database_path_local_stat_result | register: matrix_bot_honoroit_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_bot_honoroit_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_bot_honoroit_sqlite_database_path_local }}" | src: "{{ matrix_bot_honoroit_sqlite_database_path_local }}" | ||||
| @@ -24,8 +26,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_honoroit_requires_restart: true | matrix_bot_honoroit_requires_restart: true | ||||
| when: "matrix_bot_honoroit_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_bot_honoroit_database_engine == 'postgres'" | |||||
| - name: Ensure honoroit paths exist | - name: Ensure honoroit paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -3,13 +3,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_matrix_reminder_bot_requires_restart: false | matrix_bot_matrix_reminder_bot_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_bot_matrix_reminder_bot_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}" | path: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}" | ||||
| register: matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result | register: matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}" | src: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}" | ||||
| @@ -25,8 +27,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_matrix_reminder_bot_requires_restart: true | matrix_bot_matrix_reminder_bot_requires_restart: true | ||||
| when: "matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_bot_matrix_reminder_bot_database_engine == 'postgres'" | |||||
| - name: Ensure matrix-reminder-bot paths exist | - name: Ensure matrix-reminder-bot paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -1,11 +1,13 @@ | |||||
| --- | --- | ||||
| - block: | |||||
| - when: "matrix_bot_postmoogle_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_bot_postmoogle_sqlite_database_path_local }}" | path: "{{ matrix_bot_postmoogle_sqlite_database_path_local }}" | ||||
| register: matrix_bot_postmoogle_sqlite_database_path_local_stat_result | register: matrix_bot_postmoogle_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_bot_postmoogle_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_bot_postmoogle_sqlite_database_path_local }}" | src: "{{ matrix_bot_postmoogle_sqlite_database_path_local }}" | ||||
| @@ -21,8 +23,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_bot_postmoogle_requires_restart: true | matrix_bot_postmoogle_requires_restart: true | ||||
| when: "matrix_bot_postmoogle_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_bot_postmoogle_database_engine == 'postgres'" | |||||
| - name: Ensure postmoogle paths exist | - name: Ensure postmoogle paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -3,13 +3,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_discord_requires_restart: false | matrix_appservice_discord_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_appservice_discord_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_appservice_discord_sqlite_database_path_local }}" | path: "{{ matrix_appservice_discord_sqlite_database_path_local }}" | ||||
| register: matrix_appservice_discord_sqlite_database_path_local_stat_result | register: matrix_appservice_discord_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_appservice_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_appservice_discord_sqlite_database_path_local }}" | src: "{{ matrix_appservice_discord_sqlite_database_path_local }}" | ||||
| @@ -25,8 +27,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_discord_requires_restart: true | matrix_appservice_discord_requires_restart: true | ||||
| when: "matrix_appservice_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_appservice_discord_database_engine == 'postgres'" | |||||
| - name: Ensure Appservice Discord image is pulled | - name: Ensure Appservice Discord image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -21,7 +21,8 @@ | |||||
| path: "{{ matrix_appservice_irc_base_path }}/passkey.pem" | path: "{{ matrix_appservice_irc_base_path }}/passkey.pem" | ||||
| register: matrix_appservice_irc_stat_passkey | register: matrix_appservice_irc_stat_passkey | ||||
| - block: | |||||
| - when: "matrix_appservice_irc_stat_passkey.stat.exists" | |||||
| block: | |||||
| - name: (Data relocation) Ensure matrix-appservice-irc.service is stopped | - name: (Data relocation) Ensure matrix-appservice-irc.service is stopped | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: matrix-appservice-irc | name: matrix-appservice-irc | ||||
| @@ -44,24 +45,23 @@ | |||||
| - rooms.db | - rooms.db | ||||
| - users.db | - users.db | ||||
| failed_when: false | failed_when: false | ||||
| when: "matrix_appservice_irc_stat_passkey.stat.exists" | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_irc_requires_restart: false | matrix_appservice_irc_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_appservice_irc_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if a nedb database already exists | - name: Check if a nedb database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_appservice_irc_data_path }}/users.db" | path: "{{ matrix_appservice_irc_data_path }}/users.db" | ||||
| register: matrix_appservice_irc_nedb_database_path_local_stat_result | register: matrix_appservice_irc_nedb_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_appservice_irc_nedb_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.import_tasks: "{{ role_path }}/tasks/migrate_nedb_to_postgres.yml" | - ansible.builtin.import_tasks: "{{ role_path }}/tasks/migrate_nedb_to_postgres.yml" | ||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_irc_requires_restart: true | matrix_appservice_irc_requires_restart: true | ||||
| when: "matrix_appservice_irc_nedb_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_appservice_irc_database_engine == 'postgres'" | |||||
| - name: Ensure Appservice IRC image is pulled | - name: Ensure Appservice IRC image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -43,7 +43,10 @@ | |||||
| The matrix-bridge-appservice-slack role needs to execute before the matrix-synapse role. | The matrix-bridge-appservice-slack role needs to execute before the matrix-synapse role. | ||||
| when: "matrix_synapse_role_executed | default(False)" | when: "matrix_synapse_role_executed | default(False)" | ||||
| - block: | |||||
| - when: matrix_appservice_slack_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -76,9 +79,6 @@ | |||||
| + | + | ||||
| [matrix_appservice_slack_matrix_nginx_proxy_configuration] | [matrix_appservice_slack_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_appservice_slack_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -17,19 +17,19 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_slack_requires_restart: false | matrix_appservice_slack_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_appservice_slack_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if a nedb database already exists | - name: Check if a nedb database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_appservice_slack_data_path }}/teams.db" | path: "{{ matrix_appservice_slack_data_path }}/teams.db" | ||||
| register: matrix_appservice_slack_nedb_database_path_local_stat_result | register: matrix_appservice_slack_nedb_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_appservice_slack_nedb_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.import_tasks: "{{ role_path }}/tasks/migrate_nedb_to_postgres.yml" | - ansible.builtin.import_tasks: "{{ role_path }}/tasks/migrate_nedb_to_postgres.yml" | ||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_appservice_slack_requires_restart: true | matrix_appservice_slack_requires_restart: true | ||||
| when: "matrix_appservice_slack_nedb_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_appservice_slack_database_engine == 'postgres'" | |||||
| - name: Ensure Appservice Slack image is pulled | - name: Ensure Appservice Slack image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -36,7 +36,10 @@ | |||||
| The matrix-bridge-appservice-webhooks role needs to execute before the matrix-synapse role. | The matrix-bridge-appservice-webhooks role needs to execute before the matrix-synapse role. | ||||
| when: "matrix_synapse_role_executed | default(False)" | when: "matrix_synapse_role_executed | default(False)" | ||||
| - block: | |||||
| - when: matrix_appservice_webhooks_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -71,9 +74,6 @@ | |||||
| + | + | ||||
| [matrix_appservice_webhooks_matrix_nginx_proxy_configuration] | [matrix_appservice_webhooks_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_appservice_webhooks_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -26,7 +26,8 @@ | |||||
| delay: "{{ matrix_container_retries_delay }}" | delay: "{{ matrix_container_retries_delay }}" | ||||
| until: result is not failed | until: result is not failed | ||||
| - block: | |||||
| - when: "matrix_appservice_webhooks_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure Appservice webhooks repository is present on self-build | - name: Ensure Appservice webhooks repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_appservice_webhooks_container_image_self_build_repo }}" | repo: "{{ matrix_appservice_webhooks_container_image_self_build_repo }}" | ||||
| @@ -47,7 +48,6 @@ | |||||
| dockerfile: "{{ matrix_appservice_webhooks_container_image_self_build_repo_dockerfile_path }}" | dockerfile: "{{ matrix_appservice_webhooks_container_image_self_build_repo_dockerfile_path }}" | ||||
| path: "{{ matrix_appservice_webhooks_docker_src_files_path }}" | path: "{{ matrix_appservice_webhooks_docker_src_files_path }}" | ||||
| pull: true | pull: true | ||||
| when: "matrix_appservice_webhooks_container_image_self_build | bool" | |||||
| - name: Ensure Matrix Appservice webhooks config is installed | - name: Ensure Matrix Appservice webhooks config is installed | ||||
| ansible.builtin.copy: | ansible.builtin.copy: | ||||
| @@ -34,7 +34,8 @@ | |||||
| delay: "{{ matrix_container_retries_delay }}" | delay: "{{ matrix_container_retries_delay }}" | ||||
| until: result is not failed | until: result is not failed | ||||
| - block: | |||||
| - when: "matrix_beeper_linkedin_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure Beeper LinkedIn repository is present on self-build | - name: Ensure Beeper LinkedIn repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_beeper_linkedin_container_image_self_build_repo }}" | repo: "{{ matrix_beeper_linkedin_container_image_self_build_repo }}" | ||||
| @@ -72,7 +73,6 @@ | |||||
| pull: true | pull: true | ||||
| args: | args: | ||||
| TARGETARCH: "{{ matrix_architecture }}" | TARGETARCH: "{{ matrix_architecture }}" | ||||
| when: "matrix_beeper_linkedin_container_image_self_build | bool" | |||||
| - name: Ensure beeper-linkedin config.yaml installed | - name: Ensure beeper-linkedin config.yaml installed | ||||
| ansible.builtin.copy: | ansible.builtin.copy: | ||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_go_skype_bridge_requires_restart: false | matrix_go_skype_bridge_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_go_skype_bridge_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" | path: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" | ||||
| register: matrix_go_skype_bridge_sqlite_database_path_local_stat_result | register: matrix_go_skype_bridge_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_go_skype_bridge_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" | src: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" | ||||
| @@ -34,9 +36,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_go_skype_bridge_requires_restart: true | matrix_go_skype_bridge_requires_restart: true | ||||
| when: "matrix_go_skype_bridge_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_go_skype_bridge_database_engine == 'postgres'" | |||||
| - name: Ensure Go Skype Bridge paths exists | - name: Ensure Go Skype Bridge paths exists | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -28,7 +28,8 @@ | |||||
| }} | }} | ||||
| when: matrix_hookshot_enabled | bool | when: matrix_hookshot_enabled | bool | ||||
| - block: | |||||
| - when: matrix_hookshot_enabled | bool | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -128,7 +129,6 @@ | |||||
| [matrix_hookshot_matrix_nginx_proxy_metrics_configuration_matrix_domain] | [matrix_hookshot_matrix_nginx_proxy_metrics_configuration_matrix_domain] | ||||
| }} | }} | ||||
| when: matrix_hookshot_metrics_enabled | bool and matrix_hookshot_metrics_proxying_enabled | bool | when: matrix_hookshot_metrics_enabled | bool and matrix_hookshot_metrics_proxying_enabled | bool | ||||
| when: matrix_hookshot_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_discord_requires_restart: false | matrix_mautrix_discord_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_discord_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_discord_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_discord_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_discord_sqlite_database_path_local_stat_result | register: matrix_mautrix_discord_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_discord_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_discord_sqlite_database_path_local }}" | ||||
| @@ -34,9 +36,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_discord_requires_restart: true | matrix_mautrix_discord_requires_restart: true | ||||
| when: "matrix_mautrix_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_discord_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix Discord paths exists | - name: Ensure Mautrix Discord paths exists | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mautrix_facebook_enabled | bool | when: matrix_mautrix_facebook_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mautrix_facebook_enabled | bool and matrix_mautrix_facebook_appservice_public_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -70,7 +73,3 @@ | |||||
| URL endpoint to the matrix-mautrix-facebook container. | URL endpoint to the matrix-mautrix-facebook container. | ||||
| You can expose the container's port using the `matrix_mautrix_facebook_container_http_host_bind_port` variable. | You can expose the container's port using the `matrix_mautrix_facebook_container_http_host_bind_port` variable. | ||||
| when: "not matrix_nginx_proxy_enabled | default(False) | bool" | when: "not matrix_nginx_proxy_enabled | default(False) | bool" | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mautrix_facebook_enabled | bool and matrix_mautrix_facebook_appservice_public_enabled | bool | |||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_facebook_requires_restart: false | matrix_mautrix_facebook_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_facebook_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_facebook_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_facebook_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_facebook_sqlite_database_path_local_stat_result | register: matrix_mautrix_facebook_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_facebook_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_facebook_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_facebook_sqlite_database_path_local }}" | ||||
| @@ -33,8 +35,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_facebook_requires_restart: true | matrix_mautrix_facebook_requires_restart: true | ||||
| when: "matrix_mautrix_facebook_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_facebook_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix Facebook image is pulled | - name: Ensure Mautrix Facebook image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -10,7 +10,8 @@ | |||||
| - "matrix_mautrix_facebook_appservice_token" | - "matrix_mautrix_facebook_appservice_token" | ||||
| - "matrix_mautrix_facebook_homeserver_token" | - "matrix_mautrix_facebook_homeserver_token" | ||||
| - block: | |||||
| - when: "matrix_mautrix_facebook_database_engine == 'sqlite' and matrix_mautrix_facebook_docker_image.endswith(':da1b4ec596e334325a1589e70829dea46e73064b')" | |||||
| block: | |||||
| - name: Inject warning if on an old SQLite-supporting version | - name: Inject warning if on an old SQLite-supporting version | ||||
| ansible.builtin.set_fact: | ansible.builtin.set_fact: | ||||
| matrix_playbook_runtime_results: | | matrix_playbook_runtime_results: | | ||||
| @@ -21,4 +22,3 @@ | |||||
| "NOTE: Your mautrix-facebook bridge is still on SQLite and on the last version that supported it, before support was dropped. Support has been subsequently re-added in v0.3.2, so we advise you to upgrade (by removing your `matrix_mautrix_facebook_docker_image` definition from vars.yml)" | "NOTE: Your mautrix-facebook bridge is still on SQLite and on the last version that supported it, before support was dropped. Support has been subsequently re-added in v0.3.2, so we advise you to upgrade (by removing your `matrix_mautrix_facebook_docker_image` definition from vars.yml)" | ||||
| ] | ] | ||||
| }} | }} | ||||
| when: "matrix_mautrix_facebook_database_engine == 'sqlite' and matrix_mautrix_facebook_docker_image.endswith(':da1b4ec596e334325a1589e70829dea46e73064b')" | |||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mautrix_googlechat_enabled | bool | when: matrix_mautrix_googlechat_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mautrix_googlechat_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -59,9 +62,6 @@ | |||||
| + | + | ||||
| [matrix_mautrix_googlechat_matrix_nginx_proxy_configuration] | [matrix_mautrix_googlechat_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mautrix_googlechat_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_googlechat_requires_restart: false | matrix_mautrix_googlechat_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_googlechat_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_googlechat_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_googlechat_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_googlechat_sqlite_database_path_local_stat_result | register: matrix_mautrix_googlechat_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_googlechat_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_googlechat_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_googlechat_sqlite_database_path_local }}" | ||||
| @@ -33,8 +35,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_googlechat_requires_restart: true | matrix_mautrix_googlechat_requires_restart: true | ||||
| when: "matrix_mautrix_googlechat_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_googlechat_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix googlechat image is pulled | - name: Ensure Mautrix googlechat image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mautrix_hangouts_enabled | bool | when: matrix_mautrix_hangouts_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mautrix_hangouts_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -59,9 +62,6 @@ | |||||
| + | + | ||||
| [matrix_mautrix_hangouts_matrix_nginx_proxy_configuration] | [matrix_mautrix_hangouts_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mautrix_hangouts_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_hangouts_requires_restart: false | matrix_mautrix_hangouts_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_hangouts_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_hangouts_sqlite_database_path_local_stat_result | register: matrix_mautrix_hangouts_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_hangouts_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_hangouts_sqlite_database_path_local }}" | ||||
| @@ -33,8 +35,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_hangouts_requires_restart: true | matrix_mautrix_hangouts_requires_restart: true | ||||
| when: "matrix_mautrix_hangouts_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_hangouts_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix Hangouts image is pulled | - name: Ensure Mautrix Hangouts image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mautrix_telegram_enabled | bool | when: matrix_mautrix_telegram_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mautrix_telegram_enabled | bool and matrix_mautrix_telegram_appservice_public_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -69,7 +72,3 @@ | |||||
| URL endpoint to the matrix-mautrix-telegram container. | URL endpoint to the matrix-mautrix-telegram container. | ||||
| You can expose the container's port using the `matrix_mautrix_telegram_container_http_host_bind_port` variable. | You can expose the container's port using the `matrix_mautrix_telegram_container_http_host_bind_port` variable. | ||||
| when: "not matrix_nginx_proxy_enabled | default(False) | bool" | when: "not matrix_nginx_proxy_enabled | default(False) | bool" | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mautrix_telegram_enabled | bool and matrix_mautrix_telegram_appservice_public_enabled | bool | |||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_telegram_requires_restart: false | matrix_mautrix_telegram_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_telegram_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_telegram_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_telegram_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_telegram_sqlite_database_path_local_stat_result | register: matrix_mautrix_telegram_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_telegram_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_telegram_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_telegram_sqlite_database_path_local }}" | ||||
| @@ -33,8 +35,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_telegram_requires_restart: true | matrix_mautrix_telegram_requires_restart: true | ||||
| when: "matrix_mautrix_telegram_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_telegram_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix Telegram paths exist | - name: Ensure Mautrix Telegram paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -11,13 +11,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_whatsapp_requires_restart: false | matrix_mautrix_whatsapp_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mautrix_whatsapp_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mautrix_whatsapp_sqlite_database_path_local }}" | path: "{{ matrix_mautrix_whatsapp_sqlite_database_path_local }}" | ||||
| register: matrix_mautrix_whatsapp_sqlite_database_path_local_stat_result | register: matrix_mautrix_whatsapp_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mautrix_whatsapp_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mautrix_whatsapp_sqlite_database_path_local }}" | src: "{{ matrix_mautrix_whatsapp_sqlite_database_path_local }}" | ||||
| @@ -34,9 +36,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mautrix_whatsapp_requires_restart: true | matrix_mautrix_whatsapp_requires_restart: true | ||||
| when: "matrix_mautrix_whatsapp_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mautrix_whatsapp_database_engine == 'postgres'" | |||||
| - name: Ensure Mautrix Whatsapp paths exists | - name: Ensure Mautrix Whatsapp paths exists | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -27,7 +27,8 @@ | |||||
| path: "{{ matrix_mx_puppet_discord_base_path }}/database.db" | path: "{{ matrix_mx_puppet_discord_base_path }}/database.db" | ||||
| register: matrix_mx_puppet_discord_stat_database | register: matrix_mx_puppet_discord_stat_database | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_discord_stat_database.stat.exists" | |||||
| block: | |||||
| - name: (Data relocation) Ensure matrix-mx-puppet-discord.service is stopped | - name: (Data relocation) Ensure matrix-mx-puppet-discord.service is stopped | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: matrix-mx-puppet-discord | name: matrix-mx-puppet-discord | ||||
| @@ -40,18 +41,19 @@ | |||||
| cmd: "mv {{ matrix_mx_puppet_discord_base_path }}/database.db {{ matrix_mx_puppet_discord_data_path }}/database.db" | cmd: "mv {{ matrix_mx_puppet_discord_base_path }}/database.db {{ matrix_mx_puppet_discord_data_path }}/database.db" | ||||
| register: matrix_mx_puppet_discord_relocate_database_result | register: matrix_mx_puppet_discord_relocate_database_result | ||||
| changed_when: matrix_mx_puppet_discord_relocate_database_result.rc == 0 | changed_when: matrix_mx_puppet_discord_relocate_database_result.rc == 0 | ||||
| when: "matrix_mx_puppet_discord_stat_database.stat.exists" | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_discord_requires_restart: false | matrix_mx_puppet_discord_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_discord_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_discord_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_discord_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" | ||||
| @@ -67,8 +69,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_discord_requires_restart: true | matrix_mx_puppet_discord_requires_restart: true | ||||
| when: "matrix_mx_puppet_discord_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_discord_database_engine == 'postgres'" | |||||
| - name: Ensure MX Puppet Discord image is pulled | - name: Ensure MX Puppet Discord image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -43,13 +43,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_groupme_requires_restart: false | matrix_mx_puppet_groupme_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_groupme_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_groupme_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_groupme_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_groupme_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_groupme_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_groupme_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_groupme_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_groupme_sqlite_database_path_local }}" | ||||
| @@ -65,8 +67,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_groupme_requires_restart: true | matrix_mx_puppet_groupme_requires_restart: true | ||||
| when: "matrix_mx_puppet_groupme_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_groupme_database_engine == 'postgres'" | |||||
| - name: Ensure MX Puppet Groupme image is pulled | - name: Ensure MX Puppet Groupme image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -12,13 +12,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_instagram_requires_restart: false | matrix_mx_puppet_instagram_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_instagram_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" | ||||
| @@ -34,8 +36,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_instagram_requires_restart: true | matrix_mx_puppet_instagram_requires_restart: true | ||||
| when: "matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_instagram_database_engine == 'postgres'" | |||||
| - name: Ensure mx-puppet-instagram image is pulled | - name: Ensure mx-puppet-instagram image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mx_puppet_slack_enabled | bool | when: matrix_mx_puppet_slack_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mx_puppet_slack_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -60,9 +63,6 @@ | |||||
| + | + | ||||
| [matrix_mx_puppet_slack_matrix_nginx_proxy_configuration] | [matrix_mx_puppet_slack_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mx_puppet_slack_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -39,13 +39,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_slack_requires_restart: false | matrix_mx_puppet_slack_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_slack_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_slack_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_slack_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_slack_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" | ||||
| @@ -61,8 +63,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_slack_requires_restart: true | matrix_mx_puppet_slack_requires_restart: true | ||||
| when: "matrix_mx_puppet_slack_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_slack_database_engine == 'postgres'" | |||||
| - name: Ensure MX Puppet Slack image is pulled | - name: Ensure MX Puppet Slack image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -43,13 +43,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_steam_requires_restart: false | matrix_mx_puppet_steam_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_steam_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_steam_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_steam_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_steam_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_steam_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_steam_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_steam_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_steam_sqlite_database_path_local }}" | ||||
| @@ -65,8 +67,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_steam_requires_restart: true | matrix_mx_puppet_steam_requires_restart: true | ||||
| when: "matrix_mx_puppet_steam_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_steam_database_engine == 'postgres'" | |||||
| - name: Ensure MX Puppet Steam image is pulled | - name: Ensure MX Puppet Steam image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -27,7 +27,10 @@ | |||||
| }} | }} | ||||
| when: matrix_mx_puppet_twitter_enabled | bool | when: matrix_mx_puppet_twitter_enabled | bool | ||||
| - block: | |||||
| - when: matrix_mx_puppet_twitter_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -60,9 +63,6 @@ | |||||
| + | + | ||||
| [matrix_mx_puppet_twitter_matrix_nginx_proxy_configuration] | [matrix_mx_puppet_twitter_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_mx_puppet_twitter_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -43,13 +43,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_twitter_requires_restart: false | matrix_mx_puppet_twitter_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_twitter_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" | path: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" | ||||
| register: matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result | register: matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" | src: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" | ||||
| @@ -65,8 +67,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_mx_puppet_twitter_requires_restart: true | matrix_mx_puppet_twitter_requires_restart: true | ||||
| when: "matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_mx_puppet_twitter_database_engine == 'postgres'" | |||||
| - name: Ensure MX Puppet Twitter image is pulled | - name: Ensure MX Puppet Twitter image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -21,7 +21,10 @@ | |||||
| }} | }} | ||||
| when: matrix_cactus_comments_enabled | bool | when: matrix_cactus_comments_enabled | bool | ||||
| - block: | |||||
| - when: matrix_cactus_comments_enabled | bool and matrix_cactus_comments_serve_client_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -63,7 +66,3 @@ | |||||
| reverse proxy. | reverse proxy. | ||||
| Please make sure that you're proxying client files in {{ matrix_cactus_comments_client_path }} correctly | Please make sure that you're proxying client files in {{ matrix_cactus_comments_client_path }} correctly | ||||
| when: "not matrix_nginx_proxy_enabled | default(False) | bool" | when: "not matrix_nginx_proxy_enabled | default(False) | bool" | ||||
| tags: | |||||
| - always | |||||
| when: matrix_cactus_comments_enabled | bool and matrix_cactus_comments_serve_client_enabled | bool | |||||
| @@ -65,7 +65,8 @@ | |||||
| pull: true | pull: true | ||||
| when: "matrix_cactus_comments_container_image_self_build | bool" | when: "matrix_cactus_comments_container_image_self_build | bool" | ||||
| - block: | |||||
| - when: matrix_cactus_comments_client_local_dir | length == 0 | |||||
| block: | |||||
| - name: Download client binary to local folder | - name: Download client binary to local folder | ||||
| ansible.builtin.get_url: | ansible.builtin.get_url: | ||||
| url: "https://gitlab.com/cactus-comments/cactus-client/-/archive/v{{ matrix_cactus_comments_client_version }}/cactus-client-v{{ matrix_cactus_comments_client_version }}.tar.gz" | url: "https://gitlab.com/cactus-comments/cactus-client/-/archive/v{{ matrix_cactus_comments_client_version }}/cactus-client-v{{ matrix_cactus_comments_client_version }}.tar.gz" | ||||
| @@ -101,9 +102,9 @@ | |||||
| mode: "{{ matrix_cactus_comments_client_file_permissions }}" | mode: "{{ matrix_cactus_comments_client_file_permissions }}" | ||||
| owner: "{{ matrix_user_username }}" | owner: "{{ matrix_user_username }}" | ||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| when: matrix_cactus_comments_client_local_dir | length == 0 | |||||
| - block: | |||||
| - when: matrix_cactus_comments_client_local_dir | length > 0 | |||||
| block: | |||||
| - name: Propagate locally distributed client javascreipt | - name: Propagate locally distributed client javascreipt | ||||
| ansible.builtin.copy: | ansible.builtin.copy: | ||||
| src: "{{ matrix_cactus_comments_client_local_dir }}/src/cactus.js" | src: "{{ matrix_cactus_comments_client_local_dir }}/src/cactus.js" | ||||
| @@ -118,7 +119,6 @@ | |||||
| mode: "{{ matrix_cactus_comments_client_file_permissions }}" | mode: "{{ matrix_cactus_comments_client_file_permissions }}" | ||||
| owner: "{{ matrix_user_username }}" | owner: "{{ matrix_user_username }}" | ||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| when: matrix_cactus_comments_client_local_dir | length > 0 | |||||
| - name: Ensure matrix-cactus-comments.service installed | - name: Ensure matrix-cactus-comments.service installed | ||||
| ansible.builtin.template: | ansible.builtin.template: | ||||
| @@ -4,7 +4,11 @@ | |||||
| # Tasks related to setting up Element themes | # Tasks related to setting up Element themes | ||||
| # | # | ||||
| - block: | |||||
| - when: matrix_client_element_themes_enabled | bool | |||||
| run_once: true | |||||
| delegate_to: 127.0.0.1 | |||||
| become: false | |||||
| block: | |||||
| - name: Ensure Element themes repository is pulled | - name: Ensure Element themes repository is pulled | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_client_element_themes_repository_url }}" | repo: "{{ matrix_client_element_themes_repository_url }}" | ||||
| @@ -29,12 +33,6 @@ | |||||
| matrix_client_element_settingDefaults_custom_themes: "{{ matrix_client_element_settingDefaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming | matrix_client_element_settingDefaults_custom_themes: "{{ matrix_client_element_settingDefaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming | ||||
| with_items: "{{ matrix_client_element_theme_file_contents.results }}" | with_items: "{{ matrix_client_element_theme_file_contents.results }}" | ||||
| run_once: true | |||||
| delegate_to: 127.0.0.1 | |||||
| become: false | |||||
| when: matrix_client_element_themes_enabled | bool | |||||
| # | # | ||||
| # Tasks related to getting rid of Element themes (if it was previously enabled) | # Tasks related to getting rid of Element themes (if it was previously enabled) | ||||
| # | # | ||||
| @@ -34,7 +34,8 @@ | |||||
| delegate_to: 127.0.0.1 | delegate_to: 127.0.0.1 | ||||
| become: false | become: false | ||||
| - block: | |||||
| - when: "ansible_distribution != 'Archlinux'" | |||||
| block: | |||||
| - name: Populate service facts | - name: Populate service facts | ||||
| ansible.builtin.service_facts: | ansible.builtin.service_facts: | ||||
| @@ -50,9 +51,9 @@ | |||||
| with_items: "{{ matrix_systemd_services_list }}" | with_items: "{{ matrix_systemd_services_list }}" | ||||
| when: | when: | ||||
| - "item.endswith('.service') and (ansible_facts.services[item] | default(none) is none or ansible_facts.services[item].state != 'running')" | - "item.endswith('.service') and (ansible_facts.services[item] | default(none) is none or ansible_facts.services[item].state != 'running')" | ||||
| when: "ansible_distribution != 'Archlinux'" | |||||
| - block: | |||||
| - when: "ansible_distribution == 'Archlinux'" | |||||
| block: | |||||
| # Currently there is a bug in ansible that renders is incompatible with systemd. | # Currently there is a bug in ansible that renders is incompatible with systemd. | ||||
| # service_facts is not collecting the data successfully. | # service_facts is not collecting the data successfully. | ||||
| # Therefore iterating here manually | # Therefore iterating here manually | ||||
| @@ -70,4 +71,3 @@ | |||||
| Try running `systemctl status {{ item.item }}` and `journalctl -fu {{ item.item }}` on the server to investigate. | Try running `systemctl status {{ item.item }}` and `journalctl -fu {{ item.item }}` on the server to investigate. | ||||
| with_items: "{{ systemdstatus.results }}" | with_items: "{{ systemdstatus.results }}" | ||||
| when: "item.status['ActiveState'] != 'active'" | when: "item.status['ActiveState'] != 'active'" | ||||
| when: "ansible_distribution == 'Archlinux'" | |||||
| @@ -29,7 +29,8 @@ | |||||
| delay: "{{ matrix_container_retries_delay }}" | delay: "{{ matrix_container_retries_delay }}" | ||||
| until: result is not failed | until: result is not failed | ||||
| - block: | |||||
| - when: "matrix_coturn_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure Coturn repository is present on self-build | - name: Ensure Coturn repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_coturn_container_image_self_build_repo }}" | repo: "{{ matrix_coturn_container_image_self_build_repo }}" | ||||
| @@ -50,7 +51,6 @@ | |||||
| dockerfile: "{{ matrix_coturn_container_image_self_build_repo_dockerfile_path }}" | dockerfile: "{{ matrix_coturn_container_image_self_build_repo_dockerfile_path }}" | ||||
| path: "{{ matrix_coturn_docker_src_files_path }}" | path: "{{ matrix_coturn_docker_src_files_path }}" | ||||
| pull: true | pull: true | ||||
| when: "matrix_coturn_container_image_self_build | bool" | |||||
| - name: Ensure Coturn configuration path exists | - name: Ensure Coturn configuration path exists | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -3,13 +3,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_dimension_requires_restart: false | matrix_dimension_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_dimension_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_dimension_sqlite_database_path_local }}" | path: "{{ matrix_dimension_sqlite_database_path_local }}" | ||||
| register: matrix_dimension_sqlite_database_path_local_stat_result | register: matrix_dimension_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_dimension_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| # pgloader makes a few columns `smallint`, instead of `boolean`. | # pgloader makes a few columns `smallint`, instead of `boolean`. | ||||
| # We need to fix them up. | # We need to fix them up. | ||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| @@ -67,8 +69,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_dimension_requires_restart: true | matrix_dimension_requires_restart: true | ||||
| when: "matrix_dimension_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_dimension_database_engine == 'postgres'" | |||||
| - name: Ensure Dimension base path exists | - name: Ensure Dimension base path exists | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -4,7 +4,10 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-etherpad.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-etherpad.service'] }}" | ||||
| when: matrix_etherpad_enabled | bool | when: matrix_etherpad_enabled | bool | ||||
| - block: | |||||
| - when: matrix_etherpad_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -49,9 +52,6 @@ | |||||
| + | + | ||||
| [matrix_etherpad_matrix_nginx_proxy_configuration] | [matrix_etherpad_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_etherpad_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -42,7 +42,8 @@ | |||||
| # We use shell commands for the migration, because the Ansible copy module cannot | # We use shell commands for the migration, because the Ansible copy module cannot | ||||
| # recursively copy remote directories (like `/matrix/mxisd/data/sign.key`) in older versions of Ansible. | # recursively copy remote directories (like `/matrix/mxisd/data/sign.key`) in older versions of Ansible. | ||||
| - block: | |||||
| - when: "ma1sd_migrate_mxisd_data_dir_stat.stat.exists" | |||||
| block: | |||||
| - name: Copy mxisd data files to ma1sd folder | - name: Copy mxisd data files to ma1sd folder | ||||
| ansible.builtin.command: | ansible.builtin.command: | ||||
| cmd: "cp -ar {{ matrix_base_data_path }}/mxisd/data {{ matrix_ma1sd_base_path }}" | cmd: "cp -ar {{ matrix_base_data_path }}/mxisd/data {{ matrix_ma1sd_base_path }}" | ||||
| @@ -66,7 +67,6 @@ | |||||
| cmd: "mv {{ matrix_base_data_path }}/mxisd {{ matrix_base_data_path }}/mxisd.migrated" | cmd: "mv {{ matrix_base_data_path }}/mxisd {{ matrix_base_data_path }}/mxisd.migrated" | ||||
| register: matrix_ma1sd_migrate_mxisd_move_directory_result | register: matrix_ma1sd_migrate_mxisd_move_directory_result | ||||
| changed_when: matrix_ma1sd_migrate_mxisd_move_directory_result.rc == 0 | changed_when: matrix_ma1sd_migrate_mxisd_move_directory_result.rc == 0 | ||||
| when: "ma1sd_migrate_mxisd_data_dir_stat.stat.exists" | |||||
| - name: Ensure outdated matrix-mxisd.service doesn't exist | - name: Ensure outdated matrix-mxisd.service doesn't exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -21,13 +21,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_ma1sd_requires_restart: false | matrix_ma1sd_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_ma1sd_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_ma1sd_sqlite_database_path_local }}" | path: "{{ matrix_ma1sd_sqlite_database_path_local }}" | ||||
| register: matrix_ma1sd_sqlite_database_path_local_stat_result | register: matrix_ma1sd_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_ma1sd_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_ma1sd_sqlite_database_path_local }}" | src: "{{ matrix_ma1sd_sqlite_database_path_local }}" | ||||
| @@ -44,8 +46,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_ma1sd_requires_restart: true | matrix_ma1sd_requires_restart: true | ||||
| when: "matrix_ma1sd_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_ma1sd_database_engine == 'postgres'" | |||||
| - name: Ensure ma1sd image is pulled | - name: Ensure ma1sd image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -59,7 +59,8 @@ | |||||
| delay: "{{ matrix_container_retries_delay }}" | delay: "{{ matrix_container_retries_delay }}" | ||||
| until: result is not failed | until: result is not failed | ||||
| - block: | |||||
| - when: "matrix_ma1sd_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure gradle is installed for self-building (Debian) | - name: Ensure gradle is installed for self-building (Debian) | ||||
| ansible.builtin.apt: | ansible.builtin.apt: | ||||
| name: | name: | ||||
| @@ -111,7 +112,6 @@ | |||||
| repository: "{{ matrix_ma1sd_docker_image }}" | repository: "{{ matrix_ma1sd_docker_image }}" | ||||
| force_tag: true | force_tag: true | ||||
| source: local | source: local | ||||
| when: "matrix_ma1sd_container_image_self_build | bool" | |||||
| - name: Ensure ma1sd config installed | - name: Ensure ma1sd config installed | ||||
| ansible.builtin.copy: | ansible.builtin.copy: | ||||
| @@ -15,7 +15,8 @@ | |||||
| # See: https://docs.ansible.com/ansible/2.3/htpasswd_module.html#requirements-on-host-that-executes-module | # See: https://docs.ansible.com/ansible/2.3/htpasswd_module.html#requirements-on-host-that-executes-module | ||||
| # We support various distros, with various versions of Python. Installing additional Python modules can be a hassle. | # We support various distros, with various versions of Python. Installing additional Python modules can be a hassle. | ||||
| # As a workaround, we run `htpasswd` from an Apache container image. | # As a workaround, we run `htpasswd` from an Apache container image. | ||||
| - block: | |||||
| - when: matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_username != '' | |||||
| block: | |||||
| - name: Ensure Apache Docker image is pulled for generating matrix-metrics-htpasswd from username/password (protecting /metrics/* URIs) | - name: Ensure Apache Docker image is pulled for generating matrix-metrics-htpasswd from username/password (protecting /metrics/* URIs) | ||||
| docker_image: | docker_image: | ||||
| name: "{{ matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_apache_container_image }}" | name: "{{ matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_apache_container_image }}" | ||||
| @@ -57,4 +58,3 @@ | |||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| path: /tmp/matrix-nginx-proxy-metrics-password | path: /tmp/matrix-nginx-proxy-metrics-password | ||||
| state: absent | state: absent | ||||
| when: matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_username != '' | |||||
| @@ -9,7 +9,8 @@ | |||||
| follow_redirects: "{{ matrix_nginx_proxy_self_check_well_known_matrix_client_follow_redirects }}" | follow_redirects: "{{ matrix_nginx_proxy_self_check_well_known_matrix_client_follow_redirects }}" | ||||
| validate_certs: "{{ matrix_nginx_proxy_self_check_validate_certificates }}" | validate_certs: "{{ matrix_nginx_proxy_self_check_validate_certificates }}" | ||||
| - block: | |||||
| - when: matrix_well_known_matrix_server_enabled | bool | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| well_known_file_check_matrix_server: | well_known_file_check_matrix_server: | ||||
| path: /.well-known/matrix/server | path: /.well-known/matrix/server | ||||
| @@ -21,7 +22,6 @@ | |||||
| - name: Determine domains that we require certificates for (ma1sd) | - name: Determine domains that we require certificates for (ma1sd) | ||||
| ansible.builtin.set_fact: | ansible.builtin.set_fact: | ||||
| well_known_file_checks: "{{ well_known_file_checks + [well_known_file_check_matrix_server] }}" | well_known_file_checks: "{{ well_known_file_checks + [well_known_file_check_matrix_server] }}" | ||||
| when: matrix_well_known_matrix_server_enabled | bool | |||||
| - name: Perform well-known checks | - name: Perform well-known checks | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/self_check_well_known_file.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/self_check_well_known_file.yml" | ||||
| @@ -16,7 +16,8 @@ | |||||
| # Tasks related to setting up Let's Encrypt's management of certificates | # Tasks related to setting up Let's Encrypt's management of certificates | ||||
| # | # | ||||
| - block: | |||||
| - when: "matrix_ssl_retrieval_method == 'lets-encrypt'" | |||||
| block: | |||||
| - name: Ensure certbot Docker image is pulled | - name: Ensure certbot Docker image is pulled | ||||
| docker_image: | docker_image: | ||||
| name: "{{ matrix_ssl_lets_encrypt_certbot_docker_image }}" | name: "{{ matrix_ssl_lets_encrypt_certbot_docker_image }}" | ||||
| @@ -43,13 +44,13 @@ | |||||
| mode: 0644 | mode: 0644 | ||||
| when: "item.applicable | bool" | when: "item.applicable | bool" | ||||
| with_items: "{{ matrix_ssl_renewal_systemd_units_list }}" | with_items: "{{ matrix_ssl_renewal_systemd_units_list }}" | ||||
| when: "matrix_ssl_retrieval_method == 'lets-encrypt'" | |||||
| # | # | ||||
| # Tasks related to getting rid of Let's Encrypt's management of certificates | # Tasks related to getting rid of Let's Encrypt's management of certificates | ||||
| # | # | ||||
| - block: | |||||
| - when: "matrix_ssl_retrieval_method != 'lets-encrypt'" | |||||
| block: | |||||
| - name: Ensure matrix-ssl-lets-encrypt-renew cronjob removed | - name: Ensure matrix-ssl-lets-encrypt-renew cronjob removed | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| path: "{{ matrix_systemd_path }}/{{ item.name }}" | path: "{{ matrix_systemd_path }}/{{ item.name }}" | ||||
| @@ -61,4 +62,3 @@ | |||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| path: "{{ matrix_local_bin_path }}/matrix-ssl-lets-encrypt-certificates-renew" | path: "{{ matrix_local_bin_path }}/matrix-ssl-lets-encrypt-certificates-renew" | ||||
| state: absent | state: absent | ||||
| when: "matrix_ssl_retrieval_method != 'lets-encrypt'" | |||||
| @@ -13,7 +13,8 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| domain_name_needs_cert: "{{ not domain_name_certificate_path_stat.stat.exists }}" | domain_name_needs_cert: "{{ not domain_name_certificate_path_stat.stat.exists }}" | ||||
| - block: | |||||
| - when: "domain_name_needs_cert | bool and matrix_ssl_pre_obtaining_required_service_name != ''" | |||||
| block: | |||||
| - name: Ensure required service for obtaining is started | - name: Ensure required service for obtaining is started | ||||
| ansible.builtin.service: | ansible.builtin.service: | ||||
| name: "{{ matrix_ssl_pre_obtaining_required_service_name }}" | name: "{{ matrix_ssl_pre_obtaining_required_service_name }}" | ||||
| @@ -24,7 +25,6 @@ | |||||
| ansible.builtin.wait_for: | ansible.builtin.wait_for: | ||||
| timeout: "{{ matrix_ssl_pre_obtaining_required_service_start_wait_time_seconds }}" | timeout: "{{ matrix_ssl_pre_obtaining_required_service_start_wait_time_seconds }}" | ||||
| when: "matrix_ssl_pre_obtaining_required_service_start_result.changed | bool" | when: "matrix_ssl_pre_obtaining_required_service_start_result.changed | bool" | ||||
| when: "domain_name_needs_cert | bool and matrix_ssl_pre_obtaining_required_service_name != ''" | |||||
| # This will fail if there is something running on port 80 (like matrix-nginx-proxy). | # This will fail if there is something running on port 80 (like matrix-nginx-proxy). | ||||
| # We suppress the error, as we'll try another method below. | # We suppress the error, as we'll try another method below. | ||||
| @@ -35,7 +35,8 @@ | |||||
| - or raw htpasswd content (provided in `matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_raw_content`) | - or raw htpasswd content (provided in `matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_raw_content`) | ||||
| when: "matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_enabled | bool and (matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_raw_content == '' and (matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_username == '' or matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_password == ''))" | when: "matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_enabled | bool and (matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_raw_content == '' and (matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_username == '' or matrix_nginx_proxy_proxy_matrix_metrics_basic_auth_password == ''))" | ||||
| - block: | |||||
| - when: "matrix_ssl_retrieval_method == 'lets-encrypt'" | |||||
| block: | |||||
| - name: (Deprecation) Catch and report renamed settings | - name: (Deprecation) Catch and report renamed settings | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -57,7 +58,6 @@ | |||||
| - "matrix_nginx_proxy_proxy_synapse_client_api_addr_with_container" | - "matrix_nginx_proxy_proxy_synapse_client_api_addr_with_container" | ||||
| - "matrix_nginx_proxy_proxy_synapse_client_api_addr_sans_container" | - "matrix_nginx_proxy_proxy_synapse_client_api_addr_sans_container" | ||||
| when: "vars[item] == '' or vars[item] is none" | when: "vars[item] == '' or vars[item] is none" | ||||
| when: "matrix_ssl_retrieval_method == 'lets-encrypt'" | |||||
| - name: (Deprecation) Catch and report old metrics usage | - name: (Deprecation) Catch and report old metrics usage | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| @@ -78,7 +78,7 @@ matrix_postgres_import_roles_to_ignore: [matrix_postgres_connection_username] | |||||
| # which is unsupported by default by newer Postgres versions (v14+). | # which is unsupported by default by newer Postgres versions (v14+). | ||||
| # When users are created and passwords are set by the playbook, they end up hashed as `scram-sha-256` on Postgres v14+. | # When users are created and passwords are set by the playbook, they end up hashed as `scram-sha-256` on Postgres v14+. | ||||
| # If an md5-hashed password is restored on top, Postgres v14+ will refuse to authenticate users with it by default. | # If an md5-hashed password is restored on top, Postgres v14+ will refuse to authenticate users with it by default. | ||||
| matrix_postgres_import_roles_ignore_regex: "^(CREATE|ALTER) ROLE ({{ matrix_postgres_import_roles_to_ignore | join('|') }})(;| WITH)" # noqa var-spacing | |||||
| matrix_postgres_import_roles_ignore_regex: "^(CREATE|ALTER) ROLE ({{ matrix_postgres_import_roles_to_ignore | join('|') }})(;| WITH)" # noqa jinja[spacing] | |||||
| # A list of databases to avoid creating when importing (or upgrading) the database. | # A list of databases to avoid creating when importing (or upgrading) the database. | ||||
| # If a dump file contains the databases and they've also been created beforehand (see `matrix_postgres_additional_databases`), | # If a dump file contains the databases and they've also been created beforehand (see `matrix_postgres_additional_databases`), | ||||
| @@ -86,7 +86,7 @@ matrix_postgres_import_roles_ignore_regex: "^(CREATE|ALTER) ROLE ({{ matrix_post | |||||
| # We either need to not create them or to ignore the `CREATE DATABASE` statements in the dump. | # We either need to not create them or to ignore the `CREATE DATABASE` statements in the dump. | ||||
| matrix_postgres_import_databases_to_ignore: [matrix_postgres_db_name] | matrix_postgres_import_databases_to_ignore: [matrix_postgres_db_name] | ||||
| matrix_postgres_import_databases_ignore_regex: "^CREATE DATABASE ({{ matrix_postgres_import_databases_to_ignore | join('|') }})\\s" # noqa var-spacing | |||||
| matrix_postgres_import_databases_ignore_regex: "^CREATE DATABASE ({{ matrix_postgres_import_databases_to_ignore | join('|') }})\\s" # noqa jinja[spacing] | |||||
| # The number of seconds to wait after starting `matrix-postgres.service` | # The number of seconds to wait after starting `matrix-postgres.service` | ||||
| # and before trying to run queries for creating additional databases/users against it. | # and before trying to run queries for creating additional databases/users against it. | ||||
| @@ -25,7 +25,8 @@ | |||||
| # We either expect `postgres_db_connection_string` specifying a full Postgres database connection string, | # We either expect `postgres_db_connection_string` specifying a full Postgres database connection string, | ||||
| # or `postgres_connection_string_variable_name`, specifying a name of a variable, which contains a valid connection string. | # or `postgres_connection_string_variable_name`, specifying a name of a variable, which contains a valid connection string. | ||||
| - block: | |||||
| - when: 'postgres_connection_string_variable_name is defined' | |||||
| block: | |||||
| - name: Fail if postgres_connection_string_variable_name points to an undefined variable | - name: Fail if postgres_connection_string_variable_name points to an undefined variable | ||||
| ansible.builtin.fail: msg="postgres_connection_string_variable_name is defined, but there is no variable with the name `{{ postgres_connection_string_variable_name }}`" | ansible.builtin.fail: msg="postgres_connection_string_variable_name is defined, but there is no variable with the name `{{ postgres_connection_string_variable_name }}`" | ||||
| when: "postgres_connection_string_variable_name not in vars" | when: "postgres_connection_string_variable_name not in vars" | ||||
| @@ -33,7 +34,6 @@ | |||||
| - name: Get Postgres connection string from variable | - name: Get Postgres connection string from variable | ||||
| ansible.builtin.set_fact: | ansible.builtin.set_fact: | ||||
| postgres_db_connection_string: "{{ lookup('vars', postgres_connection_string_variable_name) }}" | postgres_db_connection_string: "{{ lookup('vars', postgres_connection_string_variable_name) }}" | ||||
| when: 'postgres_connection_string_variable_name is defined' | |||||
| - name: Fail if playbook called incorrectly | - name: Fail if playbook called incorrectly | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| @@ -31,7 +31,8 @@ | |||||
| msg: "File cannot be found on the server at {{ matrix_postgres_db_migration_request.src }}" | msg: "File cannot be found on the server at {{ matrix_postgres_db_migration_request.src }}" | ||||
| when: "not matrix_postgres_db_migration_request_src_stat_result.stat.exists" | when: "not matrix_postgres_db_migration_request_src_stat_result.stat.exists" | ||||
| - block: | |||||
| - when: "matrix_postgres_pgloader_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure pgloader repository is present on self-build | - name: Ensure pgloader repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_postgres_pgloader_container_image_self_build_repo }}" | repo: "{{ matrix_postgres_pgloader_container_image_self_build_repo }}" | ||||
| @@ -69,7 +70,6 @@ | |||||
| dockerfile: Dockerfile | dockerfile: Dockerfile | ||||
| path: "{{ matrix_postgres_pgloader_container_image_self_build_src_path }}" | path: "{{ matrix_postgres_pgloader_container_image_self_build_src_path }}" | ||||
| pull: true | pull: true | ||||
| when: "matrix_postgres_pgloader_container_image_self_build | bool" | |||||
| - name: Ensure pgloader Docker image is pulled | - name: Ensure pgloader Docker image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -134,7 +134,8 @@ | |||||
| register: matrix_postgres_migrate_db_to_postgres_import_result | register: matrix_postgres_migrate_db_to_postgres_import_result | ||||
| changed_when: matrix_postgres_migrate_db_to_postgres_import_result.rc == 0 | changed_when: matrix_postgres_migrate_db_to_postgres_import_result.rc == 0 | ||||
| - block: | |||||
| - when: "matrix_postgres_db_migration_request.additional_psql_statements_list | default([]) | length > 0" | |||||
| block: | |||||
| - ansible.builtin.import_role: | - ansible.builtin.import_role: | ||||
| name: matrix-postgres | name: matrix-postgres | ||||
| tasks_from: detect_existing_postgres_version | tasks_from: detect_existing_postgres_version | ||||
| @@ -157,8 +158,6 @@ | |||||
| register: matrix_postgres_migrate_db_to_postgres_additional_queries_result | register: matrix_postgres_migrate_db_to_postgres_additional_queries_result | ||||
| changed_when: matrix_postgres_migrate_db_to_postgres_additional_queries_result.rc == 0 | changed_when: matrix_postgres_migrate_db_to_postgres_additional_queries_result.rc == 0 | ||||
| when: "matrix_postgres_db_migration_request.additional_psql_statements_list | default([]) | length > 0" | |||||
| - name: Archive {{ matrix_postgres_db_migration_request.engine_old }} database ({{ matrix_postgres_db_migration_request.src }} -> {{ matrix_postgres_db_migration_request.src }}.backup) | - name: Archive {{ matrix_postgres_db_migration_request.engine_old }} database ({{ matrix_postgres_db_migration_request.src }} -> {{ matrix_postgres_db_migration_request.src }}.backup) | ||||
| ansible.builtin.command: | ansible.builtin.command: | ||||
| cmd: "mv {{ matrix_postgres_db_migration_request.src }} {{ matrix_postgres_db_migration_request.src }}.backup" | cmd: "mv {{ matrix_postgres_db_migration_request.src }} {{ matrix_postgres_db_migration_request.src }}.backup" | ||||
| @@ -52,14 +52,14 @@ | |||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| when: "result_pg_old_data_dir_stat.stat.exists" | when: "result_pg_old_data_dir_stat.stat.exists" | ||||
| - block: | |||||
| - when: "result_pg_old_data_dir_stat.stat.exists" | |||||
| block: | |||||
| - name: Relocate Postgres data files from old directory to new | - name: Relocate Postgres data files from old directory to new | ||||
| ansible.builtin.command: | ansible.builtin.command: | ||||
| cmd: "mv {{ item.path }} {{ matrix_postgres_data_path }}/{{ item.path | basename }}" | cmd: "mv {{ item.path }} {{ matrix_postgres_data_path }}/{{ item.path | basename }}" | ||||
| with_items: "{{ result_pg_old_data_dir_find.files }}" | with_items: "{{ result_pg_old_data_dir_find.files }}" | ||||
| register: matrix_postgres_migrate_postgres_data_directory_move_result | register: matrix_postgres_migrate_postgres_data_directory_move_result | ||||
| changed_when: matrix_postgres_migrate_postgres_data_directory_move_result.rc == 0 | changed_when: matrix_postgres_migrate_postgres_data_directory_move_result.rc == 0 | ||||
| when: "result_pg_old_data_dir_stat.stat.exists" | |||||
| # Intentionally not starting matrix-postgres here. | # Intentionally not starting matrix-postgres here. | ||||
| # It likely needs to be updated to point to the new directory. | # It likely needs to be updated to point to the new directory. | ||||
| @@ -4,7 +4,8 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-prometheus-node-exporter.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-prometheus-node-exporter.service'] }}" | ||||
| when: matrix_prometheus_node_exporter_enabled | bool | when: matrix_prometheus_node_exporter_enabled | bool | ||||
| - block: | |||||
| - when: matrix_prometheus_node_exporter_enabled | bool and matrix_prometheus_node_exporter_metrics_proxying_enabled | bool | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -38,4 +39,3 @@ | |||||
| + | + | ||||
| [matrix_prometheus_node_exporter_nginx_metrics_configuration_block] | [matrix_prometheus_node_exporter_nginx_metrics_configuration_block] | ||||
| }} | }} | ||||
| when: matrix_prometheus_node_exporter_enabled | bool and matrix_prometheus_node_exporter_metrics_proxying_enabled | bool | |||||
| @@ -4,7 +4,8 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-prometheus-postgres-exporter.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-prometheus-postgres-exporter.service'] }}" | ||||
| when: matrix_prometheus_postgres_exporter_enabled | bool | when: matrix_prometheus_postgres_exporter_enabled | bool | ||||
| - block: | |||||
| - when: matrix_prometheus_node_exporter_enabled | bool and matrix_prometheus_node_exporter_metrics_proxying_enabled | bool | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -38,4 +39,3 @@ | |||||
| + | + | ||||
| [matrix_prometheus_postgres_exporter_nginx_metrics_configuration_block] | [matrix_prometheus_postgres_exporter_nginx_metrics_configuration_block] | ||||
| }} | }} | ||||
| when: matrix_prometheus_node_exporter_enabled | bool and matrix_prometheus_node_exporter_metrics_proxying_enabled | bool | |||||
| @@ -10,7 +10,10 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-registration.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-registration.service'] }}" | ||||
| when: matrix_registration_enabled | bool | when: matrix_registration_enabled | bool | ||||
| - block: | |||||
| - when: matrix_registration_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -54,9 +57,6 @@ | |||||
| + | + | ||||
| [matrix_registration_matrix_nginx_proxy_configuration] | [matrix_registration_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_registration_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -3,13 +3,15 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_registration_requires_restart: false | matrix_registration_requires_restart: false | ||||
| - block: | |||||
| - when: "matrix_registration_database_engine == 'postgres'" | |||||
| block: | |||||
| - name: Check if an SQLite database already exists | - name: Check if an SQLite database already exists | ||||
| ansible.builtin.stat: | ansible.builtin.stat: | ||||
| path: "{{ matrix_registration_sqlite_database_path_local }}" | path: "{{ matrix_registration_sqlite_database_path_local }}" | ||||
| register: matrix_registration_sqlite_database_path_local_stat_result | register: matrix_registration_sqlite_database_path_local_stat_result | ||||
| - block: | |||||
| - when: "matrix_registration_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| block: | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_postgres_db_migration_request: | matrix_postgres_db_migration_request: | ||||
| src: "{{ matrix_registration_sqlite_database_path_local }}" | src: "{{ matrix_registration_sqlite_database_path_local }}" | ||||
| @@ -30,8 +32,6 @@ | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_registration_requires_restart: true | matrix_registration_requires_restart: true | ||||
| when: "matrix_registration_sqlite_database_path_local_stat_result.stat.exists | bool" | |||||
| when: "matrix_registration_database_engine == 'postgres'" | |||||
| - name: Ensure matrix-registration paths exist | - name: Ensure matrix-registration paths exist | ||||
| ansible.builtin.file: | ansible.builtin.file: | ||||
| @@ -10,7 +10,10 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-synapse-admin.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-synapse-admin.service'] }}" | ||||
| when: matrix_synapse_admin_enabled | bool | when: matrix_synapse_admin_enabled | bool | ||||
| - block: | |||||
| - when: matrix_synapse_admin_enabled | bool | |||||
| tags: | |||||
| - always | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -45,9 +48,6 @@ | |||||
| + | + | ||||
| [matrix_synapse_admin_matrix_nginx_proxy_configuration] | [matrix_synapse_admin_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| tags: | |||||
| - always | |||||
| when: matrix_synapse_admin_enabled | bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | - name: Warn about reverse-proxying if matrix-nginx-proxy not used | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -26,7 +26,8 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-goofys.service'] }}" | ||||
| when: matrix_s3_media_store_enabled | bool | when: matrix_s3_media_store_enabled | bool | ||||
| - block: | |||||
| - when: matrix_synapse_enabled | bool and matrix_synapse_metrics_proxying_enabled | bool | |||||
| block: | |||||
| - name: Fail if matrix-nginx-proxy role already executed | - name: Fail if matrix-nginx-proxy role already executed | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -84,4 +85,3 @@ | |||||
| [matrix_synapse_worker_nginx_metrics_configuration_block] | [matrix_synapse_worker_nginx_metrics_configuration_block] | ||||
| }} | }} | ||||
| when: matrix_synapse_workers_enabled_list | length > 0 | when: matrix_synapse_workers_enabled_list | length > 0 | ||||
| when: matrix_synapse_enabled | bool and matrix_synapse_metrics_proxying_enabled | bool | |||||
| @@ -85,16 +85,17 @@ | |||||
| # | # | ||||
| # Row 3 contains a space when there's no result. | # Row 3 contains a space when there's no result. | ||||
| - block: | |||||
| - when: "matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.failed or matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.stdout_lines | length != 4" | |||||
| block: | |||||
| - ansible.builtin.debug: var="matrix_synapse_rust_synapse_compress_state_find_rooms_command_result" | - ansible.builtin.debug: var="matrix_synapse_rust_synapse_compress_state_find_rooms_command_result" | ||||
| - name: Fail if room find result is not what we expect | - name: Fail if room find result is not what we expect | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| Expecting 4 lines in the "find rooms" result. | Expecting 4 lines in the "find rooms" result. | ||||
| when: "matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.failed or matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.stdout_lines | length != 4" | |||||
| - block: | |||||
| - when: "matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.stdout_lines[2] != ' '" | |||||
| block: | |||||
| # matrix_synapse_rust_synapse_compress_state_eligible_rooms is a list | # matrix_synapse_rust_synapse_compress_state_eligible_rooms is a list | ||||
| # of dictionaries like this: {'room_id': '!some-id', 'count': 2461329} | # of dictionaries like this: {'room_id': '!some-id', 'count': 2461329} | ||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| @@ -113,7 +114,6 @@ | |||||
| with_items: "{{ matrix_synapse_rust_synapse_compress_state_eligible_rooms }}" | with_items: "{{ matrix_synapse_rust_synapse_compress_state_eligible_rooms }}" | ||||
| loop_control: | loop_control: | ||||
| loop_var: room_details | loop_var: room_details | ||||
| when: "matrix_synapse_rust_synapse_compress_state_find_rooms_command_result.stdout_lines[2] != ' '" | |||||
| - name: Show notice about lack of rooms to compress | - name: Show notice about lack of rooms to compress | ||||
| ansible.builtin.debug: | ansible.builtin.debug: | ||||
| @@ -18,7 +18,8 @@ | |||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| when: "not local_path_media_store_stat.failed and not local_path_media_store_stat.stat.exists" | when: "not local_path_media_store_stat.failed and not local_path_media_store_stat.stat.exists" | ||||
| - block: | |||||
| - when: "matrix_synapse_container_image_self_build | bool" | |||||
| block: | |||||
| - name: Ensure Synapse repository is present on self-build | - name: Ensure Synapse repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_synapse_container_image_self_build_repo }}" | repo: "{{ matrix_synapse_container_image_self_build_repo }}" | ||||
| @@ -48,7 +49,6 @@ | |||||
| environment: | environment: | ||||
| DOCKER_BUILDKIT: 1 | DOCKER_BUILDKIT: 1 | ||||
| when: "matrix_synapse_git_pull_results.changed | bool or matrix_synapse_docker_image_check_result.stdout == ''" | when: "matrix_synapse_git_pull_results.changed | bool or matrix_synapse_docker_image_check_result.stdout == ''" | ||||
| when: "matrix_synapse_container_image_self_build | bool" | |||||
| - name: Ensure Synapse Docker image is pulled | - name: Ensure Synapse Docker image is pulled | ||||
| docker_image: | docker_image: | ||||
| @@ -37,7 +37,8 @@ | |||||
| msg: "Unrecognized Synapse worker `app`: `{{ matrix_synapse_worker_details.app }}`. Supported types are: {{ matrix_synapse_workers_avail_list | join(', ') }}" | msg: "Unrecognized Synapse worker `app`: `{{ matrix_synapse_worker_details.app }}`. Supported types are: {{ matrix_synapse_workers_avail_list | join(', ') }}" | ||||
| when: "matrix_synapse_worker_details.app not in matrix_synapse_workers_avail_list" | when: "matrix_synapse_worker_details.app not in matrix_synapse_workers_avail_list" | ||||
| - block: | |||||
| - when: "matrix_synapse_worker_details.type == 'stream_writer'" | |||||
| block: | |||||
| - name: Fail if stream_writer_stream not defined for stream_writer worker | - name: Fail if stream_writer_stream not defined for stream_writer worker | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: >- | msg: >- | ||||
| @@ -50,7 +51,6 @@ | |||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| msg: "Synapse background workers of type stream_writer (such as {{ item }}) need to define a valid `replication_port` property" | msg: "Synapse background workers of type stream_writer (such as {{ item }}) need to define a valid `replication_port` property" | ||||
| when: "'replication_port' not in matrix_synapse_worker_details" | when: "'replication_port' not in matrix_synapse_worker_details" | ||||
| when: "matrix_synapse_worker_details.type == 'stream_writer'" | |||||
| - ansible.builtin.set_fact: | - ansible.builtin.set_fact: | ||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + [matrix_synapse_worker_details.name + '.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + [matrix_synapse_worker_details.name + '.service'] }}" | ||||
| @@ -34,7 +34,7 @@ matrix_synapse_workers_generic_worker_client_server_endpoints: "{{ matrix_synaps | |||||
| matrix_synapse_workers_generic_worker_federation_endpoints: "{{ matrix_synapse_workers_generic_worker_endpoints | default([]) | map('regex_search', matrix_synapse_workers_generic_worker_federation_endpoints_regex) | list | difference([none]) }}" | matrix_synapse_workers_generic_worker_federation_endpoints: "{{ matrix_synapse_workers_generic_worker_endpoints | default([]) | map('regex_search', matrix_synapse_workers_generic_worker_federation_endpoints_regex) | list | difference([none]) }}" | ||||
| # matrix_synapse_workers_generic_worker_federation_endpoints_regex contains the regex used in matrix_synapse_workers_generic_worker_federation_endpoints. | # matrix_synapse_workers_generic_worker_federation_endpoints_regex contains the regex used in matrix_synapse_workers_generic_worker_federation_endpoints. | ||||
| # It's intentionally put in a separate variable, to avoid tripping ansible-lint's var-spacing rule. | |||||
| # It's intentionally put in a separate variable, to avoid tripping ansible-lint's jinja[spacing] rule. | |||||
| matrix_synapse_workers_generic_worker_federation_endpoints_regex: '.*(/_matrix/federation|/_matrix/key).*' | matrix_synapse_workers_generic_worker_federation_endpoints_regex: '.*(/_matrix/federation|/_matrix/key).*' | ||||
| # matrix_synapse_workers_stream_writer_typing_stream_worker_client_server_endpoints contains the endpoints serviced by the `typing` stream writer. | # matrix_synapse_workers_stream_writer_typing_stream_worker_client_server_endpoints contains the endpoints serviced by the `typing` stream writer. | ||||