Parcourir la source

Rename _docker_ vars to _container_ for kakaotalk, telegram, synapse

These three roles have multiple variable prefixes each:
- kakaotalk: matrix_appservice_kakaotalk + matrix_appservice_kakaotalk_node
- telegram: matrix_mautrix_telegram + matrix_mautrix_telegram_lottieconverter
- synapse: matrix_synapse + matrix_synapse_customized + matrix_synapse_rust_synapse_compress_state

For each: renamed _docker_image* to _container_image* (and _docker_src*,
_docker_repo* where applicable), added deprecation entries in
validate_config.yml, updated group_vars references, and moved
deprecation tasks to the front of validate_config.yml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pull/4945/head
Slavi Pantaleev il y a 2 semaines
Parent
révision
ca2b6b0a27
22 fichiers modifiés avec 257 ajouts et 212 suppressions
  1. +7
    -7
      group_vars/matrix_servers
  2. +11
    -11
      roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml
  3. +12
    -12
      roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml
  4. +21
    -10
      roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml
  5. +1
    -1
      roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2
  6. +1
    -1
      roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2
  7. +15
    -15
      roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml
  8. +14
    -14
      roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml
  9. +36
    -21
      roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml
  10. +1
    -1
      roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2
  11. +29
    -29
      roles/custom/matrix-synapse/defaults/main.yml
  12. +1
    -1
      roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml
  13. +1
    -1
      roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml
  14. +3
    -3
      roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml
  15. +2
    -2
      roles/custom/matrix-synapse/tasks/setup_install.yml
  16. +16
    -16
      roles/custom/matrix-synapse/tasks/synapse/setup_install.yml
  17. +80
    -61
      roles/custom/matrix-synapse/tasks/validate_config.yml
  18. +2
    -2
      roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2
  19. +1
    -1
      roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2
  20. +1
    -1
      roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2
  21. +1
    -1
      roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2
  22. +1
    -1
      roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2

+ 7
- 7
group_vars/matrix_servers Voir le fichier

@@ -1279,9 +1279,9 @@ matrix_appservice_kakaotalk_systemd_required_services_list_auto: |
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_appservice_kakaotalk_database_hostname == postgres_connection_hostname) else [])
}}

matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}"

matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}"

matrix_appservice_kakaotalk_container_network: "{{ matrix_addons_container_network }}"

@@ -1916,9 +1916,9 @@ matrix_mautrix_telegram_systemd_required_services_list_auto: |
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_telegram_database_hostname == postgres_connection_hostname) else [])
}}

matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default }}"

matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_telegram_container_image_registry_prefix_upstream_default }}"

# Images are multi-arch (amd64 and arm64, but not arm32).
matrix_mautrix_telegram_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
@@ -4629,11 +4629,11 @@ matrix_synapse_gid: "{{ matrix_user_gid }}"

matrix_synapse_federation_enabled: "{{ matrix_homeserver_federation_enabled }}"

matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_docker_image_registry_prefix_upstream_default }}"
matrix_synapse_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_container_image_registry_prefix_upstream_default }}"

matrix_s3_goofys_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_s3_goofys_docker_image_registry_prefix_upstream_default }}"

matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default }}"
matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default }}"

matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"

@@ -5336,7 +5336,7 @@ prometheus_config_scrape_configs_auto: |

matrix_prometheus_services_connect_synapse_enabled: "{{ prometheus_enabled and matrix_synapse_enabled }}"

matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_docker_image_tag }}"
matrix_prometheus_services_connect_synapse_rules_download_synapse_tag: "{{ matrix_synapse_container_image_tag }}"
matrix_prometheus_services_connect_synapse_rules_download_dir_path: "{{ prometheus_config_path }}"
matrix_prometheus_services_connect_synapse_rules_download_owner: "{{ prometheus_uid }}"
matrix_prometheus_services_connect_synapse_rules_download_group: "{{ prometheus_gid }}"


+ 11
- 11
roles/custom/matrix-bridge-appservice-kakaotalk/defaults/main.yml Voir le fichier

@@ -35,23 +35,23 @@ matrix_appservice_kakaotalk_container_image_self_build_repo: "https://src.miscwo
matrix_appservice_kakaotalk_container_image_self_build_repo_version: "{{ 'master' if matrix_appservice_kakaotalk_version == 'latest' else matrix_appservice_kakaotalk_version }}"

matrix_appservice_kakaotalk_node_version: "{{ matrix_appservice_kakaotalk_version }}"
matrix_appservice_kakaotalk_node_docker_image: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}"
matrix_appservice_kakaotalk_node_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream }}"
matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default: ""
matrix_appservice_kakaotalk_node_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_node_docker_image.endswith(':latest') }}"
matrix_appservice_kakaotalk_node_container_image: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk-node:{{ matrix_appservice_kakaotalk_node_version }}"
matrix_appservice_kakaotalk_node_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream }}"
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default: ""
matrix_appservice_kakaotalk_node_container_image_force_pull: "{{ matrix_appservice_kakaotalk_node_container_image.endswith(':latest') }}"

matrix_appservice_kakaotalk_version: 86c038fd2ffee5e0aebf65136f085cce7e38b54e
matrix_appservice_kakaotalk_docker_image: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}"
matrix_appservice_kakaotalk_docker_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream }}"
matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default: ""
matrix_appservice_kakaotalk_docker_image_force_pull: "{{ matrix_appservice_kakaotalk_docker_image.endswith(':latest') }}"
matrix_appservice_kakaotalk_container_image: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix }}fair/matrix-appservice-kakaotalk:{{ matrix_appservice_kakaotalk_version }}"
matrix_appservice_kakaotalk_container_image_registry_prefix: "{{ 'localhost/' if matrix_appservice_kakaotalk_container_image_self_build else matrix_appservice_kakaotalk_container_image_registry_prefix_upstream }}"
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream: "{{ matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default }}"
matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default: ""
matrix_appservice_kakaotalk_container_image_force_pull: "{{ matrix_appservice_kakaotalk_container_image.endswith(':latest') }}"

matrix_appservice_kakaotalk_base_path: "{{ matrix_base_data_path }}/appservice-kakaotalk"
matrix_appservice_kakaotalk_config_path: "{{ matrix_appservice_kakaotalk_base_path }}/config"
matrix_appservice_kakaotalk_data_path: "{{ matrix_appservice_kakaotalk_base_path }}/data"
matrix_appservice_kakaotalk_docker_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src"
matrix_appservice_kakaotalk_container_src_files_path: "{{ matrix_appservice_kakaotalk_base_path }}/docker-src"

matrix_appservice_kakaotalk_command_prefix: "!kt"



+ 12
- 12
roles/custom/matrix-bridge-appservice-kakaotalk/tasks/setup_install.yml Voir le fichier

@@ -8,10 +8,10 @@

- name: Ensure matrix-appservice-kakaotalk image is pulled
community.docker.docker_image:
name: "{{ matrix_appservice_kakaotalk_docker_image }}"
name: "{{ matrix_appservice_kakaotalk_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_appservice_kakaotalk_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_docker_image_force_pull }}"
force_source: "{{ matrix_appservice_kakaotalk_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_container_image_force_pull }}"
when: not matrix_appservice_kakaotalk_container_image_self_build
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
@@ -20,10 +20,10 @@

- name: Ensure matrix-appservice-kakaotalk-node image is pulled
community.docker.docker_image:
name: "{{ matrix_appservice_kakaotalk_node_docker_image }}"
name: "{{ matrix_appservice_kakaotalk_node_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_appservice_kakaotalk_node_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_docker_image_force_pull }}"
force_source: "{{ matrix_appservice_kakaotalk_node_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_node_container_image_force_pull }}"
when: not matrix_appservice_kakaotalk_container_image_self_build
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
@@ -41,13 +41,13 @@
- {path: "{{ matrix_appservice_kakaotalk_base_path }}", when: true}
- {path: "{{ matrix_appservice_kakaotalk_config_path }}", when: true}
- {path: "{{ matrix_appservice_kakaotalk_data_path }}", when: true}
- {path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"}
- {path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}", when: "{{ matrix_appservice_kakaotalk_container_image_self_build }}"}
when: item.when | bool

- name: Ensure matrix-appservice-kakaotalk repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo }}"
dest: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}"
dest: "{{ matrix_appservice_kakaotalk_container_src_files_path }}"
version: "{{ matrix_appservice_kakaotalk_container_image_self_build_repo_version }}"
force: "yes"
become: true
@@ -57,25 +57,25 @@

- name: Ensure matrix-appservice-kakaotalk-node Docker image is built
community.docker.docker_image:
name: "{{ matrix_appservice_kakaotalk_node_docker_image }}"
name: "{{ matrix_appservice_kakaotalk_node_container_image }}"
source: build
force_source: "{{ matrix_appservice_kakaotalk_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}/node"
path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}/node"
pull: true
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"

- name: Ensure matrix-appservice-kakaotalk Docker image is built
community.docker.docker_image:
name: "{{ matrix_appservice_kakaotalk_docker_image }}"
name: "{{ matrix_appservice_kakaotalk_container_image }}"
source: build
force_source: "{{ matrix_appservice_kakaotalk_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_appservice_kakaotalk_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_appservice_kakaotalk_docker_src_files_path }}"
path: "{{ matrix_appservice_kakaotalk_container_src_files_path }}"
pull: true
when: "matrix_appservice_kakaotalk_container_image_self_build | bool"



+ 21
- 10
roles/custom/matrix-bridge-appservice-kakaotalk/tasks/validate_config.yml Voir le fichier

@@ -5,6 +5,27 @@

---

- name: (Deprecation) Catch and report renamed appservice-kakaotalk variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'}
- {'old': 'matrix_appservice_kakaotalk_docker_image', 'new': 'matrix_appservice_kakaotalk_container_image'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_container_image_force_pull'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_container_image_registry_prefix_upstream_default'}
- {'old': 'matrix_appservice_kakaotalk_docker_src_files_path', 'new': 'matrix_appservice_kakaotalk_container_src_files_path'}
- {'old': 'matrix_appservice_kakaotalk_node_docker_image', 'new': 'matrix_appservice_kakaotalk_node_container_image'}
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_force_pull', 'new': 'matrix_appservice_kakaotalk_node_container_image_force_pull'}
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix'}
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream'}
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix_upstream_default', 'new': 'matrix_appservice_kakaotalk_node_container_image_registry_prefix_upstream_default'}

- name: Fail if required appservice-kakaotalk settings not defined
ansible.builtin.fail:
msg: >-
@@ -16,13 +37,3 @@
- {'name': 'matrix_appservice_kakaotalk_homeserver_token', when: true}
- {'name': 'matrix_appservice_kakaotalk_database_hostname', when: "{{ matrix_appservice_kakaotalk_database_engine == 'postgres' }}"}
- {'name': 'matrix_appservice_kakaotalk_container_network', when: true}

- name: (Deprecation) Catch and report renamed appservice-kakaotalk variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_appservice_kakaotalk_node_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_node_docker_image_registry_prefix'}
- {'old': 'matrix_appservice_kakaotalk_docker_image_name_prefix', 'new': 'matrix_appservice_kakaotalk_docker_image_registry_prefix'}

+ 1
- 1
roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk-node.service.j2 Voir le fichier

@@ -27,7 +27,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{% for arg in matrix_appservice_kakaotalk_node_container_extra_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_appservice_kakaotalk_node_docker_image }} \
{{ matrix_appservice_kakaotalk_node_container_image }} \
node src/main.js --config /config.json

{% for network in matrix_appservice_kakaotalk_container_additional_networks %}


+ 1
- 1
roles/custom/matrix-bridge-appservice-kakaotalk/templates/systemd/matrix-appservice-kakaotalk.service.j2 Voir le fichier

@@ -28,7 +28,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{% for arg in matrix_appservice_kakaotalk_container_extra_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_appservice_kakaotalk_docker_image }} \
{{ matrix_appservice_kakaotalk_container_image }} \
python3 -m matrix_appservice_kakaotalk -c /config/config.yaml --no-update

{% for network in matrix_appservice_discord_container_additional_networks %}


+ 15
- 15
roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml Voir le fichier

@@ -27,27 +27,27 @@ matrix_mautrix_telegram_path_prefix: ''

matrix_mautrix_telegram_lottieconverter_container_image_self_build: false
matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch: false
matrix_mautrix_telegram_lottieconverter_docker_repo: "https://mau.dev/tulir/lottieconverter.git"
matrix_mautrix_telegram_lottieconverter_docker_repo_version: "master"
matrix_mautrix_telegram_lottieconverter_docker_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src"
matrix_mautrix_telegram_lottieconverter_docker_image: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram
matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_lottieconverter_container_image_self_build else matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream }}"
matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
matrix_mautrix_telegram_lottieconverter_container_repo: "https://mau.dev/tulir/lottieconverter.git"
matrix_mautrix_telegram_lottieconverter_container_repo_version: "master"
matrix_mautrix_telegram_lottieconverter_container_src_files_path: "{{ matrix_base_data_path }}/lotticonverter/docker-src"
matrix_mautrix_telegram_lottieconverter_container_image: "{{ matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix }}tulir/lottieconverter:alpine-3.16" # needs to be adjusted according to the FROM clause of Dockerfile of mautrix-telegram
matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_lottieconverter_container_image_self_build else matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream }}"
matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default: "dock.mau.dev/"

matrix_mautrix_telegram_container_image_self_build: false
matrix_mautrix_telegram_docker_repo: "https://mau.dev/mautrix/telegram.git"
matrix_mautrix_telegram_docker_repo_version: "{{ 'master' if matrix_mautrix_telegram_version == 'latest' else matrix_mautrix_telegram_version }}"
matrix_mautrix_telegram_docker_src_files_path: "{{ matrix_base_data_path }}/mautrix-telegram/docker-src"
matrix_mautrix_telegram_container_repo: "https://mau.dev/mautrix/telegram.git"
matrix_mautrix_telegram_container_repo_version: "{{ 'master' if matrix_mautrix_telegram_version == 'latest' else matrix_mautrix_telegram_version }}"
matrix_mautrix_telegram_container_src_files_path: "{{ matrix_base_data_path }}/mautrix-telegram/docker-src"

# renovate: datasource=docker depName=dock.mau.dev/mautrix/telegram
matrix_mautrix_telegram_version: v0.15.3
# See: https://mau.dev/mautrix/telegram/container_registry
matrix_mautrix_telegram_docker_image: "{{ matrix_mautrix_telegram_docker_image_registry_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}"
matrix_mautrix_telegram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else matrix_mautrix_telegram_docker_image_registry_prefix_upstream }}"
matrix_mautrix_telegram_docker_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default: "dock.mau.dev/"
matrix_mautrix_telegram_docker_image_force_pull: "{{ matrix_mautrix_telegram_docker_image.endswith(':latest') }}"
matrix_mautrix_telegram_container_image: "{{ matrix_mautrix_telegram_container_image_registry_prefix }}mautrix/telegram:{{ matrix_mautrix_telegram_version }}"
matrix_mautrix_telegram_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_telegram_container_image_self_build else matrix_mautrix_telegram_container_image_registry_prefix_upstream }}"
matrix_mautrix_telegram_container_image_registry_prefix_upstream: "{{ matrix_mautrix_telegram_container_image_registry_prefix_upstream_default }}"
matrix_mautrix_telegram_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
matrix_mautrix_telegram_container_image_force_pull: "{{ matrix_mautrix_telegram_container_image.endswith(':latest') }}"

matrix_mautrix_telegram_base_path: "{{ matrix_base_data_path }}/mautrix-telegram"
matrix_mautrix_telegram_config_path: "{{ matrix_mautrix_telegram_base_path }}/config"


+ 14
- 14
roles/custom/matrix-bridge-mautrix-telegram/tasks/setup_install.yml Voir le fichier

@@ -55,15 +55,15 @@
- {path: "{{ matrix_mautrix_telegram_base_path }}", when: true}
- {path: "{{ matrix_mautrix_telegram_config_path }}", when: true}
- {path: "{{ matrix_mautrix_telegram_data_path }}", when: true}
- {path: "{{ matrix_mautrix_telegram_docker_src_files_path }}", when: "{{ matrix_mautrix_telegram_container_image_self_build }}"}
- {path: "{{ matrix_mautrix_telegram_container_src_files_path }}", when: "{{ matrix_mautrix_telegram_container_image_self_build }}"}
when: item.when | bool

- name: Ensure Mautrix Telegram image is pulled
community.docker.docker_image:
name: "{{ matrix_mautrix_telegram_docker_image }}"
name: "{{ matrix_mautrix_telegram_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_mautrix_telegram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_docker_image_force_pull }}"
force_source: "{{ matrix_mautrix_telegram_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_container_image_force_pull }}"
when: "not matrix_mautrix_telegram_container_image_self_build | bool"
register: matrix_mautrix_telegram_container_image_pull_result
retries: "{{ devture_playbook_help_container_retries_count }}"
@@ -72,9 +72,9 @@

- name: Ensure lottieconverter is present when self-building
ansible.builtin.git:
repo: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo }}"
version: "{{ matrix_mautrix_telegram_lottieconverter_docker_repo_version }}"
dest: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}"
repo: "{{ matrix_mautrix_telegram_lottieconverter_container_repo }}"
version: "{{ matrix_mautrix_telegram_lottieconverter_container_repo_version }}"
dest: "{{ matrix_mautrix_telegram_lottieconverter_container_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_name }}"
@@ -83,21 +83,21 @@

- name: Ensure lottieconverter Docker image is built
community.docker.docker_image:
name: "{{ matrix_mautrix_telegram_lottieconverter_docker_image }}"
name: "{{ matrix_mautrix_telegram_lottieconverter_container_image }}"
source: build
force_source: "{{ matrix_mautrix_telegram_lottieconverter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_lottieconverter_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_mautrix_telegram_lottieconverter_docker_src_files_path }}"
path: "{{ matrix_mautrix_telegram_lottieconverter_container_src_files_path }}"
pull: true
when: "matrix_mautrix_telegram_lottieconverter_container_image_self_build | bool and matrix_mautrix_telegram_lottieconverter_git_pull_results.changed and matrix_mautrix_telegram_container_image_self_build | bool"

- name: Ensure matrix-mautrix-telegram repository is present when self-building
ansible.builtin.git:
repo: "{{ matrix_mautrix_telegram_docker_repo }}"
version: "{{ matrix_mautrix_telegram_docker_repo_version }}"
dest: "{{ matrix_mautrix_telegram_docker_src_files_path }}"
repo: "{{ matrix_mautrix_telegram_container_repo }}"
version: "{{ matrix_mautrix_telegram_container_repo_version }}"
dest: "{{ matrix_mautrix_telegram_container_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_name }}"
@@ -106,13 +106,13 @@

- name: Ensure matrix-mautrix-telegram Docker image is built
community.docker.docker_image:
name: "{{ matrix_mautrix_telegram_docker_image }}"
name: "{{ matrix_mautrix_telegram_container_image }}"
source: build
force_source: "{{ matrix_mautrix_telegram_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_mautrix_telegram_docker_src_files_path }}"
path: "{{ matrix_mautrix_telegram_container_src_files_path }}"
pull: "{{ not matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch | bool }}"
args:
TARGETARCH: ""


+ 36
- 21
roles/custom/matrix-bridge-mautrix-telegram/tasks/validate_config.yml Voir le fichier

@@ -6,6 +6,42 @@

---

- name: (Deprecation) Catch and report renamed mautrix-telegram variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_mautrix_telegram_container_exposed_port_number', 'new': '<superseded by matrix_mautrix_telegram_container_http_host_bind_port>'}
- {'old': 'matrix_mautrix_telegram_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'}
- {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': '<removed>'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix'}
- {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix'}
- {'old': 'matrix_telegram_lottieconverter_container_image_self_build', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build'}
- {'old': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'}
- {'old': 'matrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo'}
- {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo_version'}
- {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_container_src_files_path'}
- {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image'}
- {'old': 'matrix_mautrix_telegram_docker_repo', 'new': 'matrix_mautrix_telegram_container_repo'}
- {'old': 'matrix_mautrix_telegram_docker_repo_version', 'new': 'matrix_mautrix_telegram_container_repo_version'}
- {'old': 'matrix_mautrix_telegram_docker_src_files_path', 'new': 'matrix_mautrix_telegram_container_src_files_path'}
- {'old': 'matrix_mautrix_telegram_docker_image', 'new': 'matrix_mautrix_telegram_container_image'}
- {'old': 'matrix_mautrix_telegram_docker_image_force_pull', 'new': 'matrix_mautrix_telegram_container_image_force_pull'}
- {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix'}
- {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix_upstream'}
- {'old': 'matrix_mautrix_telegram_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_telegram_container_image_registry_prefix_upstream_default'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_registry_prefix_upstream_default'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_container_repo_version'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_container_src_files_path'}

- name: Fail if required mautrix-telegram settings not defined
ansible.builtin.fail:
msg: >-
@@ -24,24 +60,3 @@
- {'name': 'matrix_mautrix_telegram_database_hostname', when: "{{ matrix_mautrix_telegram_database_engine == 'postgres' }}"}
- {'name': 'matrix_mautrix_telegram_metrics_proxying_hostname', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"}
- {'name': 'matrix_mautrix_telegram_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_telegram_metrics_proxying_enabled }}"}

- name: (Deprecation) Catch and report renamed mautrix-telegram variables
ansible.builtin.fail:
msg: >-
Your configuration contains a variable, which now has a different name.
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_mautrix_telegram_container_exposed_port_number', 'new': '<superseded by matrix_mautrix_telegram_container_http_host_bind_port>'}
- {'old': 'matrix_mautrix_telegram_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build', 'new': 'matrix_mautrix_telegram_container_image_self_build'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_container_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'}
- {'old': 'matrix_mautrix_telegram_login_shared_secret', 'new': '<removed>'}
- {'old': 'matrix_mautrix_telegram_lottieconverter_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image_registry_prefix'}
- {'old': 'matrix_mautrix_telegram_docker_image_name_prefix', 'new': 'matrix_mautrix_telegram_docker_image_registry_prefix'}
- {'old': 'matrix_telegram_lottieconverter_container_image_self_build', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build'}
- {'old': 'matrix_telegram_lottieconverter_container_image_self_build_mask_arch', 'new': 'matrix_mautrix_telegram_lottieconverter_container_image_self_build_mask_arch'}
- {'old': 'matrix_telegram_lottieconverter_docker_repo', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo'}
- {'old': 'matrix_telegram_lottieconverter_docker_repo_version', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_repo_version'}
- {'old': 'matrix_telegram_lottieconverter_docker_src_files_path', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_src_files_path'}
- {'old': 'matrix_telegram_lottieconverter_docker_image', 'new': 'matrix_mautrix_telegram_lottieconverter_docker_image'}

+ 1
- 1
roles/custom/matrix-bridge-mautrix-telegram/templates/systemd/matrix-mautrix-telegram.service.j2 Voir le fichier

@@ -32,7 +32,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{% for arg in matrix_mautrix_telegram_container_extra_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_mautrix_telegram_docker_image }} \
{{ matrix_mautrix_telegram_container_image }} \
python3 -m mautrix_telegram -c /config/config.yaml --no-update

{% for network in matrix_mautrix_telegram_container_additional_networks %}


+ 29
- 29
roles/custom/matrix-synapse/defaults/main.yml Voir le fichier

@@ -7,7 +7,7 @@ matrix_synapse_enabled: true
# Specifies which Github organization and repository name Synapse lives at.
#
# This influences:
# - the Github Container Image registry that container images are pulled from (see `matrix_synapse_docker_image_name`)
# - the Github Container Image registry that container images are pulled from (see `matrix_synapse_container_image_name`)
# - the git repository to code is pulled from when self-building is used (see `matrix_synapse_container_image_self_build_repo`)
# - potentially other roles which need to reference the Synapse git repository
#
@@ -33,8 +33,8 @@ matrix_synapse_container_image_self_build_repo: "https://github.com/{{ matrix_sy
# See:
# - `roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2`
# - `matrix_synapse_container_image_customizations_dockerfile_body_custom`
# - `matrix_synapse_docker_image_customized`
# - `matrix_synapse_docker_image_final`
# - `matrix_synapse_container_image_customized`
# - `matrix_synapse_container_image_final`
matrix_synapse_container_image_customizations_enabled: |-
{{
matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled
@@ -71,7 +71,7 @@ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_e
matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname: ''

# matrix_synapse_container_image_customizations_dockerfile_body contains your custom Dockerfile steps
# for building your customized Synapse image based on the original (upstream) image (`matrix_synapse_docker_image`).
# for building your customized Synapse image based on the original (upstream) image (`matrix_synapse_container_image`).
# A `FROM …` clause is included automatically so you don't have to.
#
# For this to take effect, you need to enable customizations (`matrix_synapse_container_image_customizations_enabled: true`).
@@ -83,35 +83,35 @@ matrix_synapse_container_image_customizations_templates_git_repository_keyscan_h
# RUN echo 'You do NOT need to include a FROM clause yourself.'
matrix_synapse_container_image_customizations_dockerfile_body_custom: ''

matrix_synapse_docker_image: "{{ matrix_synapse_docker_image_registry_prefix }}{{ matrix_synapse_docker_image_name }}:{{ matrix_synapse_docker_image_tag }}"
matrix_synapse_docker_image_name: "{{ matrix_synapse_github_org_and_repo }}"
matrix_synapse_docker_image_tag: "{{ matrix_synapse_version }}"
matrix_synapse_docker_image_force_pull: "{{ matrix_synapse_docker_image.endswith(':latest') }}"
matrix_synapse_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_docker_image_registry_prefix_upstream }}"
matrix_synapse_docker_image_registry_prefix_upstream: "{{ matrix_synapse_docker_image_registry_prefix_upstream_default }}"
matrix_synapse_docker_image_registry_prefix_upstream_default: "ghcr.io/"
matrix_synapse_container_image: "{{ matrix_synapse_container_image_registry_prefix }}{{ matrix_synapse_container_image_name }}:{{ matrix_synapse_container_image_tag }}"
matrix_synapse_container_image_name: "{{ matrix_synapse_github_org_and_repo }}"
matrix_synapse_container_image_tag: "{{ matrix_synapse_version }}"
matrix_synapse_container_image_force_pull: "{{ matrix_synapse_container_image.endswith(':latest') }}"
matrix_synapse_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_container_image_self_build else matrix_synapse_container_image_registry_prefix_upstream }}"
matrix_synapse_container_image_registry_prefix_upstream: "{{ matrix_synapse_container_image_registry_prefix_upstream_default }}"
matrix_synapse_container_image_registry_prefix_upstream_default: "ghcr.io/"

# matrix_synapse_docker_image_customized is the name of the locally built Synapse image
# matrix_synapse_container_image_customized is the name of the locally built Synapse image
# which adds various customizations on top of the original (upstream) Synapse image.
# This image will be based on the upstream `matrix_synapse_docker_image` image, only if `matrix_synapse_container_image_customizations_enabled: true`.
matrix_synapse_docker_image_customized: "localhost/matrixdotorg/synapse:{{ matrix_synapse_docker_image_tag }}-customized"
# This image will be based on the upstream `matrix_synapse_container_image` image, only if `matrix_synapse_container_image_customizations_enabled: true`.
matrix_synapse_container_image_customized: "localhost/matrixdotorg/synapse:{{ matrix_synapse_container_image_tag }}-customized"

# Controls whether the customized image (`matrix_synapse_docker_image_customized`) is to be force-built without layer caching enabled.
# Controls whether the customized image (`matrix_synapse_container_image_customized`) is to be force-built without layer caching enabled.
# This is useful if you've enabled customizations (e.g. `matrix_synapse_container_image_customizations_templates_enabled`),
# which clone some branch of some repository, and you'd like for each Ansible run to pull new revisions from that branch.
matrix_synapse_docker_image_customized_build_nocache: false
matrix_synapse_container_image_customized_build_nocache: false

# Controls whether the customized image (`matrix_synapse_docker_image_customized`) is to be built, even if it already exists.
# Related to: matrix_synapse_docker_image_customized_build_nocache
matrix_synapse_docker_image_customized_force_source: "{{ matrix_synapse_docker_image_customized_build_nocache }}"
# Controls whether the customized image (`matrix_synapse_container_image_customized`) is to be built, even if it already exists.
# Related to: matrix_synapse_container_image_customized_build_nocache
matrix_synapse_container_image_customized_force_source: "{{ matrix_synapse_container_image_customized_build_nocache }}"

# matrix_synapse_docker_image_final holds the name of the Synapse image to run depending on whether or not customizations are enabled.
matrix_synapse_docker_image_final: "{{ matrix_synapse_docker_image_customized if matrix_synapse_container_image_customizations_enabled else matrix_synapse_docker_image }} "
# matrix_synapse_container_image_final holds the name of the Synapse image to run depending on whether or not customizations are enabled.
matrix_synapse_container_image_final: "{{ matrix_synapse_container_image_customized if matrix_synapse_container_image_customizations_enabled else matrix_synapse_container_image }} "

matrix_synapse_base_path: "{{ matrix_base_data_path }}/synapse"

matrix_synapse_docker_src_files_path: "{{ matrix_synapse_base_path }}/docker-src"
matrix_synapse_customized_docker_src_files_path: "{{ matrix_synapse_base_path }}/customized-docker-src"
matrix_synapse_container_src_files_path: "{{ matrix_synapse_base_path }}/docker-src"
matrix_synapse_customized_container_src_files_path: "{{ matrix_synapse_base_path }}/customized-docker-src"
matrix_synapse_config_dir_path: "{{ matrix_synapse_base_path }}/config"
matrix_synapse_storage_path: "{{ matrix_synapse_base_path }}/storage"
matrix_synapse_media_store_path: "{{ matrix_synapse_storage_path }}/media-store"
@@ -1649,13 +1649,13 @@ matrix_synapse_forgotten_room_retention_period: 28d
matrix_synapse_user_ips_max_age: 28d


matrix_synapse_rust_synapse_compress_state_docker_image: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix }}mb-saces/rust-synapse-tools:{{ matrix_synapse_rust_synapse_compress_state_docker_image_version }}"
matrix_synapse_rust_synapse_compress_state_container_image: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix }}mb-saces/rust-synapse-tools:{{ matrix_synapse_rust_synapse_compress_state_container_image_version }}"
# renovate: datasource=docker depName=registry.gitlab.com/mb-saces/rust-synapse-tools
matrix_synapse_rust_synapse_compress_state_docker_image_version: v0.0.3
matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream }}"
matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default }}"
matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/"
matrix_synapse_rust_synapse_compress_state_docker_image_force_pull: "{{ matrix_synapse_rust_synapse_compress_state_docker_image.endswith(':stable') or matrix_synapse_rust_synapse_compress_state_docker_image.endswith(':latest') }}"
matrix_synapse_rust_synapse_compress_state_container_image_version: v0.0.3
matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream }}"
matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream: "{{ matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default }}"
matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default: "registry.gitlab.com/"
matrix_synapse_rust_synapse_compress_state_container_image_force_pull: "{{ matrix_synapse_rust_synapse_compress_state_container_image.endswith(':stable') or matrix_synapse_rust_synapse_compress_state_container_image.endswith(':latest') }}"

matrix_synapse_rust_synapse_compress_state_base_path: "{{ matrix_base_data_path }}/rust-synapse-compress-state"
matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path: "/usr/local/bin/synapse_compress_state"


+ 1
- 1
roles/custom/matrix-synapse/tasks/import_synapse_sqlite_db.yml Voir le fichier

@@ -38,7 +38,7 @@
--mount type=bind,src={{ matrix_synapse_config_dir_path }},dst=/data
--mount type=bind,src={{ matrix_synapse_config_dir_path }},dst=/matrix-media-store-parent/media-store
--mount type=bind,src={{ server_path_homeserver_db }},dst=/{{ server_path_homeserver_db | basename }}
{{ matrix_synapse_docker_image_final }}
{{ matrix_synapse_container_image_final }}
/usr/local/bin/synapse_port_db --sqlite-database /{{ server_path_homeserver_db | basename }} --postgres-config /data/homeserver.yaml
register: matrix_postgres_import_synapse_sqlite_db_result
changed_when: matrix_postgres_import_synapse_sqlite_db_result.rc == 0

+ 1
- 1
roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/compress_room.yml Voir le fichier

@@ -17,7 +17,7 @@
--cap-drop=ALL
--network={{ postgres_container_network }}
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
{{ matrix_synapse_rust_synapse_compress_state_docker_image }}
{{ matrix_synapse_rust_synapse_compress_state_container_image }}
{{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
-p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
-r '{{ room_details.room_id }}'


+ 3
- 3
roles/custom/matrix-synapse/tasks/rust-synapse-compress-state/main.yml Voir le fichier

@@ -52,10 +52,10 @@

- name: Ensure rust-synapse-compress-state image is pulled
community.docker.docker_image:
name: "{{ matrix_synapse_rust_synapse_compress_state_docker_image }}"
name: "{{ matrix_synapse_rust_synapse_compress_state_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_synapse_rust_synapse_compress_state_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_rust_synapse_compress_state_docker_image_force_pull }}"
force_source: "{{ matrix_synapse_rust_synapse_compress_state_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_rust_synapse_compress_state_container_image_force_pull }}"
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
delay: "{{ devture_playbook_help_container_retries_delay }}"


+ 2
- 2
roles/custom/matrix-synapse/tasks/setup_install.yml Voir le fichier

@@ -22,8 +22,8 @@
- {path: "{{ matrix_synapse_config_dir_path }}", when: true}
- {path: "{{ matrix_synapse_ext_path }}", when: true}
- {path: "{{ matrix_synapse_bin_path }}", when: true}
- {path: "{{ matrix_synapse_docker_src_files_path }}", when: "{{ matrix_synapse_container_image_self_build }}"}
- {path: "{{ matrix_synapse_customized_docker_src_files_path }}", when: "{{ matrix_synapse_container_image_customizations_enabled }}"}
- {path: "{{ matrix_synapse_container_src_files_path }}", when: "{{ matrix_synapse_container_image_self_build }}"}
- {path: "{{ matrix_synapse_customized_container_src_files_path }}", when: "{{ matrix_synapse_container_image_customizations_enabled }}"}

- {path: "{{ matrix_synapse_ext_s3_storage_provider_base_path }}", when: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}"}
- {path: "{{ matrix_synapse_ext_s3_storage_provider_bin_path }}", when: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}"}


+ 16
- 16
roles/custom/matrix-synapse/tasks/synapse/setup_install.yml Voir le fichier

@@ -38,16 +38,16 @@
- name: Ensure Synapse repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_synapse_container_image_self_build_repo }}"
dest: "{{ matrix_synapse_docker_src_files_path }}"
version: "{{ matrix_synapse_docker_image.split(':')[1] }}"
dest: "{{ matrix_synapse_container_src_files_path }}"
version: "{{ matrix_synapse_container_image.split(':')[1] }}"
force: "yes"
become: true
become_user: "{{ matrix_synapse_username }}"
register: matrix_synapse_git_pull_results

- name: Check if Synapse Docker image exists
ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_docker_image }}'"
register: matrix_synapse_docker_image_check_result
ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_container_image }}'"
register: matrix_synapse_container_image_check_result
changed_when: false

# Invoking the `docker build` command here, instead of calling the `docker_image` Ansible module,
@@ -55,23 +55,23 @@
# See: https://github.com/ansible-collections/community.general/issues/514
- name: Ensure Synapse Docker image is built
ansible.builtin.shell:
chdir: "{{ matrix_synapse_docker_src_files_path }}"
chdir: "{{ matrix_synapse_container_src_files_path }}"
cmd: |
{{ devture_systemd_docker_base_host_command_docker }} build \
-t "{{ matrix_synapse_docker_image }}" \
-t "{{ matrix_synapse_container_image }}" \
-f docker/Dockerfile \
.
environment:
DOCKER_BUILDKIT: 1
changed_when: true
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_container_image_check_result.stdout == ''"

- name: Ensure Synapse Docker image is pulled
community.docker.docker_image:
name: "{{ matrix_synapse_docker_image }}"
name: "{{ matrix_synapse_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_synapse_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_docker_image_force_pull }}"
force_source: "{{ matrix_synapse_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_container_image_force_pull }}"
when: "not matrix_synapse_container_image_self_build"
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
@@ -83,7 +83,7 @@
- name: Ensure customizations Dockerfile is created
ansible.builtin.template:
src: "{{ role_path }}/templates/synapse/customizations/Dockerfile.j2"
dest: "{{ matrix_synapse_customized_docker_src_files_path }}/Dockerfile"
dest: "{{ matrix_synapse_customized_container_src_files_path }}/Dockerfile"
owner: "{{ matrix_synapse_uid }}"
group: "{{ matrix_synapse_gid }}"
mode: '0640'
@@ -91,13 +91,13 @@

- name: Ensure customized Docker image for Synapse is built
community.docker.docker_image:
name: "{{ matrix_synapse_docker_image_customized }}"
name: "{{ matrix_synapse_container_image_customized }}"
source: build
force_source: "{{ matrix_synapse_container_image_customizations_dockerfile_result.changed or matrix_synapse_docker_image_customized_force_source }}"
force_source: "{{ matrix_synapse_container_image_customizations_dockerfile_result.changed or matrix_synapse_container_image_customized_force_source }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_synapse_customized_docker_src_files_path }}"
nocache: "{{ matrix_synapse_docker_image_customized_build_nocache }}"
path: "{{ matrix_synapse_customized_container_src_files_path }}"
nocache: "{{ matrix_synapse_container_image_customized_build_nocache }}"

# We do this so that the signing key would get generated.
#
@@ -118,7 +118,7 @@
-e SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
-e SYNAPSE_SERVER_NAME={{ matrix_server_fqn_matrix }}
-e SYNAPSE_REPORT_STATS=no
{{ matrix_synapse_docker_image }}
{{ matrix_synapse_container_image }}
generate
creates: "{{ matrix_synapse_config_dir_path }}/{{ matrix_server_fqn_matrix }}.signing.key"



+ 80
- 61
roles/custom/matrix-synapse/tasks/validate_config.yml Voir le fichier

@@ -6,65 +6,6 @@

---

- name: Fail if required Synapse settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_synapse_username', when: true}
- {'name': 'matrix_synapse_uid', when: true}
- {'name': 'matrix_synapse_gid', when: true}
- {'name': 'matrix_synapse_container_network', when: true}
- {'name': 'matrix_synapse_macaroon_secret_key', when: true}
- {'name': 'matrix_synapse_database_host', when: true}
- {'name': 'matrix_synapse_database_user', when: true}
- {'name': 'matrix_synapse_database_password', when: true}
- {'name': 'matrix_synapse_database_database', when: true}

- {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_root_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when: "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}

- {'name': 'matrix_synapse_metrics_proxying_hostname', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}
- {'name': 'matrix_synapse_metrics_proxying_path_prefix', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}

- {'name': 'matrix_synapse_matrix_authentication_service_endpoint', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}
- {'name': 'matrix_synapse_matrix_authentication_service_secret', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}

- {'name': 'matrix_synapse_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_container_labels_traefik_compression_middleware_enabled }}"}

- name: Fail if asking for more than 1 instance of single-instance workers
ansible.builtin.fail:
msg: >-
`{{ item }}` cannot be more than 1. This is a single-instance worker.
when: "lookup('vars', item, default='') | int > 1"
with_items:
- "matrix_synapse_workers_appservice_workers_count"
- "matrix_synapse_workers_user_dir_workers_count"
- "matrix_synapse_workers_background_workers_count"
- "matrix_synapse_workers_stream_writer_typing_stream_workers_count"
- "matrix_synapse_workers_stream_writer_to_device_stream_workers_count"
- "matrix_synapse_workers_stream_writer_account_data_stream_workers_count"
- "matrix_synapse_workers_stream_writer_receipts_stream_workers_count"
- "matrix_synapse_workers_stream_writer_presence_stream_workers_count"

- name: Fail when mixing generic workers with new specialized workers
ansible.builtin.fail:
msg: >-
Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers)
when: matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0)

- name: (Deprecation) Catch and report renamed settings
ansible.builtin.fail:
msg: >-
@@ -105,9 +46,28 @@
- {'old': 'matrix_synapse_caches_autotuning_target_cache_memory_usage', 'new': 'matrix_synapse_cache_autotuning_target_cache_memory_usage'}
- {'old': 'matrix_synapse_caches_autotuning_min_cache_ttl', 'new': 'matrix_synapse_cache_autotuning_min_cache_ttl'}
- {'old': 'matrix_synapse_memtotal_kb', 'new': '<superseded by matrix_synapse_cache_size_calculations_memtotal_bytes>'}
- {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_docker_image_registry_prefix'}
- {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'}
- {'old': 'matrix_s3_goofys_docker_image_name_prefix', 'new': 'matrix_s3_goofys_docker_image_registry_prefix'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'}
- {'old': 'matrix_synapse_docker_image', 'new': 'matrix_synapse_container_image'}
- {'old': 'matrix_synapse_docker_image_name', 'new': 'matrix_synapse_container_image_name'}
- {'old': 'matrix_synapse_docker_image_tag', 'new': 'matrix_synapse_container_image_tag'}
- {'old': 'matrix_synapse_docker_image_force_pull', 'new': 'matrix_synapse_container_image_force_pull'}
- {'old': 'matrix_synapse_docker_image_registry_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'}
- {'old': 'matrix_synapse_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_container_image_registry_prefix_upstream'}
- {'old': 'matrix_synapse_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_container_image_registry_prefix_upstream_default'}
- {'old': 'matrix_synapse_docker_src_files_path', 'new': 'matrix_synapse_container_src_files_path'}
- {'old': 'matrix_synapse_docker_image_customized', 'new': 'matrix_synapse_container_image_customized'}
- {'old': 'matrix_synapse_docker_image_customized_build_nocache', 'new': 'matrix_synapse_container_image_customized_build_nocache'}
- {'old': 'matrix_synapse_docker_image_customized_force_source', 'new': 'matrix_synapse_container_image_customized_force_source'}
- {'old': 'matrix_synapse_docker_image_final', 'new': 'matrix_synapse_container_image_final'}
- {'old': 'matrix_synapse_customized_docker_src_files_path', 'new': 'matrix_synapse_customized_container_src_files_path'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_version', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_version'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_force_pull', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_force_pull'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream'}
- {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default'}

- {'old': 'matrix_synapse_experimental_features_msc3202_device_masquerading_enabled', 'new': '<removed - this feature is enabled by default now'}

@@ -132,6 +92,65 @@
with_items:
- {'old': 'federation_ip_range_blacklist', 'new': 'ip_range_blacklist'}

- name: Fail if required Synapse settings not defined
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_synapse_username', when: true}
- {'name': 'matrix_synapse_uid', when: true}
- {'name': 'matrix_synapse_gid', when: true}
- {'name': 'matrix_synapse_container_network', when: true}
- {'name': 'matrix_synapse_macaroon_secret_key', when: true}
- {'name': 'matrix_synapse_database_host', when: true}
- {'name': 'matrix_synapse_database_user', when: true}
- {'name': 'matrix_synapse_database_password', when: true}
- {'name': 'matrix_synapse_database_database', when: true}

- {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_root_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when: "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"}

- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}
- {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}

- {'name': 'matrix_synapse_metrics_proxying_hostname', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}
- {'name': 'matrix_synapse_metrics_proxying_path_prefix', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}

- {'name': 'matrix_synapse_matrix_authentication_service_endpoint', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}
- {'name': 'matrix_synapse_matrix_authentication_service_secret', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}

- {'name': 'matrix_synapse_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_container_labels_traefik_compression_middleware_enabled }}"}

- name: Fail if asking for more than 1 instance of single-instance workers
ansible.builtin.fail:
msg: >-
`{{ item }}` cannot be more than 1. This is a single-instance worker.
when: "lookup('vars', item, default='') | int > 1"
with_items:
- "matrix_synapse_workers_appservice_workers_count"
- "matrix_synapse_workers_user_dir_workers_count"
- "matrix_synapse_workers_background_workers_count"
- "matrix_synapse_workers_stream_writer_typing_stream_workers_count"
- "matrix_synapse_workers_stream_writer_to_device_stream_workers_count"
- "matrix_synapse_workers_stream_writer_account_data_stream_workers_count"
- "matrix_synapse_workers_stream_writer_receipts_stream_workers_count"
- "matrix_synapse_workers_stream_writer_presence_stream_workers_count"

- name: Fail when mixing generic workers with new specialized workers
ansible.builtin.fail:
msg: >-
Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers)
when: matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0)

- when: matrix_synapse_container_image_customizations_templates_enabled | bool
block:
- name: Fail if required `matrix_synapse_container_image_customizations_templates_*` settings not defined


+ 2
- 2
roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 Voir le fichier

@@ -1,6 +1,6 @@
#jinja2: lstrip_blocks: True
{% if matrix_synapse_container_image_customizations_templates_enabled %}
FROM {{ matrix_synapse_docker_image }} AS templates-builder
FROM {{ matrix_synapse_container_image }} AS templates-builder

{#
This ugly script below does quite a lot:
@@ -38,7 +38,7 @@ RUN rm -rf {{ matrix_synapse_container_image_customizations_templates_in_contain
RUN chown -R {{ matrix_synapse_uid }}:{{ matrix_synapse_gid }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }}
{% endif %}

FROM {{ matrix_synapse_docker_image }}
FROM {{ matrix_synapse_container_image }}

{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %}
RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }}


+ 1
- 1
roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/migrate.j2 Voir le fichier

@@ -14,7 +14,7 @@ container_id=$(\
{% for arg in matrix_synapse_ext_s3_storage_provider_container_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_synapse_docker_image_final }} \
{{ matrix_synapse_container_image_final }} \
-c 's3_media_upload update-db $UPDATE_DB_DURATION && s3_media_upload --no-progress check-deleted $MEDIA_PATH && s3_media_upload --no-progress upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT {% if matrix_synapse_ext_synapse_s3_storage_provider_config_sse_customer_enabled %}--sse-customer-algo $SSE_CUSTOMER_ALGO --sse-customer-key $SSE_CUSTOMER_KEY{% endif %}' \
)



+ 1
- 1
roles/custom/matrix-synapse/templates/synapse/ext/s3-storage-provider/bin/shell.j2 Voir le fichier

@@ -13,7 +13,7 @@ container_id=$(\
--workdir=/data \
--network={{ matrix_synapse_container_network }} \
--entrypoint=/bin/bash \
{{ matrix_synapse_docker_image_final }} \
{{ matrix_synapse_container_image_final }} \
)

{# We need to connect to the Postgres network, which should be in this list. #}


+ 1
- 1
roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse-worker.service.j2 Voir le fichier

@@ -74,7 +74,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{% for arg in matrix_synapse_container_worker_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_synapse_docker_image_final }} \
{{ matrix_synapse_container_image_final }} \
run -m synapse.app.{{ matrix_synapse_worker_details.app }} -c /data/homeserver.yaml -c /data/{{ matrix_synapse_worker_config_file_name }}

{% for network in matrix_synapse_container_additional_networks %}


+ 1
- 1
roles/custom/matrix-synapse/templates/synapse/systemd/matrix-synapse.service.j2 Voir le fichier

@@ -61,7 +61,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
{% for arg in matrix_synapse_container_master_extra_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_synapse_docker_image_final }} \
{{ matrix_synapse_container_image_final }} \
run -m synapse.app.homeserver -c /data/homeserver.yaml

{% for network in matrix_synapse_container_additional_networks %}


Chargement…
Annuler
Enregistrer