Matrix Docker Ansible eploy
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

59 Zeilen
2.2 KiB

  1. # SPDX-FileCopyrightText: 2023 Nikita Chernyi
  2. # SPDX-FileCopyrightText: 2024 Suguru Hirahara
  3. #
  4. # SPDX-License-Identifier: AGPL-3.0-or-later
  5. ---
  6. #
  7. # Tasks related to setting up SchildiChat Web themes
  8. #
  9. - when: matrix_client_schildichat_themes_enabled | bool
  10. run_once: true
  11. delegate_to: 127.0.0.1
  12. become: false
  13. block:
  14. # This checkout lives on the Ansible controller, so we cannot correct its ownership like we do for checkouts on the server.
  15. # Marking it as a safe directory keeps git's dubious-ownership protection from failing the task when the playbook directory belongs to another user.
  16. - name: Ensure SchildiChat Web themes repository is pulled
  17. ansible.builtin.git:
  18. repo: "{{ matrix_client_schildichat_themes_repository_url }}"
  19. version: "{{ matrix_client_schildichat_themes_repository_version }}"
  20. dest: "{{ role_path }}/files/scratchpad/themes"
  21. environment:
  22. GIT_CONFIG_COUNT: "1"
  23. GIT_CONFIG_KEY_0: safe.directory
  24. GIT_CONFIG_VALUE_0: "{{ role_path }}/files/scratchpad/themes"
  25. - name: Find all SchildiChat Web theme files
  26. ansible.builtin.find:
  27. paths: "{{ role_path }}/files/scratchpad/themes"
  28. patterns: "*.json"
  29. recurse: true
  30. register: matrix_client_schildichat_theme_file_list
  31. - name: Read SchildiChat Web theme
  32. ansible.builtin.slurp:
  33. path: "{{ item.path }}"
  34. register: "matrix_client_schildichat_theme_file_contents"
  35. with_items: "{{ matrix_client_schildichat_theme_file_list.files }}"
  36. - name: Load SchildiChat Web theme
  37. ansible.builtin.set_fact:
  38. matrix_client_schildichat_setting_defaults_custom_themes: "{{ matrix_client_schildichat_setting_defaults_custom_themes + [item['content'] | b64decode | from_json] }}" # noqa var-naming
  39. with_items: "{{ matrix_client_schildichat_theme_file_contents.results }}"
  40. #
  41. # Tasks related to getting rid of SchildiChat Web themes (if it was previously enabled)
  42. #
  43. - name: Ensure SchildiChat Web themes repository is removed
  44. ansible.builtin.file:
  45. path: "{{ role_path }}/files/scratchpad/themes"
  46. state: absent
  47. run_once: true
  48. delegate_to: 127.0.0.1
  49. become: false
  50. when: "not matrix_client_schildichat_themes_enabled | bool"