diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 8ebd26e46..52b5eb595 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -1350,7 +1350,7 @@ matrix_corporal_systemd_required_services_list: | + (['matrix-' + matrix_homeserver_implementation + '.service']) }} -matrix_cactus_comments_homeserver_url: {{ matrix_homeserver_url }} +matrix_cactus_comments_homeserver_url: "{{ matrix_homeserver_url }}" ###################################################################### # diff --git a/roles/matrix-cactus-comments/defaults/main.yml b/roles/matrix-cactus-comments/defaults/main.yml index 53f36d61f..f8f6474ac 100644 --- a/roles/matrix-cactus-comments/defaults/main.yml +++ b/roles/matrix-cactus-comments/defaults/main.yml @@ -10,6 +10,7 @@ matrix_cactus_comments_docker_src_files_path: "{{ matrix_cactus_comments_base_pa matrix_cactus_comments_base_path: "{{ matrix_base_data_path }}/cactus-comments" matrix_cactus_comments_app_service_config_file: "{{ matrix_cactus_comments_base_path }}/cactus_appservice.yaml" +matrix_cactus_comments_app_service_env_file: "{{ matrix_cactus_comments_base_path }}/cactus.env" matrix_synapse_app_service_config_files: {{ matrix_cactus_comments_app_service_config_file }} matrix_cactus_comments_as_token: '' diff --git a/roles/matrix-cactus-comments/tasks/init.yml b/roles/matrix-cactus-comments/tasks/init.yml index 91b1f095d..ea524c052 100644 --- a/roles/matrix-cactus-comments/tasks/init.yml +++ b/roles/matrix-cactus-comments/tasks/init.yml @@ -1,5 +1,5 @@ --- - ansible.builtin.set_fact: - matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-bot-matrix-registration-bot.service'] }}" - when: matrix_bot_matrix_registration_bot_enabled | bool + matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-cactus-comments.service'] }}" + when: matrix_cactus_comments_enabled | bool diff --git a/roles/matrix-cactus-comments/tasks/main.yml b/roles/matrix-cactus-comments/tasks/main.yml index cc162e991..857e2db19 100644 --- a/roles/matrix-cactus-comments/tasks/main.yml +++ b/roles/matrix-cactus-comments/tasks/main.yml @@ -5,19 +5,19 @@ - always - ansible.builtin.import_tasks: "{{ role_path }}/tasks/validate_config.yml" - when: "run_setup | bool and matrix_bot_matrix_registration_bot_enabled | bool" + when: "run_setup | bool and matrix_cactus_comments_enabled | bool" tags: - setup-all - - setup-bot-matrix-registration-bot + - setup-cactus-comments - ansible.builtin.import_tasks: "{{ role_path }}/tasks/setup_install.yml" - when: "run_setup | bool and matrix_bot_matrix_registration_bot_enabled | bool" + when: "run_setup | bool and matrix_cactus_comments_enabled | bool" tags: - setup-all - - setup-bot-matrix-registration-bot + - setup-cactus-comments - ansible.builtin.import_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" - when: "run_setup | bool and not matrix_bot_matrix_registration_bot_enabled | bool" + when: "run_setup | bool and not matrix_cactus_comments_enabled | bool" tags: - setup-all - - setup-bot-matrix-registration-bot + - setup-cactus-comments diff --git a/roles/matrix-cactus-comments/tasks/setup_install.yml b/roles/matrix-cactus-comments/tasks/setup_install.yml index d4522321e..f8908e1c2 100644 --- a/roles/matrix-cactus-comments/tasks/setup_install.yml +++ b/roles/matrix-cactus-comments/tasks/setup_install.yml @@ -1,6 +1,6 @@ --- -- name: Ensure matrix-registration-bot paths exist +- name: Ensure cactus comments paths exist ansible.builtin.file: path: "{{ item.path }}" state: directory @@ -8,67 +8,74 @@ owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" with_items: - - {path: "{{ matrix_bot_matrix_registration_bot_config_path }}", when: true} - - - {path: "{{ matrix_bot_matrix_registration_bot_data_path }}", when: true} - - {path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}", when: true} + - {path: "{{ matrix_cactus_comments_base_path }}", when: true} + - {path: "{{ matrix_cactus_comments_docker_src_files_path }}", when: true} when: "item.when | bool" -- name: Ensure matrix-registration-bot configuration file created +- name: Ensure cactus comments environment file created ansible.builtin.template: - src: "{{ role_path }}/templates/config/config.yml.j2" - dest: "{{ matrix_bot_matrix_registration_bot_config_path }}/config.yml" + src: "{{ role_path }}/templates/env.j2" + dest: "{{ matrix_cactus_comments_app_service_env_file }}" owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" mode: 0640 -- name: Ensure matrix-registration-bot image is pulled +- name: Ensure cactus comments appservice file created + ansible.builtin.template: + src: "{{ role_path }}/templates/cactus_appservice.yaml.j2" + dest: "{{ matrix_cactus_comments_app_service_config_file }}" + owner: "{{ matrix_user_username }}" + group: "{{ matrix_user_groupname }}" + mode: 0640 + +- name: Ensure cactus comments image is pulled docker_image: - name: "{{ matrix_bot_matrix_registration_bot_docker_image }}" + name: "{{ matrix_cactus_comments_docker_image }}" source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_bot_matrix_registration_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_registration_bot_docker_image_force_pull }}" - when: "not matrix_bot_matrix_registration_bot_container_image_self_build | bool" + force_source: "{{ matrix_cactus_comments_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_cactus_comments_docker_image_force_pull }}" + when: "not matrix_cactus_comments_container_image_self_build | bool" register: result retries: "{{ matrix_container_retries_count }}" delay: "{{ matrix_container_retries_delay }}" until: result is not failed -- name: Ensure matrix-registration-bot repository is present on self-build +- name: Ensure cactus comments repository is present on self-build ansible.builtin.git: - repo: "{{ matrix_bot_matrix_registration_bot_docker_repo }}" - version: "{{ matrix_bot_matrix_registration_bot_docker_repo_version }}" - dest: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}" + repo: "{{ matrix_cactus_comments_docker_repo }}" + version: "{{ matrix_cactus_comments_docker_repo_version }}" + dest: "{{ matrix_cactus_comments_docker_src_files_path }}" force: "yes" become: true become_user: "{{ matrix_user_username }}" - register: matrix_bot_matrix_registration_bot_git_pull_results - when: "matrix_bot_matrix_registration_bot_container_image_self_build | bool" + register: matrix_cactus_comments_git_pull_results + when: "matrix_cactus_comments_container_image_self_build | bool" -- name: Ensure matrix-registration-bot image is built +- name: Ensure cactus comments image is built docker_image: - name: "{{ matrix_bot_matrix_registration_bot_docker_image }}" + name: "{{ matrix_cactus_comments_docker_image }}" source: build - force_source: "{{ matrix_bot_matrix_registration_bot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force_source: "{{ matrix_cactus_comments_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_mailer_git_pull_results.changed }}" build: dockerfile: Dockerfile - path: "{{ matrix_bot_matrix_registration_bot_docker_src_files_path }}" + path: "{{ matrix_cactus_comments_docker_src_files_path }}" pull: true - when: "matrix_bot_matrix_registration_bot_container_image_self_build | bool" + when: "matrix_cactus_comments_container_image_self_build | bool" -- name: Ensure matrix-bot-matrix-registration-bot.service installed +- name: Ensure matrix-cactus-comments.service installed ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-bot-matrix-registration-bot.service.j2" - dest: "{{ matrix_systemd_path }}/matrix-bot-matrix-registration-bot.service" + src: "{{ role_path }}/templates/systemd/matrix-cactus-comments.service.j2" + dest: "{{ matrix_systemd_path }}/matrix-cactus-comments.service" mode: 0644 - register: matrix_bot_matrix_registration_bot_systemd_service_result + register: matrix_cactus_comments_systemd_service_result -- name: Ensure systemd reloaded after matrix-bot-matrix-registration-bot.service installation +- name: Ensure systemd reloaded after matrix-cactus-comments.service installation ansible.builtin.service: daemon_reload: true - when: "matrix_bot_matrix_registration_bot_systemd_service_result.changed | bool" + when: "matrix_cactus_comments_systemd_service_result.changed | bool" -- name: Ensure matrix-bot-matrix-registration-bot.service restarted, if necessary +- name: Ensure matrix-cactus-comments.service restarted, if necessary ansible.builtin.service: - name: "matrix-bot-matrix-registration-bot.service" + name: "matrix-cactus-comments.service" state: restarted diff --git a/roles/matrix-cactus-comments/tasks/setup_uninstall.yml b/roles/matrix-cactus-comments/tasks/setup_uninstall.yml index 426eefc10..011c04b85 100644 --- a/roles/matrix-cactus-comments/tasks/setup_uninstall.yml +++ b/roles/matrix-cactus-comments/tasks/setup_uninstall.yml @@ -1,36 +1,36 @@ --- -- name: Check existence of matrix-matrix-registration-bot service +- name: Check existence of matrix-cactus-comments service ansible.builtin.stat: - path: "{{ matrix_systemd_path }}/matrix-bot-matrix-registration-bot.service" - register: matrix_bot_matrix_registration_bot_service_stat + path: "{{ matrix_systemd_path }}/matrix-cactus-comments.service" + register: matrix_cactus_comments_service_stat -- name: Ensure matrix-matrix-registration-bot is stopped +- name: Ensure cactus comments is stopped ansible.builtin.service: - name: matrix-bot-matrix-registration-bot + name: matrix-cactus-comments state: stopped enabled: false daemon_reload: true register: stopping_result - when: "matrix_bot_matrix_registration_bot_service_stat.stat.exists | bool" + when: "matrix_cactus_comments_service_stat.stat.exists | bool" -- name: Ensure matrix-bot-matrix-registration-bot.service doesn't exist +- name: Ensure matrix-cactus-comments.service doesn't exist ansible.builtin.file: - path: "{{ matrix_systemd_path }}/matrix-bot-matrix-registration-bot.service" + path: "{{ matrix_systemd_path }}/matrix-cactus-comments.service" state: absent - when: "matrix_bot_matrix_registration_bot_service_stat.stat.exists | bool" + when: "matrix_cactus_comments_service_stat.stat.exists | bool" -- name: Ensure systemd reloaded after matrix-bot-matrix-registration-bot.service removal +- name: Ensure systemd reloaded after matrix-cactus-comments.service removal ansible.builtin.service: daemon_reload: true - when: "matrix_bot_matrix_registration_bot_service_stat.stat.exists | bool" + when: "matrix_cactus_comments_service_stat.stat.exists | bool" -- name: Ensure Matrix matrix-registration-bot paths don't exist +- name: Ensure Matrix cactus comments paths don't exist ansible.builtin.file: - path: "{{ matrix_bot_matrix_registration_bot_base_path }}" + path: "{{ matrix_cactus_comments_base_path }}" state: absent -- name: Ensure matrix-registration-bot Docker image doesn't exist +- name: Ensure cactus comments Docker image doesn't exist docker_image: - name: "{{ matrix_bot_matrix_registration_bot_docker_image }}" + name: "{{ matrix_cactus_comments_docker_image }}" state: absent diff --git a/roles/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 b/roles/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 index 763fd6896..1b470a95b 100644 --- a/roles/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 +++ b/roles/matrix-cactus-comments/templates/systemd/matrix-cactus-comments.service.j2 @@ -19,10 +19,9 @@ ExecStartPre=-{{ matrix_host_command_sh }} -c '{{ matrix_host_command_docker }} ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-cactus-comments \ --log-driver=none \ --cap-drop=ALL \ - -e "CONFIG_PATH=/config/config.yml" \ --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ --read-only \ - --mount type=bind,src={{ matrix_cactus_comments_config_path }},dst=/config,ro \ + -env-file {{ matrix_cactus_comments_app_service_env_file }} \ --network={{ matrix_docker_network }} \ {{ matrix_cactus_comments_docker_image }}