Matrix Docker Ansible eploy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

81 строка
3.6 KiB

  1. ---
  2. - name: Ensure matrix-alertmanager-receiver paths exist
  3. ansible.builtin.file:
  4. path: "{{ item.path }}"
  5. state: directory
  6. mode: 0750
  7. owner: "{{ matrix_user_username }}"
  8. group: "{{ matrix_user_groupname }}"
  9. with_items:
  10. - path: "{{ matrix_alertmanager_receiver_base_path }}"
  11. when: true
  12. - path: "{{ matrix_alertmanager_receiver_config_path }}"
  13. when: true
  14. - path: "{{ matrix_alertmanager_receiver_container_src_path }}"
  15. when: "{{ matrix_alertmanager_receiver_container_image_self_build }}"
  16. when: item.when | bool
  17. - name: Ensure matrix-alertmanager-receiver configuration installed
  18. ansible.builtin.copy:
  19. content: "{{ matrix_alertmanager_receiver_configuration | to_nice_yaml(indent=2, width=999999) }}"
  20. dest: "{{ matrix_alertmanager_receiver_config_path }}/config.yml"
  21. mode: 0644
  22. owner: "{{ matrix_user_username }}"
  23. group: "{{ matrix_user_groupname }}"
  24. - name: Ensure matrix-alertmanager-receiver support files installed
  25. ansible.builtin.template:
  26. src: "{{ role_path }}/templates/{{ item }}.j2"
  27. dest: "{{ matrix_alertmanager_receiver_base_path }}/{{ item }}"
  28. mode: 0640
  29. owner: "{{ matrix_user_username }}"
  30. group: "{{ matrix_user_groupname }}"
  31. with_items:
  32. - labels
  33. - name: Ensure matrix-alertmanager-receiver container image is pulled
  34. community.docker.docker_image:
  35. name: "{{ matrix_alertmanager_receiver_container_image }}"
  36. source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
  37. force_source: "{{ matrix_alertmanager_receiver_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
  38. force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_alertmanager_receiver_container_image_force_pull }}"
  39. when: "not matrix_alertmanager_receiver_container_image_self_build | bool"
  40. register: result
  41. retries: "{{ devture_playbook_help_container_retries_count }}"
  42. delay: "{{ devture_playbook_help_container_retries_delay }}"
  43. until: result is not failed
  44. - when: matrix_alertmanager_receiver_container_image_self_build | bool
  45. block:
  46. - name: Ensure matrix-alertmanager-receiver repository is present on self-build
  47. ansible.builtin.git:
  48. repo: "{{ matrix_alertmanager_receiver_container_image_self_build_repo }}"
  49. version: "{{ matrix_alertmanager_receiver_container_image_self_build_repo_version }}"
  50. dest: "{{ matrix_alertmanager_receiver_container_src_path }}"
  51. force: "yes"
  52. become: true
  53. become_user: "{{ matrix_user_username }}"
  54. register: matrix_alertmanager_receiver_git_pull_results
  55. - name: Ensure matrix-alertmanager-receiver container image is built
  56. ansible.builtin.command:
  57. cmd: |-
  58. {{ devture_systemd_docker_base_host_command_docker }} buildx build
  59. --tag={{ matrix_alertmanager_receiver_container_image }}
  60. --file={{ matrix_alertmanager_receiver_container_src_path }}/contrib/Dockerfile
  61. {{ matrix_alertmanager_receiver_container_src_path }}
  62. changed_when: true
  63. - name: Ensure matrix-alertmanager-receiver container network is created
  64. community.general.docker_network:
  65. enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
  66. name: "{{ matrix_alertmanager_receiver_container_network }}"
  67. driver: bridge
  68. - name: Ensure matrix-alertmanager-receiver.service installed
  69. ansible.builtin.template:
  70. src: "{{ role_path }}/templates/systemd/matrix-alertmanager-receiver.service.j2"
  71. dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-alertmanager-receiver.service"
  72. mode: 0644