Matrix Docker Ansible eploy
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

58 linhas
2.9 KiB

  1. - name: Record Bridge Discord AppService variables locally on AWX
  2. delegate_to: 127.0.0.1
  3. lineinfile:
  4. path: '{{ awx_cached_matrix_vars }}'
  5. regexp: "^#? *{{ item.key | regex_escape() }}:"
  6. line: "{{ item.key }}: {{ item.value }}"
  7. insertafter: '# Bridge Discord AppService Start'
  8. with_dict:
  9. 'matrix_appservice_discord_enabled': '{{ matrix_appservice_discord_enabled }}'
  10. 'matrix_appservice_discord_client_id': '{{ matrix_appservice_discord_client_id }}'
  11. 'matrix_appservice_discord_bot_token': '{{ matrix_appservice_discord_bot_token }}'
  12. - name: If the raw inputs is not empty start constructing parsed awx_appservice_discord_admin_rooms list
  13. set_fact:
  14. awx_appservice_discord_admin_rooms_array: |-
  15. {{ awx_appservice_discord_admin_rooms.splitlines() | to_json }}
  16. when: awx_appservice_discord_admin_rooms | trim | length > 0
  17. - name: Promote user to administer (PL100) of each room
  18. command: |
  19. docker exec -i matrix-appservice-discord /bin/sh -c 'cp /cfg/registration.yaml /tmp/discord-registration.yaml && cd /tmp && node /build/tools/adminme.js -c /cfg/config.yaml -m "{{ item.1 }}" -u "@{{ awx_appservice_discord_admin_user }}:{{ matrix_domain }}" -p 100'
  20. with_indexed_items:
  21. - "{{ awx_appservice_discord_admin_rooms_array }}"
  22. when: ( awx_appservice_discord_admin_rooms | trim | length > 0 ) and ( awx_appservice_discord_admin_user is defined )
  23. - name: Save new 'Bridge Discord Appservice' survey.json to the AWX tower, template
  24. delegate_to: 127.0.0.1
  25. template:
  26. src: 'roles/matrix-awx/surveys/bridge_discord_appservice.json.j2'
  27. dest: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}//bridge_discord_appservice.json'
  28. - name: Copy new 'Bridge Discord Appservice' survey.json to target machine
  29. copy:
  30. src: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/bridge_discord_appservice.json'
  31. dest: '/matrix/awx/bridge_discord_appservice.json'
  32. mode: '0660'
  33. - name: Recreate 'Bridge Discord Appservice' job template
  34. delegate_to: 127.0.0.1
  35. awx.awx.tower_job_template:
  36. name: "{{ matrix_domain }} - 3 - Bridge Discord AppService"
  37. description: "Enables a private bridge you can use to connect Matrix rooms to Discord."
  38. extra_vars: "{{ lookup('file', '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/extra_vars.json') }}"
  39. job_type: run
  40. job_tags: "start,setup-all,bridge-discord-appservice"
  41. inventory: "{{ member_id }}"
  42. project: "{{ member_id }} - Matrix Docker Ansible Deploy"
  43. playbook: setup.yml
  44. credential: "{{ member_id }} - AWX SSH Key"
  45. survey_enabled: true
  46. survey_spec: "{{ lookup('file', '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/bridge_discord_appservice.json') }}"
  47. state: present
  48. verbosity: 1
  49. tower_host: "https://{{ awx_host }}"
  50. tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
  51. validate_certs: yes