Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>pull/4945/head
| @@ -2840,7 +2840,7 @@ matrix_bot_maubot_homeserver_secret: |- | |||||
| }[matrix_homeserver_implementation] | default('') | }[matrix_homeserver_implementation] | default('') | ||||
| }} | }} | ||||
| matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" | |||||
| matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bot_maubot_container_image_registry_prefix_upstream_default }}" | |||||
| matrix_bot_maubot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" | matrix_bot_maubot_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}" | ||||
| @@ -26,37 +26,37 @@ matrix_bot_maubot_hostname: '' | |||||
| matrix_bot_maubot_path_prefix: /_matrix/maubot | matrix_bot_maubot_path_prefix: /_matrix/maubot | ||||
| matrix_bot_maubot_container_image_self_build: false | matrix_bot_maubot_container_image_self_build: false | ||||
| matrix_bot_maubot_docker_repo: "https://mau.dev/maubot/maubot.git" | |||||
| matrix_bot_maubot_docker_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}" | |||||
| matrix_bot_maubot_container_repo: "https://mau.dev/maubot/maubot.git" | |||||
| matrix_bot_maubot_container_repo_version: "{{ 'master' if matrix_bot_maubot_version == 'latest' else matrix_bot_maubot_version }}" | |||||
| # renovate: datasource=docker depName=dock.mau.dev/maubot/maubot | # renovate: datasource=docker depName=dock.mau.dev/maubot/maubot | ||||
| matrix_bot_maubot_version: v0.6.0 | matrix_bot_maubot_version: v0.6.0 | ||||
| matrix_bot_maubot_docker_image: "{{ matrix_bot_maubot_docker_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" | |||||
| matrix_bot_maubot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_docker_image_registry_prefix_upstream }}" | |||||
| matrix_bot_maubot_docker_image_registry_prefix_upstream: "{{ matrix_bot_maubot_docker_image_registry_prefix_upstream_default }}" | |||||
| matrix_bot_maubot_docker_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||||
| matrix_bot_maubot_docker_image_force_pull: "{{ matrix_bot_maubot_docker_image.endswith(':latest') }}" | |||||
| matrix_bot_maubot_container_image: "{{ matrix_bot_maubot_container_image_registry_prefix }}maubot/maubot:{{ matrix_bot_maubot_version }}" | |||||
| matrix_bot_maubot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_container_image_registry_prefix_upstream }}" | |||||
| matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_bot_maubot_container_image_registry_prefix_upstream_default }}" | |||||
| matrix_bot_maubot_container_image_registry_prefix_upstream_default: "dock.mau.dev/" | |||||
| matrix_bot_maubot_container_image_force_pull: "{{ matrix_bot_maubot_container_image.endswith(':latest') }}" | |||||
| # matrix_bot_maubot_docker_image_customized is the name of the locally built maubot image | |||||
| # matrix_bot_maubot_container_image_customized is the name of the locally built maubot image | |||||
| # which adds various customizations on top of the original (upstream) maubot image. | # which adds various customizations on top of the original (upstream) maubot image. | ||||
| # This image will be based on the upstream `matrix_bot_maubot_docker_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`. | |||||
| matrix_bot_maubot_docker_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized" | |||||
| # This image will be based on the upstream `matrix_bot_maubot_container_image` image, only if `matrix_bot_maubot_container_image_customizations_enabled: true`. | |||||
| matrix_bot_maubot_container_image_customized: "localhost/maubot/maubot:{{ matrix_bot_maubot_version }}-customized" | |||||
| # Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be force-built without layer caching enabled. | |||||
| matrix_bot_maubot_docker_image_customized_build_nocache: false | |||||
| # Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be force-built without layer caching enabled. | |||||
| matrix_bot_maubot_container_image_customized_build_nocache: false | |||||
| # Controls whether the customized image (`matrix_bot_maubot_docker_image_customized`) is to be built, even if it already exists. | |||||
| # Related to: matrix_bot_maubot_docker_image_customized_build_nocache | |||||
| matrix_bot_maubot_docker_image_customized_force_source: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}" | |||||
| # Controls whether the customized image (`matrix_bot_maubot_container_image_customized`) is to be built, even if it already exists. | |||||
| # Related to: matrix_bot_maubot_container_image_customized_build_nocache | |||||
| matrix_bot_maubot_container_image_customized_force_source: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" | |||||
| # matrix_bot_maubot_docker_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled. | |||||
| matrix_bot_maubot_docker_image_final: "{{ matrix_bot_maubot_docker_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_docker_image }} " | |||||
| # matrix_bot_maubot_container_image_final holds the name of the maubot image to run depending on whether or not customizations are enabled. | |||||
| matrix_bot_maubot_container_image_final: "{{ matrix_bot_maubot_container_image_customized if matrix_bot_maubot_container_image_customizations_enabled else matrix_bot_maubot_container_image }} " | |||||
| matrix_bot_maubot_base_path: "{{ matrix_base_data_path }}/maubot" | matrix_bot_maubot_base_path: "{{ matrix_base_data_path }}/maubot" | ||||
| matrix_bot_maubot_data_path: "{{ matrix_bot_maubot_base_path }}/data" | matrix_bot_maubot_data_path: "{{ matrix_bot_maubot_base_path }}/data" | ||||
| matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_base_path }}/config" | matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_base_path }}/config" | ||||
| matrix_bot_maubot_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src" | |||||
| matrix_bot_maubot_customized_docker_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src" | |||||
| matrix_bot_maubot_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/docker-src" | |||||
| matrix_bot_maubot_customized_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src" | |||||
| matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}" | matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}" | ||||
| matrix_bot_maubot_bot_server_base_path: "{{ matrix_bot_maubot_path_prefix }}/v1" | matrix_bot_maubot_bot_server_base_path: "{{ matrix_bot_maubot_path_prefix }}/v1" | ||||
| @@ -124,12 +124,12 @@ matrix_bot_maubot_container_additional_networks_custom: [] | |||||
| # See: | # See: | ||||
| # - `roles/custom/matrix-bot-maubot/templates/maubot/customizations/Dockerfile.j2` | # - `roles/custom/matrix-bot-maubot/templates/maubot/customizations/Dockerfile.j2` | ||||
| # - `matrix_bot_maubot_container_image_customizations_dockerfile_body_custom` | # - `matrix_bot_maubot_container_image_customizations_dockerfile_body_custom` | ||||
| # - `matrix_bot_maubot_docker_image_customized` | |||||
| # - `matrix_bot_maubot_docker_image_final` | |||||
| # - `matrix_bot_maubot_container_image_customized` | |||||
| # - `matrix_bot_maubot_container_image_final` | |||||
| matrix_bot_maubot_container_image_customizations_enabled: false | matrix_bot_maubot_container_image_customizations_enabled: false | ||||
| # matrix_bot_maubot_container_image_customizations_dockerfile_body contains your custom Dockerfile steps | # matrix_bot_maubot_container_image_customizations_dockerfile_body contains your custom Dockerfile steps | ||||
| # for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_docker_image`). | |||||
| # for building your customized maubot image based on the original (upstream) image (`matrix_bot_maubot_container_image`). | |||||
| # A `FROM …` clause is included automatically so you don't have to. | # A `FROM …` clause is included automatically so you don't have to. | ||||
| # | # | ||||
| # For this to take effect, you need to enable customizations (`matrix_bot_maubot_container_image_customizations_enabled: true`). | # For this to take effect, you need to enable customizations (`matrix_bot_maubot_container_image_customizations_enabled: true`). | ||||
| @@ -23,8 +23,8 @@ | |||||
| - {path: "{{ matrix_bot_maubot_data_path }}/plugins", when: true} | - {path: "{{ matrix_bot_maubot_data_path }}/plugins", when: true} | ||||
| - {path: "{{ matrix_bot_maubot_data_path }}/dbs", when: true} | - {path: "{{ matrix_bot_maubot_data_path }}/dbs", when: true} | ||||
| - {path: "{{ matrix_bot_maubot_data_path }}/trash", when: true} | - {path: "{{ matrix_bot_maubot_data_path }}/trash", when: true} | ||||
| - {path: "{{ matrix_bot_maubot_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"} | |||||
| - {path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"} | |||||
| - {path: "{{ matrix_bot_maubot_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_self_build }}"} | |||||
| - {path: "{{ matrix_bot_maubot_customized_container_src_files_path }}", when: "{{ matrix_bot_maubot_container_image_customizations_enabled }}"} | |||||
| when: "item.when|bool" | when: "item.when|bool" | ||||
| - name: Ensure maubot configuration file created | - name: Ensure maubot configuration file created | ||||
| @@ -38,10 +38,10 @@ | |||||
| - name: Ensure maubot image is pulled | - name: Ensure maubot image is pulled | ||||
| community.docker.docker_image: | community.docker.docker_image: | ||||
| name: "{{ matrix_bot_maubot_docker_image }}" | |||||
| name: "{{ matrix_bot_maubot_container_image }}" | |||||
| source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | ||||
| force_source: "{{ matrix_bot_maubot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_docker_image_force_pull }}" | |||||
| force_source: "{{ matrix_bot_maubot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | |||||
| force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_container_image_force_pull }}" | |||||
| when: "not matrix_bot_maubot_container_image_self_build|bool" | when: "not matrix_bot_maubot_container_image_self_build|bool" | ||||
| register: matrix_bot_maubot_container_image_pull_result | register: matrix_bot_maubot_container_image_pull_result | ||||
| retries: "{{ devture_playbook_help_container_retries_count }}" | retries: "{{ devture_playbook_help_container_retries_count }}" | ||||
| @@ -52,9 +52,9 @@ | |||||
| block: | block: | ||||
| - name: Ensure maubot repository is present on self-build | - name: Ensure maubot repository is present on self-build | ||||
| ansible.builtin.git: | ansible.builtin.git: | ||||
| repo: "{{ matrix_bot_maubot_docker_repo }}" | |||||
| version: "{{ matrix_bot_maubot_docker_repo_version }}" | |||||
| dest: "{{ matrix_bot_maubot_docker_src_files_path }}" | |||||
| repo: "{{ matrix_bot_maubot_container_repo }}" | |||||
| version: "{{ matrix_bot_maubot_container_repo_version }}" | |||||
| dest: "{{ matrix_bot_maubot_container_src_files_path }}" | |||||
| force: "yes" | force: "yes" | ||||
| become: true | become: true | ||||
| become_user: "{{ matrix_user_name }}" | become_user: "{{ matrix_user_name }}" | ||||
| @@ -62,13 +62,13 @@ | |||||
| - name: Ensure maubot image is built | - name: Ensure maubot image is built | ||||
| community.docker.docker_image: | community.docker.docker_image: | ||||
| name: "{{ matrix_bot_maubot_docker_image }}" | |||||
| name: "{{ matrix_bot_maubot_container_image }}" | |||||
| source: build | source: build | ||||
| force_source: "{{ matrix_bot_maubot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" | force_source: "{{ matrix_bot_maubot_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_bot_maubot_git_pull_results.changed }}" | force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_git_pull_results.changed }}" | ||||
| build: | build: | ||||
| dockerfile: Dockerfile | dockerfile: Dockerfile | ||||
| path: "{{ matrix_bot_maubot_docker_src_files_path }}" | |||||
| path: "{{ matrix_bot_maubot_container_src_files_path }}" | |||||
| pull: true | pull: true | ||||
| - when: "matrix_bot_maubot_container_image_customizations_enabled | bool" | - when: "matrix_bot_maubot_container_image_customizations_enabled | bool" | ||||
| @@ -76,7 +76,7 @@ | |||||
| - name: Ensure customizations Dockerfile is created | - name: Ensure customizations Dockerfile is created | ||||
| ansible.builtin.template: | ansible.builtin.template: | ||||
| src: "{{ role_path }}/templates/customizations/Dockerfile.j2" | src: "{{ role_path }}/templates/customizations/Dockerfile.j2" | ||||
| dest: "{{ matrix_bot_maubot_customized_docker_src_files_path }}/Dockerfile" | |||||
| dest: "{{ matrix_bot_maubot_customized_container_src_files_path }}/Dockerfile" | |||||
| owner: "{{ matrix_user_name }}" | owner: "{{ matrix_user_name }}" | ||||
| group: "{{ matrix_group_name }}" | group: "{{ matrix_group_name }}" | ||||
| mode: '0640' | mode: '0640' | ||||
| @@ -84,13 +84,13 @@ | |||||
| - name: Ensure customized Docker image for maubot is built | - name: Ensure customized Docker image for maubot is built | ||||
| community.docker.docker_image: | community.docker.docker_image: | ||||
| name: "{{ matrix_bot_maubot_docker_image_customized }}" | |||||
| name: "{{ matrix_bot_maubot_container_image_customized }}" | |||||
| source: build | source: build | ||||
| force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_docker_image_customized_force_source }}" | |||||
| force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_container_image_customized_force_source }}" | |||||
| build: | build: | ||||
| dockerfile: Dockerfile | dockerfile: Dockerfile | ||||
| path: "{{ matrix_bot_maubot_customized_docker_src_files_path }}" | |||||
| nocache: "{{ matrix_bot_maubot_docker_image_customized_build_nocache }}" | |||||
| path: "{{ matrix_bot_maubot_customized_container_src_files_path }}" | |||||
| nocache: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" | |||||
| - name: Ensure maubot support files installed | - name: Ensure maubot support files installed | ||||
| ansible.builtin.template: | ansible.builtin.template: | ||||
| @@ -18,6 +18,19 @@ | |||||
| - {'old': 'matrix_bot_maubot_management_interface_http_bind_port', 'new': 'matrix_bot_maubot_container_management_interface_http_bind_port'} | - {'old': 'matrix_bot_maubot_management_interface_http_bind_port', 'new': 'matrix_bot_maubot_container_management_interface_http_bind_port'} | ||||
| - {'old': 'matrix_bot_maubot_registration_shared_secret', 'new': 'matrix_bot_maubot_homeserver_secret'} | - {'old': 'matrix_bot_maubot_registration_shared_secret', 'new': 'matrix_bot_maubot_homeserver_secret'} | ||||
| - {'old': 'matrix_bot_maubot_container_image_name_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} | - {'old': 'matrix_bot_maubot_container_image_name_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} | ||||
| - {'old': 'matrix_bot_maubot_docker_image', 'new': 'matrix_bot_maubot_container_image'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_customized', 'new': 'matrix_bot_maubot_container_image_customized'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_customized_build_nocache', 'new': 'matrix_bot_maubot_container_image_customized_build_nocache'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_customized_force_source', 'new': 'matrix_bot_maubot_container_image_customized_force_source'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_final', 'new': 'matrix_bot_maubot_container_image_final'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_force_pull', 'new': 'matrix_bot_maubot_container_image_force_pull'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix', 'new': 'matrix_bot_maubot_container_image_registry_prefix'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream'} | |||||
| - {'old': 'matrix_bot_maubot_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bot_maubot_container_image_registry_prefix_upstream_default'} | |||||
| - {'old': 'matrix_bot_maubot_docker_repo', 'new': 'matrix_bot_maubot_container_repo'} | |||||
| - {'old': 'matrix_bot_maubot_docker_repo_version', 'new': 'matrix_bot_maubot_container_repo_version'} | |||||
| - {'old': 'matrix_bot_maubot_docker_src_files_path', 'new': 'matrix_bot_maubot_container_src_files_path'} | |||||
| - {'old': 'matrix_bot_maubot_customized_docker_src_files_path', 'new': 'matrix_bot_maubot_customized_container_src_files_path'} | |||||
| - name: Fail if required maubot settings not defined | - name: Fail if required maubot settings not defined | ||||
| ansible.builtin.fail: | ansible.builtin.fail: | ||||
| @@ -1,4 +1,4 @@ | |||||
| #jinja2: lstrip_blocks: True | #jinja2: lstrip_blocks: True | ||||
| FROM {{ matrix_bot_maubot_docker_image }} | |||||
| FROM {{ matrix_bot_maubot_container_image }} | |||||
| {{ matrix_bot_maubot_container_image_customizations_dockerfile_body_custom }} | {{ matrix_bot_maubot_container_image_customizations_dockerfile_body_custom }} | ||||
| @@ -38,7 +38,7 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ | |||||
| {% if matrix_bot_maubot_container_management_interface_http_bind_port %} | {% if matrix_bot_maubot_container_management_interface_http_bind_port %} | ||||
| -p {{ matrix_bot_maubot_container_management_interface_http_bind_port }}:{{ matrix_bot_maubot_server_port }} \ | -p {{ matrix_bot_maubot_container_management_interface_http_bind_port }}:{{ matrix_bot_maubot_server_port }} \ | ||||
| {% endif %} | {% endif %} | ||||
| {{ matrix_bot_maubot_docker_image_final }} \ | |||||
| {{ matrix_bot_maubot_container_image_final }} \ | |||||
| python3 -m maubot -c /config/config.yaml --no-update | python3 -m maubot -c /config/config.yaml --no-update | ||||
| {% for network in matrix_bot_maubot_container_additional_networks %} | {% for network in matrix_bot_maubot_container_additional_networks %} | ||||