Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

176 lines
9.6 KiB

  1. ---
  2. # Detect wich databases have to backuped
  3. # Default value is the "matrix_postgres_db_name"
  4. # has to be extended for each service using a seperate db in postgres
  5. # - name: Check if matrix_reminder_bot uses postgres database
  6. # set_fact:
  7. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_bot_matrix_reminder_bot_database_name }}"
  8. # when:
  9. # - matrix_postgres_backup_enabled|bool
  10. # - matrix_bot_matrix_reminder_bot_database_engine == 'postgres'
  11. # - name: Check if matrix_appservice_discord uses postgres database
  12. # set_fact:
  13. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_appservice_discord_database_name }}"
  14. # when:
  15. # - matrix_postgres_backup_enabled|bool
  16. # - matrix_appservice_discord_database_engine == 'postgres'
  17. # - name: Check if matrix_appservice_irc uses postgres database
  18. # set_fact:
  19. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_appservice_irc_database_name }}"
  20. # when:
  21. # - matrix_postgres_backup_enabled|bool
  22. # - matrix_appservice_irc_database_engine == 'postgres'
  23. # - name: Check if matrix_appservice_slack_database uses postgres database
  24. # set_fact:
  25. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_appservice_slack_database_name }}"
  26. # when:
  27. # - matrix_postgres_backup_enabled|bool
  28. # - matrix_appservice_slack_database_engine == 'postgres'
  29. # - name: Check if matrix_mautrix_facebook uses postgres database
  30. # set_fact:
  31. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mautrix_facebook_database_name }}"
  32. # when:
  33. # - matrix_postgres_backup_enabled|bool
  34. # - matrix_mautrix_facebook_database_engine == 'postgres'
  35. # - name: Check if matrix_mautrix_hangouts uses postgres database
  36. # set_fact:
  37. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mautrix_hangouts_database_name }}"
  38. # when:
  39. # - matrix_postgres_backup_enabled|bool
  40. # - matrix_mautrix_hangouts_database_engine == 'postgres'
  41. # - name: Check if matrix_mautrix_signal uses postgres database
  42. # set_fact:
  43. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mautrix_signal_database_name }}"
  44. # when:
  45. # - matrix_postgres_backup_enabled|bool
  46. # - matrix_mautrix_signal_database_engine == 'postgres'
  47. # - name: Check if matrix_mautrix_telegram uses postgres database
  48. # set_fact:
  49. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mautrix_telegram_database_name }}"
  50. # when:
  51. # - matrix_postgres_backup_enabled|bool
  52. # - matrix_mautrix_telegram_database_engine == 'postgres'
  53. # - name: Check if matrix_mautrix_whatsapp uses postgres database
  54. # set_fact:
  55. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mautrix_whatsapp_database_name }}"
  56. # when:
  57. # - matrix_postgres_backup_enabled|bool
  58. # - matrix_mautrix_whatsapp_database_engine == 'postgres'
  59. # - name: Check if matrix_mx_puppet_discord uses postgres database
  60. # set_fact:
  61. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_discord_database_name }}"
  62. # when:
  63. # - matrix_postgres_backup_enabled|bool
  64. # - matrix_mx_puppet_discord_database_engine == 'postgres'
  65. # - name: Check if matrix_mx_puppet_instagram uses postgres database
  66. # set_fact:
  67. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_instagram_database_name }}"
  68. # when:
  69. # - matrix_postgres_backup_enabled|bool
  70. # - matrix_mx_puppet_instagram_database_engine == 'postgres'
  71. # - name: Check if matrix_mx_puppet_skype uses postgres database
  72. # set_fact:
  73. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_skype_database_name }}"
  74. # when:
  75. # - matrix_postgres_backup_enabled|bool
  76. # - matrix_mx_puppet_skype_database_engine == 'postgres'
  77. # - name: Check if matrix_mx_puppet_slack uses postgres database
  78. # set_fact:
  79. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_slack_database_name }}"
  80. # when:
  81. # - matrix_postgres_backup_enabled|bool
  82. # - matrix_mx_puppet_slack_database_engine == 'postgres'
  83. # - name: Check if matrix_mx_puppet_steam uses postgres database
  84. # set_fact:
  85. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_steam_database_name }}"
  86. # when:
  87. # - matrix_postgres_backup_enabled|bool
  88. # - matrix_mx_puppet_steam_database_engine == 'postgres'
  89. # - name: Check if matrix_mx_puppet_twitter uses postgres database
  90. # set_fact:
  91. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_mx_puppet_twitter_database_name }}"
  92. # when:
  93. # - matrix_postgres_backup_enabled|bool
  94. # - matrix_mx_puppet_twitter_database_engine == 'postgres'
  95. # - name: Check if matrix_dimension uses postgres database
  96. # set_fact:
  97. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_dimension_database_name }}"
  98. # when:
  99. # - matrix_postgres_backup_enabled|bool
  100. # - matrix_dimension_database_engine == 'postgres'
  101. # - name: Check if matrix_etherpad uses postgres database
  102. # set_fact:
  103. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_etherpad_database_name }}"
  104. # when:
  105. # - matrix_postgres_backup_enabled|bool
  106. # - matrix_etherpad_database_engine == 'postgres'
  107. # - name: Check if matrix_ma1sd uses postgres database
  108. # set_fact:
  109. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_ma1sd_database_name }}"
  110. # when:
  111. # - matrix_postgres_backup_enabled|bool
  112. # - matrix_ma1sd_database_engine == 'postgres'
  113. # - name: Check if matrix_registration uses postgres database
  114. # set_fact:
  115. # matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list }},{{ matrix_registration_database_name }}"
  116. # when:
  117. # - matrix_postgres_backup_enabled|bool
  118. # - matrix_registration_database_engine == 'postgres'
  119. #- name: Build list of all databases to backup - part 1
  120. # set_fact:
  121. # matrix_postgres_backup_db_list: '{% if item.enabled %}{% if matrix_postgres_backup_db_list=="" %}{{item.dbname}}{% else %}{{ matrix_postgres_backup_db_list }},{{item.dbname}}{% endif %}{% else %}{% endif %}'
  122. # loop:
  123. # - { enabled: '{{matrix_postgres_backup_matrix_reminder_bot_enabled|bool}}' , dbname: '{{ matrix_bot_matrix_reminder_bot_database_name }}' }
  124. # - { enabled: '{{matrix_postgres_backup_matrix_appservice_discord_enabled|bool}}' , dbname: '{{ matrix_appservice_discord_database_name }}' }
  125. # - { enabled: '{{matrix_postgres_backup_matrix_appservice_irc_enabled|bool}}' , dbname: '{{ matrix_appservice_irc_database_name }}' }
  126. # - { enabled: '{{matrix_postgres_backup_matrix_appservice_slack_enabled|bool}}' , dbname: '{{ matrix_appservice_slack_database_name }}' }
  127. # - { enabled: '{{matrix_postgres_backup_matrix_mautrix_facebook_enabled|bool}}' , dbname: '{{ matrix_mautrix_facebook_database_name }}' }
  128. # - { enabled: '{{matrix_postgres_backup_matrix_mautrix_hangouts_enabled|bool}}' , dbname: '{{ matrix_mautrix_hangouts_database_name }}' }
  129. # - { enabled: '{{matrix_postgres_backup_matrix_mautrix_signal_enabled|bool}}' , dbname: '{{ matrix_mautrix_signal_database_name }}' }
  130. # - { enabled: '{{matrix_postgres_backup_matrix_mautrix_telegram_enabled|bool}}' , dbname: '{{ matrix_mautrix_telegram_database_name }}' }
  131. # - { enabled: '{{matrix_postgres_backup_matrix_mautrix_whatsapp_enabled|bool}}' , dbname: '{{ matrix_mautrix_whatsapp_database_name }}' }
  132. # - { enabled: '{{matrix_postgres_backup_matrix_mx_puppet_instagram_enabled|bool}}' , dbname: '{{ matrix_postgres_backup_matrix_mx_puppet_instagram_name }}' }
  133. # - { enabled: '{{matrix_postgres_backup_matrix_mx_puppet_skype_enabled|bool}}' , dbname: '{{ matrix_mx_puppet_skype_database_name }}' }
  134. # - { enabled: '{{matrix_postgres_backup_matrix_mx_puppet_slack_enabled|bool}}' , dbname: '{{ matrix_mx_puppet_slack_database_name }}' }
  135. # - { enabled: '{{matrix_postgres_backup_matrix_mx_puppet_steam_enabled|bool}}' , dbname: '{{ matrix_mx_puppet_steam_database_name }}' }
  136. # - { enabled: '{{matrix_postgres_backup_matrix_mx_puppet_twitter_enabled|bool}}' , dbname: '{{ matrix_mx_puppet_twitter_database_name }}' }
  137. # - { enabled: '{{matrix_postgres_backup_matrix_dimension_enabled|bool}}' , dbname: '{{ matrix_dimension_database_name }}' }
  138. # - { enabled: '{{matrix_postgres_backup_matrix_etherpad_enabled|bool}}' , dbname: '{{ matrix_etherpad_database_name }}' }
  139. # - { enabled: '{{matrix_postgres_backup_matrix_ma1sd_enabled|bool}}' , dbname: '{{ matrix_ma1sd_database_name }}' }
  140. # - { enabled: '{{matrix_postgres_backup_matrix_registration_enabled|bool}}' , dbname: '{{ matrix_registration_database_engine }}' }
  141. # - { enabled: '{{matrix_postgres_backup_matrix_synapse_enabled|bool}}' , dbname: '{{ matrix_postgres_db_name }}' }
  142. - name: Build list of all databases to backup - part 2
  143. set_fact:
  144. matrix_postgres_backup_db_list_prepare: "{% set res = [ ] %}{% for db in matrix_postgres_backup_db_dict %}{% if db.enabled %}{% set ignored = res.append(db.dbname) %}{% endif %}{% endfor %}{{ res }}"
  145. - name: Build list of all databases to backup - part 1
  146. set_fact:
  147. matrix_postgres_backup_db_list: "{{ matrix_postgres_backup_db_list_prepare | join(',') }}"
  148. - name: Going to backup the following list of databases
  149. debug:
  150. msg: "{{ matrix_postgres_backup_db_list }}"
  151. when: matrix_postgres_backup_enabled|bool