From ecc043752060e3610fd8b7fb79d81fd6a99a09f0 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Thu, 7 Oct 2021 12:49:59 +0800 Subject: [PATCH 01/37] add logo section --- .../surveys/configure_element.json.j2 | 12 ++++++++ .../tasks/set_variables_element.yml | 29 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index d85a0ee55..1595b13b6 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -50,6 +50,18 @@ "variable": "matrix_client_element_branding_welcomeBackgroundUrl", "type": "text" }, + { + "question_name": "Set Welcome Page Logo", + "question_description": "Sets the logo found on the welcome and login page, must be approximately heightXwidth.", + "required": false, + "min": 0, + "max": 1024, + "default": "{{ ext_matrix_client_element_welcome_logo_raw }}", + "choices": "", + "new_question": true, + "variable": "ext_matrix_client_element_welcome_logo_raw", + "type": "text" + }, { "question_name": "Show Registration Button", "question_description": "If you show the registration button on the welcome page.", diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 233a49fe3..c913932cd 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -13,6 +13,35 @@ 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' +- name: Record Element-Web custom variables locally on AWX + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: {{ item.value }}" + insertbefore: '# Custom Settings Start' + with_dict: + 'ext_matrix_client_element_welcome_logo_raw': '{{ ext_matrix_client_element_welcome_logo_raw }}' + +- name: Set custom logo URL locally on AWX if defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: {{ item.value }}" + insertafter: '# Element Settings Start' + with_dict: + 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo_raw }}' + when: ext_matrix_client_element_welcome_logo_raw|trim|length > 0 + +- name: Remove custom logo URL locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_welcome_logo: " + state: absent + when: ext_matrix_client_element_welcome_logo_raw|trim|length == 0 + - name: Set fact for 'https' string set_fact: awx_https_string: "https" From d1754915d130a59176b0ab47db23674e6f57fa13 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Thu, 7 Oct 2021 12:53:32 +0800 Subject: [PATCH 02/37] improve conditional --- roles/matrix-awx/tasks/set_variables_element.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index c913932cd..9e8e937d0 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -23,6 +23,10 @@ with_dict: 'ext_matrix_client_element_welcome_logo_raw': '{{ ext_matrix_client_element_welcome_logo_raw }}' +- name: Set fact for 'https' string + set_fact: + awx_https_string: "https" + - name: Set custom logo URL locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: @@ -32,7 +36,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo_raw }}' - when: ext_matrix_client_element_welcome_logo_raw|trim|length > 0 + when: ( awx_https_string in ext_matrix_client_element_welcome_logo_raw ) and ( ext_matrix_client_element_welcome_logo_raw|trim|length > 0 ) - name: Remove custom logo URL locally on AWX if not defined delegate_to: 127.0.0.1 @@ -42,10 +46,6 @@ state: absent when: ext_matrix_client_element_welcome_logo_raw|trim|length == 0 -- name: Set fact for 'https' string - set_fact: - awx_https_string: "https" - - name: Record Element-Web Background variable locally on AWX delegate_to: 127.0.0.1 lineinfile: @@ -55,7 +55,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - when: (awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl) and ( matrix_client_element_branding_welcomeBackgroundUrl|length > 0 ) + when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl|length > 0 ) - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From 8d9d176c36bac1b5fc44e9ba38b21d08c572dad1 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Thu, 7 Oct 2021 13:29:55 +0800 Subject: [PATCH 03/37] update? --- roles/matrix-awx/surveys/configure_element.json.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 1595b13b6..27c6cf4d4 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -52,7 +52,7 @@ }, { "question_name": "Set Welcome Page Logo", - "question_description": "Sets the logo found on the welcome and login page, must be approximately heightXwidth.", + "question_description": "Sets the logo found on the welcome and login page, must be a valid https link to your logo, the logo itself should be a square vector image (SVG).", "required": false, "min": 0, "max": 1024, From 0f4cb513b84ff03ea00124f1f15c6f3cab743ccc Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Fri, 8 Oct 2021 13:16:09 +0800 Subject: [PATCH 04/37] update survey --- roles/matrix-awx/surveys/configure_element.json.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 27c6cf4d4..89a36f39e 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -52,7 +52,7 @@ }, { "question_name": "Set Welcome Page Logo", - "question_description": "Sets the logo found on the welcome and login page, must be a valid https link to your logo, the logo itself should be a square vector image (SVG).", + "question_description": "Sets the logo found on the welcome and login page, must be a valid https link to your logo, the logo itself should be a square vector image (SVG). Leaving this field blank will cause the default Element logo to be used.", "required": false, "min": 0, "max": 1024, From 208dce51d831219e7a67306d71aad90a5216ce6e Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Fri, 8 Oct 2021 14:18:59 +0800 Subject: [PATCH 05/37] add new survey entries for welcome page link, headline and text --- .../surveys/configure_element.json.j2 | 40 ++++++++++++- .../tasks/set_variables_element.yml | 60 +++++++++++++++++-- 2 files changed, 92 insertions(+), 8 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 89a36f39e..fa5508cd7 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -56,10 +56,46 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ ext_matrix_client_element_welcome_logo_raw }}", + "default": "{{ ext_matrix_client_element_welcome_logo }}", "choices": "", "new_question": true, - "variable": "ext_matrix_client_element_welcome_logo_raw", + "variable": "ext_matrix_client_element_welcome_logo", + "type": "text" + }, + { + "question_name": "Set Welcome Page Logo URL", + "question_description": "Sets the URL link the welcome page logo leads to, must be a valid https link. Leaving this field blank will cause this default link to be used: 'https://element.io'", + "required": false, + "min": 0, + "max": 1024, + "default": "{{ ext_matrix_client_element_welcome_logo_link }}", + "choices": "", + "new_question": true, + "variable": "ext_matrix_client_element_welcome_logo_link", + "type": "text" + }, + { + "question_name": "Set Welcome Page Headline", + "question_description": "Sets the headline seen on the welcome page. Leaving this field blank will cause this default headline to be used: 'Welcome to Element'", + "required": false, + "min": 0, + "max": 512, + "default": "{{ ext_matrix_client_element_welcome_headline }}", + "choices": "", + "new_question": true, + "variable": "ext_matrix_client_element_welcome_headline", + "type": "text" + }, + { + "question_name": "Set Welcome Page Text", + "question_description": "Sets the text seen on the welcome page. Leaving this field blank will cause this default headline to be used: 'Decentralised, encrypted chat & collaboration powered by [Matrix]'", + "required": false, + "min": 0, + "max": 2048, + "default": "{{ ext_matrix_client_element_welcome_text }}", + "choices": "", + "new_question": true, + "variable": "ext_matrix_client_element_welcome_text", "type": "text" }, { diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 9e8e937d0..0e9898d76 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -21,13 +21,15 @@ line: "{{ item.key }}: {{ item.value }}" insertbefore: '# Custom Settings Start' with_dict: - 'ext_matrix_client_element_welcome_logo_raw': '{{ ext_matrix_client_element_welcome_logo_raw }}' + 'ext_matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' + 'ext_matrix_client_element_welcome_logo_link': '{{ ext_matrix_client_element_welcome_logo_link }}' + 'ext_matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' - name: Set fact for 'https' string set_fact: awx_https_string: "https" -- name: Set custom logo URL locally on AWX if defined +- name: Set custom logo locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -35,16 +37,62 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo_raw }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_logo_raw ) and ( ext_matrix_client_element_welcome_logo_raw|trim|length > 0 ) + 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' + when: ( awx_https_string in ext_matrix_client_element_welcome_logo ) and ( ext_matrix_client_element_welcome_logo_raw|trim|length > 0 ) -- name: Remove custom logo URL locally on AWX if not defined +- name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: ext_matrix_client_element_welcome_logo_raw|trim|length == 0 + when: ext_matrix_client_element_welcome_logo|trim|length == 0 + +- name: Set custom logo link locally on AWX if defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: {{ item.value }}" + insertafter: '# Element Settings Start' + with_dict: + 'matrix_client_element_welcome_logo_link': '{{ ext_matrix_client_element_welcome_logo_link }}' + when: ( awx_https_string in ext_matrix_client_element_welcome_logo_link ) and ( ext_matrix_client_element_welcome_logo_link|trim|length > 0 ) + +- name: Remove custom logo link locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_welcome_logo_link: " + state: absent + when: ext_matrix_client_element_welcome_logo_link|trim|length == 0 + +- name: Set custom headline locally on AWX if defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: {{ item.value }}" + insertafter: '# Element Settings Start' + with_dict: + 'matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' + when: ( awx_https_string in ext_matrix_client_element_welcome_headline ) and ( ext_matrix_client_element_welcome_headline|trim|length > 0 ) + +- name: Remove custom headline locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_welcome_headline: " + state: absent + when: ext_matrix_client_element_welcome_headline|trim|length == 0 + +- name: Remove custom headline locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_welcome_headline: " + state: absent + when: ext_matrix_client_element_welcome_headline|trim|length == 0 - name: Record Element-Web Background variable locally on AWX delegate_to: 127.0.0.1 From b0d56f6c18c4f64008bede08feca440327537af2 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Fri, 8 Oct 2021 14:28:37 +0800 Subject: [PATCH 06/37] update conditionals --- .../tasks/set_variables_element.yml | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 0e9898d76..37ce85f36 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -24,6 +24,7 @@ 'ext_matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' 'ext_matrix_client_element_welcome_logo_link': '{{ ext_matrix_client_element_welcome_logo_link }}' 'ext_matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' + 'ext_matrix_client_element_welcome_text': '{{ ext_matrix_client_element_welcome_text }}' - name: Set fact for 'https' string set_fact: @@ -38,7 +39,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_logo ) and ( ext_matrix_client_element_welcome_logo_raw|trim|length > 0 ) + when: ( awx_https_string in ext_matrix_client_element_welcome_logo ) and ( ext_matrix_client_element_welcome_logo|trim|length > 0 ) - name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -86,13 +87,24 @@ state: absent when: ext_matrix_client_element_welcome_headline|trim|length == 0 -- name: Remove custom headline locally on AWX if not defined +- name: Set custom text locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' - regexp: "^matrix_client_element_welcome_headline: " + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: {{ item.value }}" + insertafter: '# Element Settings Start' + with_dict: + 'matrix_client_element_welcome_text': '{{ ext_matrix_client_element_welcome_text }}' + when: ( awx_https_string in ext_matrix_client_element_welcome_text ) and ( ext_matrix_client_element_welcome_text|trim|length > 0 ) + +- name: Remove custom text locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_welcome_text: " state: absent - when: ext_matrix_client_element_welcome_headline|trim|length == 0 + when: ext_matrix_client_element_welcome_text|trim|length == 0 - name: Record Element-Web Background variable locally on AWX delegate_to: 127.0.0.1 From 384dfdce4bf56eb7b75422856f0e9653925c15cd Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 08:58:10 +0800 Subject: [PATCH 07/37] update? --- roles/matrix-awx/surveys/configure_element.json.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index fa5508cd7..d962958d0 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -76,7 +76,7 @@ }, { "question_name": "Set Welcome Page Headline", - "question_description": "Sets the headline seen on the welcome page. Leaving this field blank will cause this default headline to be used: 'Welcome to Element'", + "question_description": "Sets the headline seen on the welcome page. Leaving this field blank will cause this default headline to be used: 'Welcome to Element!'", "required": false, "min": 0, "max": 512, From df9da052abdc21a6593b4e72a58fd804c0fd4339 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 09:24:39 +0800 Subject: [PATCH 08/37] fix conditional --- roles/matrix-awx/tasks/set_variables_element.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 37ce85f36..ebaedcaae 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -77,7 +77,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_headline ) and ( ext_matrix_client_element_welcome_headline|trim|length > 0 ) + when: ext_matrix_client_element_welcome_headline|trim|length > 0 - name: Remove custom headline locally on AWX if not defined delegate_to: 127.0.0.1 @@ -96,7 +96,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_text': '{{ ext_matrix_client_element_welcome_text }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_text ) and ( ext_matrix_client_element_welcome_text|trim|length > 0 ) + when: ext_matrix_client_element_welcome_text|trim|length > 0 - name: Remove custom text locally on AWX if not defined delegate_to: 127.0.0.1 From 42af090a7cac8151ac8c9ec0f089998ccd31a1f4 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 10:21:27 +0800 Subject: [PATCH 09/37] update naming scheme 1 --- .../surveys/configure_element.json.j2 | 16 +++++----- .../tasks/set_variables_element.yml | 32 +++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index d962958d0..10e7b63f1 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -56,10 +56,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ ext_matrix_client_element_welcome_logo }}", + "default": "{{ awx_matrix_client_element_welcome_logo }}", "choices": "", "new_question": true, - "variable": "ext_matrix_client_element_welcome_logo", + "variable": "awx_matrix_client_element_welcome_logo", "type": "text" }, { @@ -68,10 +68,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ ext_matrix_client_element_welcome_logo_link }}", + "default": "{{ awx_matrix_client_element_welcome_logo_link }}", "choices": "", "new_question": true, - "variable": "ext_matrix_client_element_welcome_logo_link", + "variable": "awx_matrix_client_element_welcome_logo_link", "type": "text" }, { @@ -80,10 +80,10 @@ "required": false, "min": 0, "max": 512, - "default": "{{ ext_matrix_client_element_welcome_headline }}", + "default": "{{ awx_matrix_client_element_welcome_headline }}", "choices": "", "new_question": true, - "variable": "ext_matrix_client_element_welcome_headline", + "variable": "awx_matrix_client_element_welcome_headline", "type": "text" }, { @@ -92,10 +92,10 @@ "required": false, "min": 0, "max": 2048, - "default": "{{ ext_matrix_client_element_welcome_text }}", + "default": "{{ awx_matrix_client_element_welcome_text }}", "choices": "", "new_question": true, - "variable": "ext_matrix_client_element_welcome_text", + "variable": "awx_matrix_client_element_welcome_text", "type": "text" }, { diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index ebaedcaae..6d7d40064 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -21,10 +21,10 @@ line: "{{ item.key }}: {{ item.value }}" insertbefore: '# Custom Settings Start' with_dict: - 'ext_matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' - 'ext_matrix_client_element_welcome_logo_link': '{{ ext_matrix_client_element_welcome_logo_link }}' - 'ext_matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' - 'ext_matrix_client_element_welcome_text': '{{ ext_matrix_client_element_welcome_text }}' + 'awx_matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' + 'awx_matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' + 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' + 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' - name: Set fact for 'https' string set_fact: @@ -38,8 +38,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ ext_matrix_client_element_welcome_logo }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_logo ) and ( ext_matrix_client_element_welcome_logo|trim|length > 0 ) + 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' + when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo|trim|length > 0 ) - name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -47,7 +47,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: ext_matrix_client_element_welcome_logo|trim|length == 0 + when: awx_matrix_client_element_welcome_logo|trim|length == 0 - name: Set custom logo link locally on AWX if defined delegate_to: 127.0.0.1 @@ -57,8 +57,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo_link': '{{ ext_matrix_client_element_welcome_logo_link }}' - when: ( awx_https_string in ext_matrix_client_element_welcome_logo_link ) and ( ext_matrix_client_element_welcome_logo_link|trim|length > 0 ) + 'matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' + when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link|trim|length > 0 ) - name: Remove custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 @@ -66,7 +66,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo_link: " state: absent - when: ext_matrix_client_element_welcome_logo_link|trim|length == 0 + when: awx_matrix_client_element_welcome_logo_link|trim|length == 0 - name: Set custom headline locally on AWX if defined delegate_to: 127.0.0.1 @@ -76,8 +76,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_headline': '{{ ext_matrix_client_element_welcome_headline }}' - when: ext_matrix_client_element_welcome_headline|trim|length > 0 + 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' + when: awx_matrix_client_element_welcome_headline|trim|length > 0 - name: Remove custom headline locally on AWX if not defined delegate_to: 127.0.0.1 @@ -85,7 +85,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_headline: " state: absent - when: ext_matrix_client_element_welcome_headline|trim|length == 0 + when: awx_matrix_client_element_welcome_headline|trim|length == 0 - name: Set custom text locally on AWX if defined delegate_to: 127.0.0.1 @@ -95,8 +95,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_text': '{{ ext_matrix_client_element_welcome_text }}' - when: ext_matrix_client_element_welcome_text|trim|length > 0 + 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' + when: awx_matrix_client_element_welcome_text|trim|length > 0 - name: Remove custom text locally on AWX if not defined delegate_to: 127.0.0.1 @@ -104,7 +104,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_text: " state: absent - when: ext_matrix_client_element_welcome_text|trim|length == 0 + when: awx_matrix_client_element_welcome_text|trim|length == 0 - name: Record Element-Web Background variable locally on AWX delegate_to: 127.0.0.1 From a60a43cb08b574980112b8856ee4cee0d948fd22 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 15:21:10 +0800 Subject: [PATCH 10/37] change naming scheme of variables that feature in deploy. --- .../matrix-awx/surveys/access_export.json.j2 | 6 +- .../surveys/configure_dimension.json.j2 | 4 +- .../surveys/configure_ma1sd.json.j2 | 8 +- .../surveys/configure_synapse.json.j2 | 26 +++---- .../configure_website_access_export.json.j2 | 14 ++-- .../tasks/customise_website_access_export.yml | 50 ++++++------ .../tasks/set_variables_dimension.yml | 16 ++-- .../tasks/set_variables_element.yml | 16 ++-- .../matrix-awx/tasks/set_variables_ma1sd.yml | 16 ++-- .../tasks/set_variables_synapse.yml | 78 +++++++++---------- 10 files changed, 117 insertions(+), 117 deletions(-) diff --git a/roles/matrix-awx/surveys/access_export.json.j2 b/roles/matrix-awx/surveys/access_export.json.j2 index c20a97493..6e16ab4be 100644 --- a/roles/matrix-awx/surveys/access_export.json.j2 +++ b/roles/matrix-awx/surveys/access_export.json.j2 @@ -8,7 +8,7 @@ "required": true, "min": null, "max": null, - "default": "{{ sftp_auth_method | string }}", + "default": "{{ awx_sftp_auth_method | string }}", "choices": "Disabled\nPassword\nSSH Key", "new_question": true, "variable": "sftp_auth_method", @@ -20,7 +20,7 @@ "required": false, "min": 0, "max": 64, - "default": "{{ sftp_password }}", + "default": "{{ awx_sftp_password }}", "choices": "", "new_question": true, "variable": "sftp_password", @@ -32,7 +32,7 @@ "required": false, "min": 0, "max": 16384, - "default": "{{ sftp_public_key }}", + "default": "{{ awx_sftp_public_key }}", "choices": "", "new_question": true, "variable": "sftp_public_key", diff --git a/roles/matrix-awx/surveys/configure_dimension.json.j2 b/roles/matrix-awx/surveys/configure_dimension.json.j2 index 2f39e80e3..961d137c6 100644 --- a/roles/matrix-awx/surveys/configure_dimension.json.j2 +++ b/roles/matrix-awx/surveys/configure_dimension.json.j2 @@ -20,10 +20,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ ext_dimension_users_raw_final | to_json }}, + "default": {{ awx_dimension_users_raw_final | to_json }}, "choices": "", "new_question": true, - "variable": "ext_dimension_users_raw", + "variable": "awx_dimension_users_raw", "type": "textarea" } ] diff --git a/roles/matrix-awx/surveys/configure_ma1sd.json.j2 b/roles/matrix-awx/surveys/configure_ma1sd.json.j2 index 67c2c88d7..055e817c8 100644 --- a/roles/matrix-awx/surveys/configure_ma1sd.json.j2 +++ b/roles/matrix-awx/surveys/configure_ma1sd.json.j2 @@ -20,10 +20,10 @@ "required": false, "min": null, "max": null, - "default": "{{ ext_matrix_ma1sd_auth_store }}", + "default": "{{ awx_matrix_ma1sd_auth_store }}", "choices": "Synapse Internal\nLDAP/AD", "new_question": true, - "variable": "ext_matrix_ma1sd_auth_store", + "variable": "awx_matrix_ma1sd_auth_store", "type": "multiplechoice" }, { @@ -32,9 +32,9 @@ "required": false, "min": 0, "max": 65536, - "default": {{ ext_matrix_ma1sd_configuration_extension_yaml | to_json }}, + "default": {{ awx_matrix_ma1sd_configuration_extension_yaml | to_json }}, "new_question": true, - "variable": "ext_matrix_ma1sd_configuration_extension_yaml", + "variable": "awx_matrix_ma1sd_configuration_extension_yaml", "type": "textarea" } ] diff --git a/roles/matrix-awx/surveys/configure_synapse.json.j2 b/roles/matrix-awx/surveys/configure_synapse.json.j2 index 7089f7b38..029b1fbe0 100755 --- a/roles/matrix-awx/surveys/configure_synapse.json.j2 +++ b/roles/matrix-awx/surveys/configure_synapse.json.j2 @@ -92,10 +92,10 @@ "required": false, "min": null, "max": null, - "default": "{{ ext_registrations_require_3pid | string | lower }}", + "default": "{{ awx_registrations_require_3pid | string | lower }}", "choices": "true\nfalse", "new_question": true, - "variable": "ext_registrations_require_3pid", + "variable": "awx_registrations_require_3pid", "type": "multiplechoice" }, { @@ -107,7 +107,7 @@ "default": "", "choices": "", "new_question": true, - "variable": "ext_matrix_synapse_registration_shared_secret", + "variable": "awx_matrix_synapse_registration_shared_secret", "type": "password" }, { @@ -128,10 +128,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ ext_url_preview_accept_language_default | to_json }}, + "default": {{ awx_url_preview_accept_language_default | to_json }}, "choices": "", "new_question": true, - "variable": "ext_url_preview_accept_language_raw", + "variable": "awx_url_preview_accept_language_raw", "type": "textarea" }, { @@ -140,10 +140,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ ext_federation_whitelist_raw | to_json }}, + "default": {{ awx_federation_whitelist_raw | to_json }}, "choices": "", "new_question": true, - "variable": "ext_federation_whitelist_raw", + "variable": "awx_federation_whitelist_raw", "type": "textarea" }, { @@ -164,10 +164,10 @@ "required": false, "min": null, "max": null, - "default": "{{ ext_enable_registration_captcha | string | lower }}", + "default": "{{ awx_enable_registration_captcha | string | lower }}", "choices": "true\nfalse", "new_question": true, - "variable": "ext_enable_registration_captcha", + "variable": "awx_enable_registration_captcha", "type": "multiplechoice" }, { @@ -176,10 +176,10 @@ "required": false, "min": 0, "max": 40, - "default": "{{ ext_recaptcha_public_key }}", + "default": "{{ awx_recaptcha_public_key }}", "choices": "", "new_question": true, - "variable": "ext_recaptcha_public_key", + "variable": "awx_recaptcha_public_key", "type": "text" }, { @@ -188,10 +188,10 @@ "required": false, "min": 0, "max": 40, - "default": "{{ ext_recaptcha_private_key }}", + "default": "{{ awx_recaptcha_private_key }}", "choices": "", "new_question": true, - "variable": "ext_recaptcha_private_key", + "variable": "awx_recaptcha_private_key", "type": "text" } ] diff --git a/roles/matrix-awx/surveys/configure_website_access_export.json.j2 b/roles/matrix-awx/surveys/configure_website_access_export.json.j2 index 2b3e16376..bc805f099 100755 --- a/roles/matrix-awx/surveys/configure_website_access_export.json.j2 +++ b/roles/matrix-awx/surveys/configure_website_access_export.json.j2 @@ -8,7 +8,7 @@ "required": true, "min": null, "max": null, - "default": "{{ customise_base_domain_website | string | lower }}", + "default": "{{ awx_customise_base_domain_website | string | lower }}", "choices": "true\nfalse", "new_question": true, "variable": "customise_base_domain_website", @@ -20,10 +20,10 @@ "required": true, "min": null, "max": null, - "default": "{{ sftp_auth_method | string }}", + "default": "{{ awx_sftp_auth_method | string }}", "choices": "Disabled\nPassword\nSSH Key", "new_question": true, - "variable": "sftp_auth_method", + "variable": "awx_sftp_auth_method", "type": "multiplechoice" }, { @@ -32,10 +32,10 @@ "required": false, "min": 0, "max": 64, - "default": "{{ sftp_password }}", + "default": "{{ awx_sftp_password }}", "choices": "", "new_question": true, - "variable": "sftp_password", + "variable": "awx_sftp_password", "type": "password" }, { @@ -44,10 +44,10 @@ "required": false, "min": 0, "max": 16384, - "default": "{{ sftp_public_key }}", + "default": "{{ awx_sftp_public_key }}", "choices": "", "new_question": true, - "variable": "sftp_public_key", + "variable": "awx_sftp_public_key", "type": "text" } ] diff --git a/roles/matrix-awx/tasks/customise_website_access_export.yml b/roles/matrix-awx/tasks/customise_website_access_export.yml index 076e31882..e82621d0a 100755 --- a/roles/matrix-awx/tasks/customise_website_access_export.yml +++ b/roles/matrix-awx/tasks/customise_website_access_export.yml @@ -8,7 +8,7 @@ insertafter: '# Base Domain Settings Start' with_dict: 'matrix_nginx_proxy_base_domain_homepage_enabled': 'true' - when: (customise_base_domain_website is defined) and not customise_base_domain_website|bool + when: (awx_customise_base_domain_website is defined) and not awx_customise_base_domain_website|bool - name: Disable index.html creation to allow multi-file site if user does wish to customise base domain delegate_to: 127.0.0.1 @@ -19,7 +19,7 @@ insertafter: '# Base Domain Settings Start' with_dict: 'matrix_nginx_proxy_base_domain_homepage_enabled': 'false' - when: (customise_base_domain_website is defined) and customise_base_domain_website|bool + when: (awx_customise_base_domain_website is defined) and awx_customise_base_domain_website|bool - name: Record custom 'Customise Website + Access Export' variables locally on AWX delegate_to: 127.0.0.1 @@ -29,9 +29,9 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Custom Settings Start' with_dict: - 'sftp_auth_method': '"{{ sftp_auth_method }}"' - 'sftp_password': '"{{ sftp_password }}"' - 'sftp_public_key': '"{{ sftp_public_key }}"' + 'awx_sftp_auth_method': '"{{ awx_sftp_auth_method }}"' + 'awx_sftp_password': '"{{ awx_sftp_password }}"' + 'awx_sftp_public_key': '"{{ awx_sftp_public_key }}"' - name: Record custom 'Customise Website + Access Export' variables locally on AWX delegate_to: 127.0.0.1 @@ -41,8 +41,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Custom Settings Start' with_dict: - 'customise_base_domain_website': '{{ customise_base_domain_website }}' - when: customise_base_domain_website is defined + 'awx_customise_base_domain_website': '{{ awx_customise_base_domain_website }}' + when: awx_customise_base_domain_website is defined - name: Reload vars in matrix_vars.yml include_vars: @@ -54,28 +54,28 @@ template: src: './roles/matrix-awx/surveys/configure_website_access_export.json.j2' dest: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/configure_website_access_export.json' - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined - name: Copy new 'Customise Website + Access Export' survey.json to target machine copy: src: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/configure_website_access_export.json' dest: '/matrix/awx/configure_website_access_export.json' mode: '0660' - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined - name: Save new 'Customise Website + Access Export' survey.json to the AWX tower, template delegate_to: 127.0.0.1 template: src: './roles/matrix-awx/surveys/access_export.json.j2' dest: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/access_export.json' - when: customise_base_domain_website is undefined + when: awx_customise_base_domain_website is undefined - name: Copy new 'Customise Website + Access Export' survey.json to target machine copy: src: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/access_export.json' dest: '/matrix/awx/access_export.json' mode: '0660' - when: customise_base_domain_website is undefined + when: awx_customise_base_domain_website is undefined - name: Recreate 'Configure Website + Access Export' job template delegate_to: 127.0.0.1 @@ -97,7 +97,7 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined - name: Recreate 'Access Export' job template delegate_to: 127.0.0.1 @@ -119,9 +119,9 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: customise_base_domain_website is undefined + when: awx_customise_base_domain_website is undefined -- name: If user doesn't define a sftp_password, create a disabled 'sftp' account +- name: If user doesn't define a awx_sftp_password, create a disabled 'sftp' account user: name: sftp comment: SFTP user to set custom web files and access servers export @@ -130,18 +130,18 @@ group: matrix password: '*' update_password: always - when: sftp_password|length == 0 + when: awx_sftp_password|length == 0 -- name: If user defines sftp_password, enable account and set password on 'stfp' account +- name: If user defines awx_sftp_password, enable account and set password on 'stfp' account user: name: sftp comment: SFTP user to set custom web files and access servers export shell: /bin/false home: /home/sftp group: matrix - password: "{{ sftp_password | password_hash('sha512') }}" + password: "{{ awx_sftp_password | password_hash('sha512') }}" update_password: always - when: sftp_password|length > 0 + when: awx_sftp_password|length > 0 - name: Ensure group "sftp" exists group: @@ -153,7 +153,7 @@ name: sftp groups: sftp append: yes - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined - name: Create the ro /chroot directory with sticky bit if it doesn't exist. (/chroot/website has matrix:matrix permissions and is mounted to nginx container) file: @@ -170,7 +170,7 @@ owner: matrix group: matrix mode: '0770' - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined - name: Ensure /chroot/export location exists file: @@ -202,11 +202,11 @@ - name: Insert public SSH key into authorized_keys file lineinfile: path: /home/sftp/.ssh/authorized_keys - line: "{{ sftp_public_key }}" + line: "{{ awx_sftp_public_key }}" owner: sftp group: sftp mode: '0644' - when: (sftp_public_key | length > 0) and (sftp_auth_method == "SSH Key") + when: (awx_sftp_public_key | length > 0) and (awx_sftp_auth_method == "SSH Key") - name: Remove any existing Subsystem lines lineinfile: @@ -232,7 +232,7 @@ AllowTcpForwarding no PasswordAuthentication yes AuthorizedKeysFile /home/sftp/.ssh/authorized_keys - when: sftp_auth_method == "Disabled" + when: awx_sftp_auth_method == "Disabled" - name: Add SSH Match User section for password auth blockinfile: @@ -245,7 +245,7 @@ X11Forwarding no AllowTcpForwarding no PasswordAuthentication yes - when: sftp_auth_method == "Password" + when: awx_sftp_auth_method == "Password" - name: Add SSH Match User section for publickey auth blockinfile: @@ -258,7 +258,7 @@ X11Forwarding no AllowTcpForwarding no AuthorizedKeysFile /home/sftp/.ssh/authorized_keys - when: sftp_auth_method == "SSH Key" + when: awx_sftp_auth_method == "SSH Key" - name: Restart service ssh.service service: diff --git a/roles/matrix-awx/tasks/set_variables_dimension.yml b/roles/matrix-awx/tasks/set_variables_dimension.yml index 338cd82c4..a3a6d314b 100644 --- a/roles/matrix-awx/tasks/set_variables_dimension.yml +++ b/roles/matrix-awx/tasks/set_variables_dimension.yml @@ -14,7 +14,7 @@ - name: Collect access token of Dimension user shell: | curl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user","user": "dimension" }, "password": "{{ matrix_awx_dimension_user_password }}", "type": "m.login.password"}' 'https://matrix.{{ matrix_domain }}/_matrix/client/r0/login' | jq -c '. | {access_token}' | sed 's/.*\":\"//' | sed 's/\"}//' - register: dimension_user_access_token + register: awx_dimension_user_access_token - name: Record Synapse variables locally on AWX delegate_to: 127.0.0.1 @@ -25,17 +25,17 @@ insertafter: '# Dimension Settings Start' with_dict: 'matrix_dimension_enabled': '{{ matrix_dimension_enabled }}' - 'matrix_dimension_access_token': '"{{ dimension_user_access_token.stdout }}"' + 'matrix_dimension_access_token': '"{{ awx_dimension_user_access_token.stdout }}"' - name: Set final users list if users are defined set_fact: - ext_dimension_users_raw_final: "{{ ext_dimension_users_raw }}" - when: ext_dimension_users_raw|length > 0 + awx_dimension_users_raw_final: "{{ awx_dimension_users_raw }}" + when: awx_dimension_users_raw|length > 0 - name: Set final users list if no users are defined set_fact: - ext_dimension_users_raw_final: '@dimension:{{ matrix_domain }}' - when: ext_dimension_users_raw|length == 0 + awx_dimension_users_raw_final: '@dimension:{{ matrix_domain }}' + when: awx_dimension_users_raw|length == 0 - name: Remove Dimension Users delegate_to: 127.0.0.1 @@ -58,7 +58,7 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^matrix_dimension_admins:' line: ' - "{{ item }}"' - with_items: "{{ ext_dimension_users_raw_final.splitlines() }}" + with_items: "{{ awx_dimension_users_raw_final.splitlines() }}" - name: Record Dimension Custom variables locally on AWX delegate_to: 127.0.0.1 @@ -68,7 +68,7 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Custom Settings Start' with_dict: - 'ext_dimension_users_raw': '{{ ext_dimension_users_raw.splitlines() | to_json }}' + 'awx_dimension_users_raw': '{{ awx_dimension_users_raw.splitlines() | to_json }}' - name: Save new 'Configure Dimension' survey.json to the AWX tower, template delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 6d7d40064..6bf9be36e 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -39,7 +39,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo|trim|length > 0 ) + when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -47,7 +47,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: awx_matrix_client_element_welcome_logo|trim|length == 0 + when: awx_matrix_client_element_welcome_logo | trim | length == 0 - name: Set custom logo link locally on AWX if defined delegate_to: 127.0.0.1 @@ -58,7 +58,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link|trim|length > 0 ) + when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 @@ -66,7 +66,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo_link: " state: absent - when: awx_matrix_client_element_welcome_logo_link|trim|length == 0 + when: awx_matrix_client_element_welcome_logo_link | trim | length == 0 - name: Set custom headline locally on AWX if defined delegate_to: 127.0.0.1 @@ -77,7 +77,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' - when: awx_matrix_client_element_welcome_headline|trim|length > 0 + when: awx_matrix_client_element_welcome_headline | trim | length > 0 - name: Remove custom headline locally on AWX if not defined delegate_to: 127.0.0.1 @@ -85,7 +85,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_headline: " state: absent - when: awx_matrix_client_element_welcome_headline|trim|length == 0 + when: awx_matrix_client_element_welcome_headline | trim | length == 0 - name: Set custom text locally on AWX if defined delegate_to: 127.0.0.1 @@ -96,7 +96,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' - when: awx_matrix_client_element_welcome_text|trim|length > 0 + when: awx_matrix_client_element_welcome_text | trim | length > 0 - name: Remove custom text locally on AWX if not defined delegate_to: 127.0.0.1 @@ -115,7 +115,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl|length > 0 ) + when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | length > 0 ) - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_ma1sd.yml b/roles/matrix-awx/tasks/set_variables_ma1sd.yml index 6b4b09e3e..c147a229a 100755 --- a/roles/matrix-awx/tasks/set_variables_ma1sd.yml +++ b/roles/matrix-awx/tasks/set_variables_ma1sd.yml @@ -17,8 +17,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Extension Start' with_dict: - 'matrix_synapse_ext_password_provider_rest_auth_enabled': 'false' - when: ext_matrix_ma1sd_auth_store == 'Synapse Internal' + 'matrix_synapse_awx_password_provider_rest_auth_enabled': 'false' + when: awx_matrix_ma1sd_auth_store == 'Synapse Internal' - name: Enable REST auth if using external LDAP/AD with ma1sd delegate_to: 127.0.0.1 @@ -28,9 +28,9 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Extension Start' with_dict: - 'matrix_synapse_ext_password_provider_rest_auth_enabled': 'true' - 'matrix_synapse_ext_password_provider_rest_auth_endpoint': '"http://matrix-ma1sd:8090"' - when: ext_matrix_ma1sd_auth_store == 'LDAP/AD' + 'matrix_synapse_awx_password_provider_rest_auth_enabled': 'true' + 'matrix_synapse_awx_password_provider_rest_auth_endpoint': '"http://matrix-ma1sd:8090"' + when: awx_matrix_ma1sd_auth_store == 'LDAP/AD' - name: Remove entire ma1sd configuration extension delegate_to: 127.0.0.1 @@ -53,7 +53,7 @@ path: '{{ awx_cached_matrix_vars }}' marker: "# {mark} ma1sd ANSIBLE MANAGED BLOCK" insertafter: '# Start ma1sd Extension' - block: '{{ ext_matrix_ma1sd_configuration_extension_yaml }}' + block: '{{ awx_matrix_ma1sd_configuration_extension_yaml }}' - name: Record ma1sd Custom variables locally on AWX delegate_to: 127.0.0.1 @@ -63,8 +63,8 @@ line: "{{ item.key }}: {{ item.value }}" insertbefore: '# Custom Settings Start' with_dict: - 'ext_matrix_ma1sd_auth_store': '{{ ext_matrix_ma1sd_auth_store }}' - 'ext_matrix_ma1sd_configuration_extension_yaml': '{{ ext_matrix_ma1sd_configuration_extension_yaml.splitlines() | to_json }}' + 'awx_matrix_ma1sd_auth_store': '{{ awx_matrix_ma1sd_auth_store }}' + 'awx_matrix_ma1sd_configuration_extension_yaml': '{{ awx_matrix_ma1sd_configuration_extension_yaml.splitlines() | to_json }}' no_log: True - name: Save new 'Configure ma1sd' survey.json to the AWX tower, template diff --git a/roles/matrix-awx/tasks/set_variables_synapse.yml b/roles/matrix-awx/tasks/set_variables_synapse.yml index d32d18e1f..0b0fff788 100755 --- a/roles/matrix-awx/tasks/set_variables_synapse.yml +++ b/roles/matrix-awx/tasks/set_variables_synapse.yml @@ -26,21 +26,21 @@ 'matrix_synapse_url_preview_enabled': '{{ matrix_synapse_url_preview_enabled }}' 'matrix_synapse_allow_guest_access': '{{ matrix_synapse_allow_guest_access }}' -- name: Empty Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty +- name: Empty Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty delegate_to: 127.0.0.1 replace: path: '{{ awx_cached_matrix_vars }}' - regexp: "^matrix_synapse_auto_join_rooms: .*$" - replace: "matrix_synapse_auto_join_rooms: []" - when: matrix_synapse_auto_join_rooms_raw|length == 0 + regexp: "^awx_matrix_synapse_auto_join_rooms: .*$" + replace: "awx_matrix_synapse_auto_join_rooms: []" + when: awx_matrix_synapse_auto_join_rooms_raw|length == 0 - name: If the raw inputs is not empty start constructing parsed auto_join_rooms list set_fact: - matrix_synapse_auto_join_rooms_array: |- - {{ matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }} - when: matrix_synapse_auto_join_rooms_raw|length > 0 + awx_matrix_synapse_auto_join_rooms_array: |- + {{ awx_matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }} + when: awx_matrix_synapse_auto_join_rooms_raw|length > 0 -- name: Record Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank +- name: Record Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -48,8 +48,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Settings Start' with_dict: - "matrix_synapse_auto_join_rooms": "{{ matrix_synapse_auto_join_rooms_array }}" - when: matrix_synapse_auto_join_rooms_raw|length > 0 + "awx_matrix_synapse_auto_join_rooms": "{{ awx_matrix_synapse_auto_join_rooms_array }}" + when: awx_matrix_synapse_auto_join_rooms_raw|length > 0 - name: Record Synapse Shared Secret if it's defined delegate_to: 127.0.0.1 @@ -59,8 +59,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Settings Start' with_dict: - 'matrix_synapse_registration_shared_secret': '{{ ext_matrix_synapse_registration_shared_secret }}' - when: ext_matrix_synapse_registration_shared_secret|length > 0 + 'matrix_synapse_registration_shared_secret': '{{ awx_matrix_synapse_registration_shared_secret }}' + when: awx_matrix_synapse_registration_shared_secret|length > 0 - name: Record registations_require_3pid extra variable if true delegate_to: 127.0.0.1 @@ -72,7 +72,7 @@ with_items: - " registrations_require_3pid:" - " - email" - when: ext_registrations_require_3pid|bool + when: awx_registrations_require_3pid|bool - name: Remove registrations_require_3pid extra variable if false delegate_to: 127.0.0.1 @@ -85,7 +85,7 @@ with_items: - " registrations_require_3pid:" - " - email" - when: not ext_registrations_require_3pid|bool + when: not awx_registrations_require_3pid|bool - name: Remove URL Languages delegate_to: 127.0.0.1 @@ -97,21 +97,21 @@ - name: Set URL languages default if raw inputs empty set_fact: - ext_url_preview_accept_language_default: 'en' - when: ext_url_preview_accept_language_raw|length == 0 + awx_url_preview_accept_language_default: 'en' + when: awx_url_preview_accept_language_raw|length == 0 - name: Set URL languages default if raw inputs not empty set_fact: - ext_url_preview_accept_language_default: "{{ ext_url_preview_accept_language_raw }}" - when: ext_url_preview_accept_language_raw|length > 0 + awx_url_preview_accept_language_default: "{{ awx_url_preview_accept_language_raw }}" + when: awx_url_preview_accept_language_raw|length > 0 - name: Set URL languages if raw inputs empty delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' insertafter: '^ url_preview_accept_language:' - line: " - {{ ext_url_preview_accept_language_default }}" - when: ext_url_preview_accept_language_raw|length == 0 + line: " - {{ awx_url_preview_accept_language_default }}" + when: awx_url_preview_accept_language_raw|length == 0 - name: Set URL languages if raw inputs not empty delegate_to: 127.0.0.1 @@ -119,8 +119,8 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^ url_preview_accept_language:' line: " - {{ item }}" - with_items: "{{ ext_url_preview_accept_language_raw.splitlines() }}" - when: ext_url_preview_accept_language_raw|length > 0 + with_items: "{{ awx_url_preview_accept_language_raw.splitlines() }}" + when: awx_url_preview_accept_language_raw|length > 0 - name: Remove Federation Whitelisting 1 delegate_to: 127.0.0.1 @@ -143,7 +143,7 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^matrix_synapse_configuration_extension_yaml: \|' line: " federation_domain_whitelist:" - when: ext_federation_whitelist_raw|length > 0 + when: awx_federation_whitelist_raw|length > 0 - name: Set Federation Whitelisting 2 delegate_to: 127.0.0.1 @@ -151,16 +151,16 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^ federation_domain_whitelist:' line: " - {{ item }}" - with_items: "{{ ext_federation_whitelist_raw.splitlines() }}" - when: ext_federation_whitelist_raw|length > 0 + with_items: "{{ awx_federation_whitelist_raw.splitlines() }}" + when: awx_federation_whitelist_raw|length > 0 -- name: Set ext_recaptcha_public_key to a 'public-key' if undefined - set_fact: ext_recaptcha_public_key="public-key" - when: (ext_recaptcha_public_key is not defined) or (ext_recaptcha_public_key|length == 0) +- name: Set awx_recaptcha_public_key to a 'public-key' if undefined + set_fact: awx_recaptcha_public_key="public-key" + when: (awx_recaptcha_public_key is not defined) or (awx_recaptcha_public_key|length == 0) -- name: Set ext_recaptcha_private_key to a 'private-key' if undefined - set_fact: ext_recaptcha_private_key="private-key" - when: (ext_recaptcha_private_key is not defined) or (ext_recaptcha_private_key|length == 0) +- name: Set awx_recaptcha_private_key to a 'private-key' if undefined + set_fact: awx_recaptcha_private_key="private-key" + when: (awx_recaptcha_private_key is not defined) or (awx_recaptcha_private_key|length == 0) - name: Record Synapse Extension variables locally on AWX delegate_to: 127.0.0.1 @@ -170,9 +170,9 @@ line: "{{ item.key }}: {{ item.value }}" insertbefore: '# Synapse Extension End' with_dict: - ' enable_registration_captcha': '{{ ext_enable_registration_captcha }}' - ' recaptcha_public_key': '{{ ext_recaptcha_public_key }}' - ' recaptcha_private_key': '{{ ext_recaptcha_private_key }}' + ' enable_registration_captcha': '{{ awx_enable_registration_captcha }}' + ' recaptcha_public_key': '{{ awx_recaptcha_public_key }}' + ' recaptcha_private_key': '{{ awx_recaptcha_private_key }}' - name: Record Synapse Custom variables locally on AWX delegate_to: 127.0.0.1 @@ -182,11 +182,11 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Custom Settings Start' with_dict: - 'ext_federation_whitelist_raw': '{{ ext_federation_whitelist_raw.splitlines() | to_json }}' - 'ext_url_preview_accept_language_default': '{{ ext_url_preview_accept_language_default.splitlines() | to_json }}' - 'ext_enable_registration_captcha': '{{ ext_enable_registration_captcha }}' - 'ext_recaptcha_public_key': '"{{ ext_recaptcha_public_key }}"' - 'ext_recaptcha_private_key': '"{{ ext_recaptcha_private_key }}"' + 'awx_federation_whitelist_raw': '{{ awx_federation_whitelist_raw.splitlines() | to_json }}' + 'awx_url_preview_accept_language_default': '{{ awx_url_preview_accept_language_default.splitlines() | to_json }}' + 'awx_enable_registration_captcha': '{{ awx_enable_registration_captcha }}' + 'awx_recaptcha_public_key': '"{{ awx_recaptcha_public_key }}"' + 'awx_recaptcha_private_key': '"{{ awx_recaptcha_private_key }}"' - name: Save new 'Configure Synapse' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From de084c4d4dba398470cf49d21526eacba16eb723 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 15:43:47 +0800 Subject: [PATCH 11/37] fix variable name change --- roles/matrix-awx/surveys/configure_element_subdomain.json.j2 | 4 ++-- .../surveys/configure_website_access_export.json.j2 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element_subdomain.json.j2 b/roles/matrix-awx/surveys/configure_element_subdomain.json.j2 index a355af239..8e6aaf282 100644 --- a/roles/matrix-awx/surveys/configure_element_subdomain.json.j2 +++ b/roles/matrix-awx/surveys/configure_element_subdomain.json.j2 @@ -8,10 +8,10 @@ "required": false, "min": 0, "max": 2048, - "default": "{{ element_subdomain }}", + "default": "{{ awx_element_subdomain }}", "choices": "", "new_question": true, - "variable": "element_subdomain", + "variable": "awx_element_subdomain", "type": "text" } ] diff --git a/roles/matrix-awx/surveys/configure_website_access_export.json.j2 b/roles/matrix-awx/surveys/configure_website_access_export.json.j2 index bc805f099..d35fb8399 100755 --- a/roles/matrix-awx/surveys/configure_website_access_export.json.j2 +++ b/roles/matrix-awx/surveys/configure_website_access_export.json.j2 @@ -11,7 +11,7 @@ "default": "{{ awx_customise_base_domain_website | string | lower }}", "choices": "true\nfalse", "new_question": true, - "variable": "customise_base_domain_website", + "variable": "awx_customise_base_domain_website", "type": "multiplechoice" }, { From f4410514f583ce2415bc0aef67ac981c52c33df6 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sat, 9 Oct 2021 15:45:49 +0800 Subject: [PATCH 12/37] update variable names --- roles/matrix-awx/surveys/access_export.json.j2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/matrix-awx/surveys/access_export.json.j2 b/roles/matrix-awx/surveys/access_export.json.j2 index 6e16ab4be..d5e1f9456 100644 --- a/roles/matrix-awx/surveys/access_export.json.j2 +++ b/roles/matrix-awx/surveys/access_export.json.j2 @@ -11,7 +11,7 @@ "default": "{{ awx_sftp_auth_method | string }}", "choices": "Disabled\nPassword\nSSH Key", "new_question": true, - "variable": "sftp_auth_method", + "variable": "awx_sftp_auth_method", "type": "multiplechoice" }, { @@ -23,7 +23,7 @@ "default": "{{ awx_sftp_password }}", "choices": "", "new_question": true, - "variable": "sftp_password", + "variable": "awx_sftp_password", "type": "password" }, { @@ -35,7 +35,7 @@ "default": "{{ awx_sftp_public_key }}", "choices": "", "new_question": true, - "variable": "sftp_public_key", + "variable": "awx_sftp_public_key", "type": "text" } ] From 6b9af3822872431d05d9423ff10776c53852cb9b Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 09:19:01 +0800 Subject: [PATCH 13/37] update? --- roles/matrix-awx/surveys/configure_element.json.j2 | 2 +- roles/matrix-awx/tasks/set_variables_element_subdomain.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 10e7b63f1..e5bd7166d 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -40,7 +40,7 @@ }, { "question_name": "Set Welcome Page Background", - "question_description": "URL to Wallpaper, shown in background of the welcome page. Must be a 'https' link, otherwise it won't be set.", + "question_description": "Sets the background image on the welcome page, you should enter a URL to the image you want to use. Must be a 'https' link, otherwise it won't be set. Leaving this field blank will cause the default background to be used.", "required": false, "min": 0, "max": 1024, diff --git a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml index f6f36393c..9a10019d8 100644 --- a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml +++ b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml @@ -7,7 +7,7 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_server_fqn_element': "{{ element_subdomain }}.{{ matrix_domain }}" + 'matrix_server_fqn_element': "{{ awx_element_subdomain }}.{{ matrix_domain }}" - name: Save new 'Configure Element Subdomain' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From 175bdb100b246aab933e612d907bb71b5150be41 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 13:23:49 +0800 Subject: [PATCH 14/37] first round of variable name changes --- .../matrix-awx/surveys/backup_server.json.j2 | 4 +- roles/matrix-awx/tasks/backup_server.yml | 8 +- roles/matrix-awx/tasks/create_user.yml | 24 +-- .../tasks/customise_website_access_export.yml | 1 + .../matrix-awx/tasks/delete_session_token.yml | 1 + roles/matrix-awx/tasks/export_server.yml | 13 +- roles/matrix-awx/tasks/import_awx.yml | 2 +- .../tasks/load_hosting_and_org_variables.yml | 1 + .../tasks/load_matrix_variables.yml | 1 + .../tasks/purge_database_build_list.yml | 5 +- .../tasks/purge_database_events.yml | 7 +- .../matrix-awx/tasks/purge_database_main.yml | 143 +++++++++--------- .../tasks/purge_database_no_local.yml | 7 +- .../matrix-awx/tasks/purge_database_users.yml | 7 +- roles/matrix-awx/tasks/purge_media_local.yml | 9 +- roles/matrix-awx/tasks/purge_media_main.yml | 52 +++---- roles/matrix-awx/tasks/purge_media_remote.yml | 9 +- roles/matrix-awx/tasks/rename_variables.yml | 1 + roles/matrix-awx/tasks/rotate_ssh.yml | 1 + roles/matrix-awx/tasks/self_check.yml | 91 +++++------ .../tasks/set_variables_corporal.yml | 1 + .../tasks/set_variables_dimension.yml | 3 +- .../tasks/set_variables_element.yml | 1 + .../tasks/set_variables_element_subdomain.yml | 1 + .../matrix-awx/tasks/set_variables_jitsi.yml | 1 + .../matrix-awx/tasks/set_variables_ma1sd.yml | 1 + .../matrix-awx/tasks/set_variables_mailer.yml | 1 + .../tasks/set_variables_synapse.yml | 20 +-- .../tasks/set_variables_synapse_admin.yml | 1 + roles/matrix-common-after/tasks/awx_post.yml | 26 ++-- 30 files changed, 233 insertions(+), 210 deletions(-) diff --git a/roles/matrix-awx/surveys/backup_server.json.j2 b/roles/matrix-awx/surveys/backup_server.json.j2 index acb6e356e..559daade4 100644 --- a/roles/matrix-awx/surveys/backup_server.json.j2 +++ b/roles/matrix-awx/surveys/backup_server.json.j2 @@ -8,10 +8,10 @@ "required": false, "min": null, "max": null, - "default": "{{ matrix_awx_backup_enabled | string | lower }}", + "default": "{{ awx_backup_enabled | string | lower }}", "choices": "true\nfalse", "new_question": true, - "variable": "matrix_awx_backup_enabled", + "variable": "awx_backup_enabled", "type": "multiplechoice" } ] diff --git a/roles/matrix-awx/tasks/backup_server.yml b/roles/matrix-awx/tasks/backup_server.yml index c328e868a..7ef861948 100644 --- a/roles/matrix-awx/tasks/backup_server.yml +++ b/roles/matrix-awx/tasks/backup_server.yml @@ -7,7 +7,7 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# AWX Settings Start' with_dict: - 'matrix_awx_backup_enabled': '{{ matrix_awx_backup_enabled }}' + 'awx_backup_enabled': '{{ awx_backup_enabled }}' tags: use-survey - name: Save new 'Backup Server' survey.json to the AWX tower, template @@ -66,7 +66,7 @@ register: _create_instances async: 3600 # Maximum runtime in seconds. poll: 0 # Fire and continue (never poll) - when: matrix_awx_backup_enabled|bool + when: awx_backup_enabled|bool - name: Wait for both of these jobs to finish async_status: @@ -76,11 +76,11 @@ delay: 5 # Check every 5 seconds. retries: 720 # Retry for a full hour. with_items: "{{ _create_instances.results }}" - when: matrix_awx_backup_enabled|bool + when: awx_backup_enabled|bool - name: Perform borg backup of postgres dump command: borgmatic -c /root/.config/borgmatic/config_2.yaml - when: matrix_awx_backup_enabled|bool + when: awx_backup_enabled|bool - name: Delete the AWX session token for executing modules awx.awx.tower_token: diff --git a/roles/matrix-awx/tasks/create_user.yml b/roles/matrix-awx/tasks/create_user.yml index 3f4131c4c..fefec426d 100755 --- a/roles/matrix-awx/tasks/create_user.yml +++ b/roles/matrix-awx/tasks/create_user.yml @@ -6,22 +6,18 @@ - name: Set admin bool to zero set_fact: - admin_bool: 0 - when: admin_access == 'false' + awx_admin_bool: 0 + when: awx_admin_access == 'false' - name: Examine if server admin set set_fact: - admin_bool: 1 - when: admin_access == 'true' - -- name: Set boolean value to exit playbook - set_fact: - end_playbook: true + awx_admin_bool: 1 + when: awx_admin_access == 'true' - name: Create user account command: | - /usr/local/bin/matrix-synapse-register-user {{ new_username | quote }} {{ new_password | quote }} {{ admin_bool }} - register: cmd + /usr/local/bin/matrix-synapse-register-user {{ awx_new_username | quote }} {{ awx_new_password | quote }} {{ awx_admin_bool }} + register: awx_cmd_output - name: Delete the AWX session token for executing modules awx.awx.tower_token: @@ -32,9 +28,13 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" +- name: Set boolean value to exit playbook + set_fact: + awx_end_playbook: true + - name: Result - debug: msg="{{ cmd.stdout }}" + debug: msg="{{ awx_cmd_output.stdout }}" - name: End playbook if this task list is called. meta: end_play - when: end_playbook is defined and end_playbook|bool + when: awx_end_playbook is defined and awx_end_playbook|bool diff --git a/roles/matrix-awx/tasks/customise_website_access_export.yml b/roles/matrix-awx/tasks/customise_website_access_export.yml index e82621d0a..c9b96026c 100755 --- a/roles/matrix-awx/tasks/customise_website_access_export.yml +++ b/roles/matrix-awx/tasks/customise_website_access_export.yml @@ -1,3 +1,4 @@ +--- - name: Enable index.html creation if user doesn't wish to customise base domain delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/delete_session_token.yml b/roles/matrix-awx/tasks/delete_session_token.yml index 2a8d2da68..a6a52e487 100644 --- a/roles/matrix-awx/tasks/delete_session_token.yml +++ b/roles/matrix-awx/tasks/delete_session_token.yml @@ -1,3 +1,4 @@ +--- - name: Delete the AWX session token for executing modules awx.awx.tower_token: diff --git a/roles/matrix-awx/tasks/export_server.yml b/roles/matrix-awx/tasks/export_server.yml index 1347c5b97..d779028e7 100644 --- a/roles/matrix-awx/tasks/export_server.yml +++ b/roles/matrix-awx/tasks/export_server.yml @@ -1,21 +1,22 @@ +--- - name: Run export of /matrix/ and snapshot the database simultaneously command: "{{ item }}" with_items: - /bin/sh /usr/local/bin/awx-export-service.sh 1 0 - /bin/sh /usr/local/bin/awx-export-service.sh 0 1 - register: _create_instances + register: awx_create_instances async: 3600 # Maximum runtime in seconds. poll: 0 # Fire and continue (never poll) - name: Wait for both of these jobs to finish async_status: jid: "{{ item.ansible_job_id }}" - register: _jobs - until: _jobs.finished + register: awx_jobs + until: awx_jobs.finished delay: 5 # Check every 5 seconds. retries: 720 # Retry for a full hour. - with_items: "{{ _create_instances.results }}" + with_items: "{{ awx_create_instances.results }}" - name: Schedule deletion of the export in 24 hours at: @@ -35,8 +36,8 @@ - name: Set boolean value to exit playbook set_fact: - end_playbook: true + awx_end_playbook: true - name: End playbook if this task list is called. meta: end_play - when: end_playbook is defined and end_playbook|bool + when: awx_end_playbook is defined and awx_end_playbook|bool diff --git a/roles/matrix-awx/tasks/import_awx.yml b/roles/matrix-awx/tasks/import_awx.yml index d9c3ca6f1..b2154c7a5 100644 --- a/roles/matrix-awx/tasks/import_awx.yml +++ b/roles/matrix-awx/tasks/import_awx.yml @@ -1,7 +1,7 @@ +--- - name: Ensure correct ownership of /matrix/awx shell: chown -R matrix:matrix /matrix/awx - name: Ensure correct ownership of /matrix/synapse shell: chown -R matrix:matrix /matrix/synapse - diff --git a/roles/matrix-awx/tasks/load_hosting_and_org_variables.yml b/roles/matrix-awx/tasks/load_hosting_and_org_variables.yml index aab7250ab..69b2aac80 100644 --- a/roles/matrix-awx/tasks/load_hosting_and_org_variables.yml +++ b/roles/matrix-awx/tasks/load_hosting_and_org_variables.yml @@ -1,3 +1,4 @@ +--- - name: Include vars in organisation.yml include_vars: diff --git a/roles/matrix-awx/tasks/load_matrix_variables.yml b/roles/matrix-awx/tasks/load_matrix_variables.yml index 2a9f9a0de..34754efb3 100755 --- a/roles/matrix-awx/tasks/load_matrix_variables.yml +++ b/roles/matrix-awx/tasks/load_matrix_variables.yml @@ -1,3 +1,4 @@ +--- - name: Include new vars in matrix_vars.yml include_vars: diff --git a/roles/matrix-awx/tasks/purge_database_build_list.yml b/roles/matrix-awx/tasks/purge_database_build_list.yml index 1ea05b7f5..5ca57d220 100644 --- a/roles/matrix-awx/tasks/purge_database_build_list.yml +++ b/roles/matrix-awx/tasks/purge_database_build_list.yml @@ -1,10 +1,11 @@ +--- - name: Collect entire room list into stdout shell: | curl -X GET --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/rooms?from={{ item }}' - register: rooms_output + register: awx_rooms_output - name: Print stdout to file delegate_to: 127.0.0.1 shell: | - echo '{{ rooms_output.stdout }}' >> /tmp/{{ subscription_id }}_room_list_complete.json + echo '{{ awx_rooms_output.stdout }}' >> /tmp/{{ subscription_id }}_room_list_complete.json diff --git a/roles/matrix-awx/tasks/purge_database_events.yml b/roles/matrix-awx/tasks/purge_database_events.yml index 9e2ef9c2c..aaef3cba5 100644 --- a/roles/matrix-awx/tasks/purge_database_events.yml +++ b/roles/matrix-awx/tasks/purge_database_events.yml @@ -1,12 +1,13 @@ +--- - name: Purge all rooms with more then N events shell: | - curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ purge_epoche_time.stdout }}000 }' "{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}" - register: purge_command + curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ awx_purge_epoche_time.stdout }}000 }' "{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}" + register: awx_purge_command - name: Print output of purge command debug: - msg: "{{ purge_command.stdout }}" + msg: "{{ awx_purge_command.stdout }}" - name: Pause for 5 seconds to let Synapse breathe pause: diff --git a/roles/matrix-awx/tasks/purge_database_main.yml b/roles/matrix-awx/tasks/purge_database_main.yml index e7e98627a..c64a54ddd 100644 --- a/roles/matrix-awx/tasks/purge_database_main.yml +++ b/roles/matrix-awx/tasks/purge_database_main.yml @@ -1,3 +1,4 @@ +--- - name: Ensure dateutils and curl is installed in AWX delegate_to: 127.0.0.1 @@ -19,20 +20,20 @@ - name: Collect before shrink size of Synapse database shell: du -sh /matrix/postgres/data - register: db_size_before_stat - when: (purge_mode.find("Perform final shrink") != -1) + register: awx_db_size_before_stat + when: (awx_purge_mode.find("Perform final shrink") != -1) no_log: True - name: Collect the internal IP of the matrix-synapse container shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse" - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) - register: synapse_container_ip + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) + register: awx_synapse_container_ip - name: Collect access token for janitor user shell: | - curl -X POST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ matrix_awx_janitor_user_password }}"}' "{{ synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token' - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) - register: janitors_token + curl -X POST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ awx_janitor_user_password }}"}' "{{ awx_synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token' + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) + register: awx_janitors_token no_log: True - name: Copy build_room_list.py script to target machine @@ -42,107 +43,107 @@ owner: matrix group: matrix mode: '0755' - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Run build_room_list.py script shell: | - runuser -u matrix -- python3 /usr/local/bin/matrix_build_room_list.py {{ janitors_token.stdout[1:-1] }} {{ synapse_container_ip.stdout }} - register: rooms_total - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + runuser -u matrix -- python3 /usr/local/bin/matrix_build_room_list.py {{ awx_janitors_token.stdout[1:-1] }} {{ awx_synapse_container_ip.stdout }} + register: awx_rooms_total + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Fetch complete room list from target machine fetch: src: /tmp/room_list_complete.json dest: "/tmp/{{ subscription_id }}_room_list_complete.json" flat: yes - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Remove complete room list from target machine file: path: /tmp/room_list_complete.json state: absent - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Generate list of rooms with no local users delegate_to: 127.0.0.1 shell: | jq 'try .rooms[] | select(.joined_local_members == 0) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_no_local_users.txt - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Count number of rooms with no local users delegate_to: 127.0.0.1 shell: | wc -l /tmp/{{ subscription_id }}_room_list_no_local_users.txt | awk '{ print $1 }' - register: rooms_no_local_total - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + register: awx_rooms_no_local_total + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) -- name: Setting host fact room_list_no_local_users +- name: Setting host fact awx_room_list_no_local_users set_fact: - room_list_no_local_users: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_no_local_users.txt') }}" + awx_room_list_no_local_users: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_no_local_users.txt') }}" no_log: True - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Purge all rooms with no local users - include_tasks: purge_database_no_local.yml - loop: "{{ room_list_no_local_users.splitlines() | flatten(levels=1) }}" - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + include_tasks: awx_purge_database_no_local.yml + loop: "{{ awx_room_list_no_local_users.splitlines() | flatten(levels=1) }}" + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Collect epoche time from date delegate_to: 127.0.0.1 shell: | - date -d '{{ purge_date }}' +"%s" - when: (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) - register: purge_epoche_time + date -d '{{ awx_purge_date }}' +"%s" + when: (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) + register: awx_purge_epoche_time - name: Generate list of rooms with more then N users delegate_to: 127.0.0.1 shell: | - jq 'try .rooms[] | select(.joined_members > {{ purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_joined_members.txt - when: purge_mode.find("Number of users [slower]") != -1 + jq 'try .rooms[] | select(.joined_members > {{ awx_purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_joined_members.txt + when: awx_purge_mode.find("Number of users [slower]") != -1 - name: Count number of rooms with more then N users delegate_to: 127.0.0.1 shell: | wc -l /tmp/{{ subscription_id }}_room_list_joined_members.txt | awk '{ print $1 }' - register: rooms_join_members_total - when: purge_mode.find("Number of users [slower]") != -1 + register: awx_rooms_join_members_total + when: awx_purge_mode.find("Number of users [slower]") != -1 -- name: Setting host fact room_list_joined_members +- name: Setting host fact awx_room_list_joined_members delegate_to: 127.0.0.1 set_fact: - room_list_joined_members: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_joined_members.txt') }}" - when: purge_mode.find("Number of users [slower]") != -1 + awx_room_list_joined_members: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_joined_members.txt') }}" + when: awx_purge_mode.find("Number of users [slower]") != -1 no_log: True - name: Purge all rooms with more then N users - include_tasks: purge_database_users.yml - loop: "{{ room_list_joined_members.splitlines() | flatten(levels=1) }}" - when: purge_mode.find("Number of users [slower]") != -1 + include_tasks: awx_purge_database_users.yml + loop: "{{ awx_room_list_joined_members.splitlines() | flatten(levels=1) }}" + when: awx_purge_mode.find("Number of users [slower]") != -1 - name: Generate list of rooms with more then N events delegate_to: 127.0.0.1 shell: | - jq 'try .rooms[] | select(.state_events > {{ purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_state_events.txt - when: purge_mode.find("Number of events [slower]") != -1 + jq 'try .rooms[] | select(.state_events > {{ awx_purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_state_events.txt + when: awx_purge_mode.find("Number of events [slower]") != -1 - name: Count number of rooms with more then N events delegate_to: 127.0.0.1 shell: | wc -l /tmp/{{ subscription_id }}_room_list_state_events.txt | awk '{ print $1 }' - register: rooms_state_events_total - when: purge_mode.find("Number of events [slower]") != -1 + register: awx_rooms_state_events_total + when: awx_purge_mode.find("Number of events [slower]") != -1 -- name: Setting host fact room_list_state_events +- name: Setting host fact awx_room_list_state_events delegate_to: 127.0.0.1 set_fact: - room_list_state_events: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_state_events.txt') }}" - when: purge_mode.find("Number of events [slower]") != -1 + awx_room_list_state_events: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_state_events.txt') }}" + when: awx_purge_mode.find("Number of events [slower]") != -1 no_log: True - name: Purge all rooms with more then N events - include_tasks: purge_database_events.yml - loop: "{{ room_list_state_events.splitlines() | flatten(levels=1) }}" - when: purge_mode.find("Number of events [slower]") != -1 + include_tasks: awx_purge_database_events.yml + loop: "{{ awx_room_list_state_events.splitlines() | flatten(levels=1) }}" + when: awx_purge_mode.find("Number of events [slower]") != -1 - name: Adjust 'Deploy/Update a Server' job template delegate_to: 127.0.0.1 @@ -161,7 +162,7 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1) - name: Execute rust-synapse-compress-state job template delegate_to: 127.0.0.1 @@ -171,7 +172,7 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1) - name: Revert 'Deploy/Update a Server' job template delegate_to: 127.0.0.1 @@ -190,25 +191,25 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1) - name: Ensure matrix-synapse is stopped service: name: matrix-synapse state: stopped daemon_reload: yes - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Re-index Synapse database shell: docker exec -i matrix-postgres psql "host=127.0.0.1 port=5432 dbname=synapse user=synapse password={{ matrix_synapse_connection_password }}" -c 'REINDEX (VERBOSE) DATABASE synapse' - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Ensure matrix-synapse is started service: name: matrix-synapse state: started daemon_reload: yes - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Adjust 'Deploy/Update a Server' job template delegate_to: 127.0.0.1 @@ -227,7 +228,7 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Execute run-postgres-vacuum job template delegate_to: 127.0.0.1 @@ -237,7 +238,7 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Revert 'Deploy/Update a Server' job template delegate_to: 127.0.0.1 @@ -256,50 +257,50 @@ tower_host: "https://{{ awx_host }}" tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}" validate_certs: yes - when: (purge_mode.find("Perform final shrink") != -1) + when: (awx_purge_mode.find("Perform final shrink") != -1) - name: Cleanup room_list files delegate_to: 127.0.0.1 shell: | rm /tmp/{{ subscription_id }}_room_list* - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) ignore_errors: yes - name: Collect after shrink size of Synapse database shell: du -sh /matrix/postgres/data - register: db_size_after_stat - when: (purge_mode.find("Perform final shrink") != -1) + register: awx_db_size_after_stat + when: (awx_purge_mode.find("Perform final shrink") != -1) no_log: True - name: Print total number of rooms processed debug: - msg: '{{ rooms_total.stdout }}' - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + msg: '{{ awx_rooms_total.stdout }}' + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Print the number of rooms purged with no local users debug: - msg: '{{ rooms_no_local_total.stdout }}' - when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) + msg: '{{ awx_rooms_no_local_total.stdout }}' + when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) - name: Print the number of rooms purged with more then N users debug: - msg: '{{ rooms_join_members_total.stdout }}' - when: purge_mode.find("Number of users") != -1 + msg: '{{ awx_rooms_join_members_total.stdout }}' + when: awx_purge_mode.find("Number of users") != -1 - name: Print the number of rooms purged with more then N events debug: - msg: '{{ rooms_state_events_total.stdout }}' - when: purge_mode.find("Number of events") != -1 + msg: '{{ awx_rooms_state_events_total.stdout }}' + when: awx_purge_mode.find("Number of events") != -1 - name: Print before purge size of Synapse database debug: - msg: "{{ db_size_before_stat.stdout.split('\n') }}" - when: (db_size_before_stat is defined) and (purge_mode.find("Perform final shrink") != -1) + msg: "{{ awx_db_size_before_stat.stdout.split('\n') }}" + when: ( awx_db_size_before_stat is defined ) and ( awx_purge_mode.find("Perform final shrink" ) != -1 ) - name: Print after purge size of Synapse database debug: - msg: "{{ db_size_after_stat.stdout.split('\n') }}" - when: (db_size_after_stat is defined) and (purge_mode.find("Perform final shrink") != -1) + msg: "{{ awx_db_size_after_stat.stdout.split('\n') }}" + when: (awx_db_size_after_stat is defined) and (awx_purge_mode.find("Perform final shrink") != -1) - name: Delete the AWX session token for executing modules awx.awx.tower_token: @@ -312,8 +313,8 @@ - name: Set boolean value to exit playbook set_fact: - end_playbook: true + awx_end_playbook: true - name: End playbook early if this task is called. meta: end_play - when: end_playbook is defined and end_playbook|bool + when: awx_end_playbook is defined and awx_end_playbook|bool diff --git a/roles/matrix-awx/tasks/purge_database_no_local.yml b/roles/matrix-awx/tasks/purge_database_no_local.yml index d94fd0072..33f99c49b 100644 --- a/roles/matrix-awx/tasks/purge_database_no_local.yml +++ b/roles/matrix-awx/tasks/purge_database_no_local.yml @@ -1,12 +1,13 @@ +--- - name: Purge all rooms with no local users shell: | - curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "room_id": {{ item }} }' '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_room' - register: purge_command + curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "room_id": {{ item }} }' '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_room' + register: awx_purge_command - name: Print output of purge command debug: - msg: "{{ purge_command.stdout }}" + msg: "{{ awx_purge_command.stdout }}" - name: Pause for 5 seconds to let Synapse breathe pause: diff --git a/roles/matrix-awx/tasks/purge_database_users.yml b/roles/matrix-awx/tasks/purge_database_users.yml index 302dffd85..1c8da14d8 100644 --- a/roles/matrix-awx/tasks/purge_database_users.yml +++ b/roles/matrix-awx/tasks/purge_database_users.yml @@ -1,12 +1,13 @@ +--- - name: Purge all rooms with more then N users shell: | - curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ purge_epoche_time.stdout }}000 }' "{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}" - register: purge_command + curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ awx_purge_epoche_time.stdout }}000 }' "{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}" + register: awx_purge_command - name: Print output of purge command debug: - msg: "{{ purge_command.stdout }}" + msg: "{{ awx_purge_command.stdout }}" - name: Pause for 5 seconds to let Synapse breathe pause: diff --git a/roles/matrix-awx/tasks/purge_media_local.yml b/roles/matrix-awx/tasks/purge_media_local.yml index b07c32eac..2074d5d8b 100644 --- a/roles/matrix-awx/tasks/purge_media_local.yml +++ b/roles/matrix-awx/tasks/purge_media_local.yml @@ -1,17 +1,18 @@ +--- - name: Collect epoche time from date shell: | date -d '{{ item }}' +"%s" - register: epoche_time + register: awx_epoche_time - name: Purge local media to specific date shell: | - curl -X POST --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/media/matrix.{{ matrix_domain }}/delete?before_ts={{ epoche_time.stdout }}000' - register: purge_command + curl -X POST --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/media/matrix.{{ matrix_domain }}/delete?before_ts={{ awx_epoche_time.stdout }}000' + register: awx_purge_command - name: Print output of purge command debug: - msg: "{{ purge_command.stdout }}" + msg: "{{ awx_purge_command.stdout }}" - name: Pause for 5 seconds to let Synapse breathe pause: diff --git a/roles/matrix-awx/tasks/purge_media_main.yml b/roles/matrix-awx/tasks/purge_media_main.yml index b24ac3686..9c5f6bfb8 100644 --- a/roles/matrix-awx/tasks/purge_media_main.yml +++ b/roles/matrix-awx/tasks/purge_media_main.yml @@ -19,76 +19,76 @@ - name: Collect the internal IP of the matrix-synapse container shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse" - register: synapse_container_ip + register: awx_synapse_container_ip - name: Collect access token for janitor user shell: | - curl -XPOST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ matrix_awx_janitor_user_password }}"}' "{{ synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token' - register: janitors_token + curl -XPOST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ awx_janitor_user_password }}"}' "{{ awx_synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token' + register: awx_janitors_token no_log: True - name: Generate list of dates to purge to delegate_to: 127.0.0.1 shell: "dateseq {{ matrix_purge_from_date }} {{ matrix_purge_to_date }}" - register: purge_dates + register: awx_purge_dates - name: Calculate initial size of local media repository shell: du -sh /matrix/synapse/storage/media-store/local* - register: local_media_size_before - when: matrix_purge_media_type == "Local Media" + register: awx_local_media_size_before + when: awx_purge_media_type == "Local Media" ignore_errors: yes no_log: True - name: Calculate initial size of remote media repository shell: du -sh /matrix/synapse/storage/media-store/remote* - register: remote_media_size_before - when: matrix_purge_media_type == "Remote Media" + register: awx_remote_media_size_before + when: awx_purge_media_type == "Remote Media" ignore_errors: yes no_log: True - name: Purge local media with loop include_tasks: purge_media_local.yml - loop: "{{ purge_dates.stdout_lines | flatten(levels=1) }}" - when: matrix_purge_media_type == "Local Media" + loop: "{{ awx_purge_dates.stdout_lines | flatten(levels=1) }}" + when: awx_purge_media_type == "Local Media" - name: Purge remote media with loop include_tasks: purge_media_remote.yml - loop: "{{ purge_dates.stdout_lines | flatten(levels=1) }}" - when: matrix_purge_media_type == "Remote Media" + loop: "{{ awx_purge_dates.stdout_lines | flatten(levels=1) }}" + when: awx_purge_media_type == "Remote Media" - name: Calculate final size of local media repository shell: du -sh /matrix/synapse/storage/media-store/local* - register: local_media_size_after - when: matrix_purge_media_type == "Local Media" + register: awx_local_media_size_after + when: awx_purge_media_type == "Local Media" ignore_errors: yes no_log: True - name: Calculate final size of remote media repository shell: du -sh /matrix/synapse/storage/media-store/remote* - register: remote_media_size_after - when: matrix_purge_media_type == "Remote Media" + register: awx_remote_media_size_after + when: awx_purge_media_type == "Remote Media" ignore_errors: yes no_log: True - name: Print size of local media repository before purge debug: - msg: "{{ local_media_size_before.stdout.split('\n') }}" - when: matrix_purge_media_type == "Local Media" + msg: "{{ awx_local_media_size_before.stdout.split('\n') }}" + when: awx_purge_media_type == "Local Media" - name: Print size of local media repository after purge debug: - msg: "{{ local_media_size_after.stdout.split('\n') }}" - when: matrix_purge_media_type == "Local Media" + msg: "{{ awx_local_media_size_after.stdout.split('\n') }}" + when: awx_purge_media_type == "Local Media" - name: Print size of remote media repository before purge debug: - msg: "{{ remote_media_size_before.stdout.split('\n') }}" - when: matrix_purge_media_type == "Remote Media" + msg: "{{ awx_remote_media_size_before.stdout.split('\n') }}" + when: awx_purge_media_type == "Remote Media" - name: Print size of remote media repository after purge debug: - msg: "{{ remote_media_size_after.stdout.split('\n') }}" - when: matrix_purge_media_type == "Remote Media" + msg: "{{ awx_remote_media_size_after.stdout.split('\n') }}" + when: awx_purge_media_type == "Remote Media" - name: Delete the AWX session token for executing modules awx.awx.tower_token: @@ -101,8 +101,8 @@ - name: Set boolean value to exit playbook set_fact: - end_playbook: true + awx_end_playbook: true - name: End playbook early if this task is called. meta: end_play - when: end_playbook is defined and end_playbook|bool + when: awx_end_playbook is defined and awx_end_playbook|bool diff --git a/roles/matrix-awx/tasks/purge_media_remote.yml b/roles/matrix-awx/tasks/purge_media_remote.yml index c2f75c819..1418d9a61 100644 --- a/roles/matrix-awx/tasks/purge_media_remote.yml +++ b/roles/matrix-awx/tasks/purge_media_remote.yml @@ -1,17 +1,18 @@ +--- - name: Collect epoche time from date shell: | date -d '{{ item }}' +"%s" - register: epoche_time + register: awx_epoche_time - name: Purge remote media to specific date shell: | - curl -X POST --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_media_cache?before_ts={{ epoche_time.stdout }}000' - register: purge_command + curl -X POST --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_media_cache?before_ts={{ awx_epoche_time.stdout }}000' + register: awx_purge_command - name: Print output of purge command debug: - msg: "{{ purge_command.stdout }}" + msg: "{{ awx_purge_command.stdout }}" - name: Pause for 5 seconds to let Synapse breathe pause: diff --git a/roles/matrix-awx/tasks/rename_variables.yml b/roles/matrix-awx/tasks/rename_variables.yml index d9a636773..e664325f9 100644 --- a/roles/matrix-awx/tasks/rename_variables.yml +++ b/roles/matrix-awx/tasks/rename_variables.yml @@ -1,3 +1,4 @@ +--- - name: Rename synapse presence variable delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/rotate_ssh.yml b/roles/matrix-awx/tasks/rotate_ssh.yml index 109dd8e23..9596f5047 100644 --- a/roles/matrix-awx/tasks/rotate_ssh.yml +++ b/roles/matrix-awx/tasks/rotate_ssh.yml @@ -1,3 +1,4 @@ +--- - name: Set the new authorized key taken from file authorized_key: diff --git a/roles/matrix-awx/tasks/self_check.yml b/roles/matrix-awx/tasks/self_check.yml index edf6b8b31..510b9f9e7 100644 --- a/roles/matrix-awx/tasks/self_check.yml +++ b/roles/matrix-awx/tasks/self_check.yml @@ -1,3 +1,4 @@ +--- - name: Install prerequisite apt packages on target apt: @@ -23,83 +24,83 @@ - name: Calculate MAU value shell: | curl -s localhost:9000 | grep "^synapse_admin_mau_current " - register: mau_stat + register: awx_mau_stat no_log: True -- name: Print MAU value - debug: - msg: "{{ mau_stat.stdout.split('\n') }}" - when: mau_stat is defined - - name: Calculate CPU usage statistics shell: iostat -c - register: cpu_usage_stat + register: awx_cpu_usage_stat no_log: True -- name: Print CPU usage statistics - debug: - msg: "{{ cpu_usage_stat.stdout.split('\n') }}" - when: cpu_usage_stat is defined - - name: Calculate RAM usage statistics shell: free -mh - register: ram_usage_stat + register: awx_ram_usage_stat no_log: True -- name: Print RAM usage statistics - debug: - msg: "{{ ram_usage_stat.stdout.split('\n') }}" - when: ram_usage_stat is defined - - name: Calculate free disk space shell: df -h - register: disk_space_stat + register: awx_disk_space_stat no_log: True -- name: Print free disk space - debug: - msg: "{{ disk_space_stat.stdout.split('\n') }}" - when: disk_space_stat is defined - - name: Calculate size of Synapse database shell: du -sh /matrix/postgres/data - register: db_size_stat + register: awx_db_size_stat no_log: True -- name: Print size of Synapse database - debug: - msg: "{{ db_size_stat.stdout.split('\n') }}" - when: db_size_stat is defined - - name: Calculate size of local media repository shell: du -sh /matrix/synapse/storage/media-store/local* - register: local_media_size_stat + register: awx_local_media_size_stat ignore_errors: yes no_log: True -- name: Print size of local media repository - debug: - msg: "{{ local_media_size_stat.stdout.split('\n') }}" - when: local_media_size_stat is defined - - name: Calculate size of remote media repository shell: du -sh /matrix/synapse/storage/media-store/remote* - register: remote_media_size_stat + register: awx_remote_media_size_stat ignore_errors: yes no_log: True -- name: Print size of remote media repository - debug: - msg: "{{ remote_media_size_stat.stdout.split('\n') }}" - when: remote_media_size_stat is defined - - name: Calculate docker container statistics shell: docker stats --all --no-stream - register: docker_stats + register: awx_docker_stats ignore_errors: yes no_log: True +- name: Print size of remote media repository + debug: + msg: "{{ awx_remote_media_size_stat.stdout.split('\n') }}" + when: awx_remote_media_size_stat is defined + +- name: Print size of local media repository + debug: + msg: "{{ awx_local_media_size_stat.stdout.split('\n') }}" + when: awx_local_media_size_stat is defined + +- name: Print size of Synapse database + debug: + msg: "{{ awx_db_size_stat.stdout.split('\n') }}" + when: awx_db_size_stat is defined + +- name: Print free disk space + debug: + msg: "{{ awx_disk_space_stat.stdout.split('\n') }}" + when: awx_disk_space_stat is defined + +- name: Print RAM usage statistics + debug: + msg: "{{ awx_ram_usage_stat.stdout.split('\n') }}" + when: awx_ram_usage_stat is defined + +- name: Print CPU usage statistics + debug: + msg: "{{ awx_cpu_usage_stat.stdout.split('\n') }}" + when: awx_cpu_usage_stat is defined + +- name: Print MAU value + debug: + msg: "{{ awx_mau_stat.stdout.split('\n') }}" + when: awx_mau_stat is defined + - name: Print docker container statistics debug: - msg: "{{ docker_stats.stdout.split('\n') }}" - when: docker_stats is defined + msg: "{{ awx_docker_stats.stdout.split('\n') }}" + when: awx_docker_stats is defined diff --git a/roles/matrix-awx/tasks/set_variables_corporal.yml b/roles/matrix-awx/tasks/set_variables_corporal.yml index 27a428cd3..c27ff4859 100755 --- a/roles/matrix-awx/tasks/set_variables_corporal.yml +++ b/roles/matrix-awx/tasks/set_variables_corporal.yml @@ -1,3 +1,4 @@ +--- - name: Record Corporal Enabled/Disabled variable delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_dimension.yml b/roles/matrix-awx/tasks/set_variables_dimension.yml index a3a6d314b..c32737618 100644 --- a/roles/matrix-awx/tasks/set_variables_dimension.yml +++ b/roles/matrix-awx/tasks/set_variables_dimension.yml @@ -1,3 +1,4 @@ +--- - name: Include vars in matrix_vars.yml include_vars: @@ -13,7 +14,7 @@ - name: Collect access token of Dimension user shell: | - curl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user","user": "dimension" }, "password": "{{ matrix_awx_dimension_user_password }}", "type": "m.login.password"}' 'https://matrix.{{ matrix_domain }}/_matrix/client/r0/login' | jq -c '. | {access_token}' | sed 's/.*\":\"//' | sed 's/\"}//' + curl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user","user": "dimension" }, "password": "{{ awx_dimension_user_password }}", "type": "m.login.password"}' 'https://matrix.{{ matrix_domain }}/_matrix/client/r0/login' | jq -c '. | {access_token}' | sed 's/.*\":\"//' | sed 's/\"}//' register: awx_dimension_user_access_token - name: Record Synapse variables locally on AWX diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 6bf9be36e..ea06f3eb9 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -1,3 +1,4 @@ +--- - name: Record Element-Web variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml index 9a10019d8..6fd52fa21 100644 --- a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml +++ b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml @@ -1,3 +1,4 @@ +--- - name: Record Element-Web variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_jitsi.yml b/roles/matrix-awx/tasks/set_variables_jitsi.yml index 6b01a2c3d..4a8c3d0ba 100755 --- a/roles/matrix-awx/tasks/set_variables_jitsi.yml +++ b/roles/matrix-awx/tasks/set_variables_jitsi.yml @@ -1,3 +1,4 @@ +--- - name: Record Jitsi variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_ma1sd.yml b/roles/matrix-awx/tasks/set_variables_ma1sd.yml index c147a229a..2501d191a 100755 --- a/roles/matrix-awx/tasks/set_variables_ma1sd.yml +++ b/roles/matrix-awx/tasks/set_variables_ma1sd.yml @@ -1,3 +1,4 @@ +--- - name: Record ma1sd variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_mailer.yml b/roles/matrix-awx/tasks/set_variables_mailer.yml index ee530e603..2ae2d513b 100644 --- a/roles/matrix-awx/tasks/set_variables_mailer.yml +++ b/roles/matrix-awx/tasks/set_variables_mailer.yml @@ -1,3 +1,4 @@ +--- - name: Record Mailer variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_synapse.yml b/roles/matrix-awx/tasks/set_variables_synapse.yml index 0b0fff788..7ec510691 100755 --- a/roles/matrix-awx/tasks/set_variables_synapse.yml +++ b/roles/matrix-awx/tasks/set_variables_synapse.yml @@ -26,21 +26,21 @@ 'matrix_synapse_url_preview_enabled': '{{ matrix_synapse_url_preview_enabled }}' 'matrix_synapse_allow_guest_access': '{{ matrix_synapse_allow_guest_access }}' -- name: Empty Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty +- name: Empty Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty delegate_to: 127.0.0.1 replace: path: '{{ awx_cached_matrix_vars }}' - regexp: "^awx_matrix_synapse_auto_join_rooms: .*$" - replace: "awx_matrix_synapse_auto_join_rooms: []" - when: awx_matrix_synapse_auto_join_rooms_raw|length == 0 + regexp: "^matrix_synapse_auto_join_rooms: .*$" + replace: "matrix_synapse_auto_join_rooms: []" + when: matrix_synapse_auto_join_rooms_raw|length == 0 - name: If the raw inputs is not empty start constructing parsed auto_join_rooms list set_fact: - awx_matrix_synapse_auto_join_rooms_array: |- - {{ awx_matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }} - when: awx_matrix_synapse_auto_join_rooms_raw|length > 0 + matrix_synapse_auto_join_rooms_array: |- + {{ matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }} + when: matrix_synapse_auto_join_rooms_raw|length > 0 -- name: Record Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank +- name: Record Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -48,8 +48,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Settings Start' with_dict: - "awx_matrix_synapse_auto_join_rooms": "{{ awx_matrix_synapse_auto_join_rooms_array }}" - when: awx_matrix_synapse_auto_join_rooms_raw|length > 0 + "matrix_synapse_auto_join_rooms": "{{ matrix_synapse_auto_join_rooms_array }}" + when: matrix_synapse_auto_join_rooms_raw|length > 0 - name: Record Synapse Shared Secret if it's defined delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_synapse_admin.yml b/roles/matrix-awx/tasks/set_variables_synapse_admin.yml index 972c45128..635befb5a 100644 --- a/roles/matrix-awx/tasks/set_variables_synapse_admin.yml +++ b/roles/matrix-awx/tasks/set_variables_synapse_admin.yml @@ -1,3 +1,4 @@ +--- - name: Record Synapse Admin variables locally on AWX delegate_to: 127.0.0.1 diff --git a/roles/matrix-common-after/tasks/awx_post.yml b/roles/matrix-common-after/tasks/awx_post.yml index b934104bc..8175267d6 100644 --- a/roles/matrix-common-after/tasks/awx_post.yml +++ b/roles/matrix-common-after/tasks/awx_post.yml @@ -2,9 +2,9 @@ - name: Create user account @janitor command: | - /usr/local/bin/matrix-synapse-register-user janitor {{ matrix_awx_janitor_user_password | quote }} 1 + /usr/local/bin/matrix-synapse-register-user janitor {{ awx_janitor_user_password | quote }} 1 register: cmd - when: not matrix_awx_janitor_user_created|bool + when: not awx_janitor_user_created|bool no_log: True - name: Update AWX janitor user created variable @@ -15,14 +15,14 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: 'AWX Settings' with_dict: - 'matrix_awx_janitor_user_created': 'true' - when: not matrix_awx_janitor_user_created|bool + 'awx_janitor_user_created': 'true' + when: not awx_janitor_user_created|bool - name: Create user account @dimension command: | - /usr/local/bin/matrix-synapse-register-user dimension {{ matrix_awx_dimension_user_password | quote }} 0 + /usr/local/bin/matrix-synapse-register-user dimension {{ awx_dimension_user_password | quote }} 0 register: cmd - when: not matrix_awx_dimension_user_created|bool + when: not awx_dimension_user_created|bool no_log: True - name: Update AWX dimension user created variable @@ -33,14 +33,14 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: 'AWX Settings' with_dict: - 'matrix_awx_dimension_user_created': 'true' - when: not matrix_awx_dimension_user_created|bool + 'awx_dimension_user_created': 'true' + when: not awx_dimension_user_created|bool - name: Create user account @mjolnir command: | - /usr/local/bin/matrix-synapse-register-user mjolnir {{ matrix_awx_mjolnir_user_password | quote }} 0 + /usr/local/bin/matrix-synapse-register-user mjolnir {{ awx_mjolnir_user_password | quote }} 0 register: cmd - when: not matrix_awx_mjolnir_user_created|bool + when: not awx_mjolnir_user_created|bool no_log: True - name: Update AWX dimension user created variable @@ -51,8 +51,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: 'AWX Settings' with_dict: - 'matrix_awx_mjolnir_user_created': 'true' - when: not matrix_awx_mjolnir_user_created|bool + 'awx_mjolnir_user_created': 'true' + when: not awx_mjolnir_user_created|bool - name: Ensure /chroot/website location has correct permissions file: @@ -61,4 +61,4 @@ owner: matrix group: matrix mode: '0770' - when: customise_base_domain_website is defined + when: awx_customise_base_domain_website is defined From dd6e6435817a6a5f9978a04910064f40e39fc6a6 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 14:10:06 +0800 Subject: [PATCH 15/37] first round of variable name changes --- .../surveys/configure_corporal.json.j2 | 20 ++++---- .../surveys/configure_dimension.json.j2 | 4 +- .../surveys/configure_synapse.json.j2 | 12 ++--- .../tasks/set_variables_corporal.yml | 26 +++++------ .../tasks/set_variables_dimension.yml | 14 +++--- .../matrix-awx/tasks/set_variables_ma1sd.yml | 2 +- .../tasks/set_variables_synapse.yml | 46 +++++++++---------- 7 files changed, 62 insertions(+), 62 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_corporal.json.j2 b/roles/matrix-awx/surveys/configure_corporal.json.j2 index 14e417ce2..7b782fd07 100755 --- a/roles/matrix-awx/surveys/configure_corporal.json.j2 +++ b/roles/matrix-awx/surveys/configure_corporal.json.j2 @@ -20,10 +20,10 @@ "required": true, "min": null, "max": null, - "default": "{{ matrix_corporal_policy_provider_mode }}", + "default": "{{ awx_corporal_policy_provider_mode }}", "choices": "Simple Static File\nHTTP Pull Mode (API Enabled)\nHTTP Push Mode (API Enabled)", "new_question": true, - "variable": "matrix_corporal_policy_provider_mode", + "variable": "awx_corporal_policy_provider_mode", "type": "multiplechoice" }, { @@ -34,7 +34,7 @@ "max": 65536, "default": "", "new_question": true, - "variable": "matrix_corporal_simple_static_config", + "variable": "awx_corporal_simple_static_config", "type": "textarea" }, { @@ -43,9 +43,9 @@ "required": false, "min": 0, "max": 4096, - "default": "{{ matrix_corporal_pull_mode_uri }}", + "default": "{{ awx_corporal_pull_mode_uri }}", "new_question": true, - "variable": "matrix_corporal_pull_mode_uri", + "variable": "awx_corporal_pull_mode_uri", "type": "text" }, { @@ -54,10 +54,10 @@ "required": false, "min": 0, "max": 256, - "default": "{{ matrix_corporal_pull_mode_token }}", + "default": "{{ awx_corporal_pull_mode_token }}", "choices": "", "new_question": true, - "variable": "matrix_corporal_pull_mode_token", + "variable": "awx_corporal_pull_mode_token", "type": "password" }, { @@ -66,10 +66,10 @@ "required": false, "min": 0, "max": 256, - "default": "{{ matrix_corporal_http_api_auth_token }}", + "default": "{{ awx_corporal_http_api_auth_token }}", "choices": "", "new_question": true, - "variable": "matrix_corporal_http_api_auth_token", + "variable": "awx_corporal_http_api_auth_token", "type": "password" }, { @@ -78,7 +78,7 @@ "required": false, "min": null, "max": null, - "default": "{{ matrix_corporal_raise_ratelimits }}", + "default": "{{ awx_corporal_raise_ratelimits }}", "choices": "Normal\nRaised", "new_question": true, "variable": "matrix_corporal_raise_ratelimits", diff --git a/roles/matrix-awx/surveys/configure_dimension.json.j2 b/roles/matrix-awx/surveys/configure_dimension.json.j2 index 961d137c6..5f79cfd08 100644 --- a/roles/matrix-awx/surveys/configure_dimension.json.j2 +++ b/roles/matrix-awx/surveys/configure_dimension.json.j2 @@ -20,10 +20,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ awx_dimension_users_raw_final | to_json }}, + "default": {{ awx_dimension_users_final | to_json }}, "choices": "", "new_question": true, - "variable": "awx_dimension_users_raw", + "variable": "awx_dimension_users", "type": "textarea" } ] diff --git a/roles/matrix-awx/surveys/configure_synapse.json.j2 b/roles/matrix-awx/surveys/configure_synapse.json.j2 index 029b1fbe0..7a4e711d1 100755 --- a/roles/matrix-awx/surveys/configure_synapse.json.j2 +++ b/roles/matrix-awx/surveys/configure_synapse.json.j2 @@ -119,7 +119,7 @@ "default": "{{ matrix_synapse_max_upload_size_mb }}", "choices": "", "new_question": true, - "variable": "matrix_synapse_max_upload_size_mb_raw", + "variable": "awx_synapse_max_upload_size_mb", "type": "text" }, { @@ -131,7 +131,7 @@ "default": {{ awx_url_preview_accept_language_default | to_json }}, "choices": "", "new_question": true, - "variable": "awx_url_preview_accept_language_raw", + "variable": "awx_url_preview_accept_language", "type": "textarea" }, { @@ -140,10 +140,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ awx_federation_whitelist_raw | to_json }}, + "default": {{ awx_federation_whitelist | to_json }}, "choices": "", "new_question": true, - "variable": "awx_federation_whitelist_raw", + "variable": "awx_federation_whitelist", "type": "textarea" }, { @@ -152,10 +152,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ matrix_synapse_auto_join_rooms_raw | to_json }}, + "default": {{ awx_synapse_auto_join_rooms | to_json }}, "choices": "", "new_question": true, - "variable": "matrix_synapse_auto_join_rooms_raw", + "variable": "awx_synapse_auto_join_rooms", "type": "textarea" }, { diff --git a/roles/matrix-awx/tasks/set_variables_corporal.yml b/roles/matrix-awx/tasks/set_variables_corporal.yml index c27ff4859..3558f717b 100755 --- a/roles/matrix-awx/tasks/set_variables_corporal.yml +++ b/roles/matrix-awx/tasks/set_variables_corporal.yml @@ -63,7 +63,7 @@ insertafter: '# Corporal Settings Start' with_dict: 'matrix_corporal_http_api_enabled': 'false' - when: (matrix_corporal_policy_provider_mode == "Simple Static File") or (not matrix_corporal_enabled|bool) + when: (awx_corporal_policy_provider_mode == "Simple Static File") or (not matrix_corporal_enabled|bool) - name: Enable Corporal API if Push/Pull mode delected delegate_to: 127.0.0.1 @@ -74,7 +74,7 @@ insertafter: '# Corporal Settings Start' with_dict: 'matrix_corporal_http_api_enabled': 'true' - when: (matrix_corporal_policy_provider_mode != "Simple Static File") and (matrix_corporal_enabled|bool) + when: (awx_corporal_policy_provider_mode != "Simple Static File") and (matrix_corporal_enabled|bool) - name: Record Corporal API Access Token if it's defined delegate_to: 127.0.0.1 @@ -84,8 +84,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Corporal Settings Start' with_dict: - 'matrix_corporal_http_api_auth_token': '{{ matrix_corporal_http_api_auth_token }}' - when: matrix_corporal_http_api_auth_token|length > 0 + 'awx_corporal_http_api_auth_token': '{{ awx_corporal_http_api_auth_token }}' + when: awx_corporal_http_api_auth_token|length > 0 - name: Record 'Simple Static File' configuration variables in matrix_vars.yml delegate_to: 127.0.0.1 @@ -98,7 +98,7 @@ "Type": "static_file", "Path": "/etc/matrix-corporal/corporal-policy.json" } - when: matrix_corporal_policy_provider_mode == "Simple Static File" + when: awx_corporal_policy_provider_mode == "Simple Static File" - name: Touch the /matrix/corporal/ directory file: @@ -142,12 +142,12 @@ - name: Record 'Simple Static File' configuration content in corporal-policy.json copy: - content: "{{ matrix_corporal_simple_static_config | string }}" + content: "{{ awx_corporal_simple_static_config | string }}" dest: "/matrix/corporal/config/corporal-policy.json" owner: matrix group: matrix mode: '660' - when: (matrix_corporal_policy_provider_mode == "Simple Static File") and (matrix_corporal_simple_static_config|length > 0) + when: (awx_corporal_policy_provider_mode == "Simple Static File") and (awx_corporal_simple_static_config|length > 0) - name: Record 'HTTP Pull Mode' configuration variables in matrix_vars.yml delegate_to: 127.0.0.1 @@ -158,13 +158,13 @@ matrix_corporal_policy_provider_config: | { "Type": "http", - "Uri": "{{ matrix_corporal_pull_mode_uri }}", - "AuthorizationBearerToken": "{{ matrix_corporal_pull_mode_token }}", + "Uri": "{{ awx_corporal_pull_mode_uri }}", + "AuthorizationBearerToken": "{{ awx_corporal_pull_mode_token }}", "CachePath": "/var/cache/matrix-corporal/last-policy.json", "ReloadIntervalSeconds": 1800, "TimeoutMilliseconds": 30000 } - when: (matrix_corporal_policy_provider_mode == "HTTP Pull Mode (API Enabled)") and (matrix_corporal_pull_mode_uri|length > 0) and (matrix_corporal_pull_mode_token|length > 0) + when: (awx_corporal_policy_provider_mode == "HTTP Pull Mode (API Enabled)") and (matrix_corporal_pull_mode_uri|length > 0) and (awx_corporal_pull_mode_token|length > 0) - name: Record 'HTTP Push Mode' configuration variables in matrix_vars.yml delegate_to: 127.0.0.1 @@ -177,7 +177,7 @@ "Type": "last_seen_store_policy", "CachePath": "/var/cache/matrix-corporal/last-policy.json" } - when: (matrix_corporal_policy_provider_mode == "HTTP Push Mode (API Enabled)") + when: (awx_corporal_policy_provider_mode == "HTTP Push Mode (API Enabled)") - name: Lower RateLimit if set to 'Normal' delegate_to: 127.0.0.1 @@ -185,7 +185,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: ' address:\n per_second: 50\n burst_count: 300\n account:\n per_second: 0.17\n burst_count: 300' replace: ' address:\n per_second: 0.17\n burst_count: 3\n account:\n per_second: 0.17\n burst_count: 3' - when: matrix_corporal_raise_ratelimits == "Normal" + when: awx_corporal_raise_ratelimits == "Normal" - name: Raise RateLimit if set to 'Raised' delegate_to: 127.0.0.1 @@ -193,7 +193,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: ' address:\n per_second: 0.17\n burst_count: 3\n account:\n per_second: 0.17\n burst_count: 3' replace: ' address:\n per_second: 50\n burst_count: 300\n account:\n per_second: 0.17\n burst_count: 300' - when: matrix_corporal_raise_ratelimits == "Raised" + when: awx_corporal_raise_ratelimits == "Raised" - name: Save new 'Configure Corporal' survey.json to the AWX tower delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_dimension.yml b/roles/matrix-awx/tasks/set_variables_dimension.yml index c32737618..65400bbc0 100644 --- a/roles/matrix-awx/tasks/set_variables_dimension.yml +++ b/roles/matrix-awx/tasks/set_variables_dimension.yml @@ -30,13 +30,13 @@ - name: Set final users list if users are defined set_fact: - awx_dimension_users_raw_final: "{{ awx_dimension_users_raw }}" - when: awx_dimension_users_raw|length > 0 + awx_dimension_users_final: "{{ awx_dimension_users }}" + when: awx_dimension_users|length > 0 - name: Set final users list if no users are defined set_fact: - awx_dimension_users_raw_final: '@dimension:{{ matrix_domain }}' - when: awx_dimension_users_raw|length == 0 + awx_dimension_users_final: '@dimension:{{ matrix_domain }}' + when: awx_dimension_users|length == 0 - name: Remove Dimension Users delegate_to: 127.0.0.1 @@ -59,7 +59,7 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^matrix_dimension_admins:' line: ' - "{{ item }}"' - with_items: "{{ awx_dimension_users_raw_final.splitlines() }}" + with_items: "{{ awx_dimension_users_final.splitlines() }}" - name: Record Dimension Custom variables locally on AWX delegate_to: 127.0.0.1 @@ -67,9 +67,9 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" line: "{{ item.key }}: {{ item.value }}" - insertafter: '# Custom Settings Start' + insertbefore: '# Dimension Settings End' with_dict: - 'awx_dimension_users_raw': '{{ awx_dimension_users_raw.splitlines() | to_json }}' + 'awx_dimension_users': '{{ awx_dimension_users.splitlines() | to_json }}' - name: Save new 'Configure Dimension' survey.json to the AWX tower, template delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_ma1sd.yml b/roles/matrix-awx/tasks/set_variables_ma1sd.yml index 2501d191a..0f4234f18 100755 --- a/roles/matrix-awx/tasks/set_variables_ma1sd.yml +++ b/roles/matrix-awx/tasks/set_variables_ma1sd.yml @@ -62,7 +62,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" line: "{{ item.key }}: {{ item.value }}" - insertbefore: '# Custom Settings Start' + insertbefore: '# ma1sd Settings End' with_dict: 'awx_matrix_ma1sd_auth_store': '{{ awx_matrix_ma1sd_auth_store }}' 'awx_matrix_ma1sd_configuration_extension_yaml': '{{ awx_matrix_ma1sd_configuration_extension_yaml.splitlines() | to_json }}' diff --git a/roles/matrix-awx/tasks/set_variables_synapse.yml b/roles/matrix-awx/tasks/set_variables_synapse.yml index 7ec510691..df6b27988 100755 --- a/roles/matrix-awx/tasks/set_variables_synapse.yml +++ b/roles/matrix-awx/tasks/set_variables_synapse.yml @@ -2,12 +2,12 @@ - name: Limit max upload size to 200MB part 1 set_fact: matrix_synapse_max_upload_size_mb: "200" - when: matrix_synapse_max_upload_size_mb_raw|int >= 200 + when: awx_synapse_max_upload_size_mb | int >= 200 - name: Limit max upload size to 200MB part 2 set_fact: - matrix_synapse_max_upload_size_mb: "{{ matrix_synapse_max_upload_size_mb_raw }}" - when: matrix_synapse_max_upload_size_mb_raw|int < 200 + matrix_synapse_max_upload_size_mb: "{{ awx_synapse_max_upload_size_mb }}" + when: awx_synapse_max_upload_size_mb | int < 200 - name: Record Synapse variables locally on AWX delegate_to: 127.0.0.1 @@ -32,13 +32,13 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_synapse_auto_join_rooms: .*$" replace: "matrix_synapse_auto_join_rooms: []" - when: matrix_synapse_auto_join_rooms_raw|length == 0 + when: awx_synapse_auto_join_rooms | length == 0 - name: If the raw inputs is not empty start constructing parsed auto_join_rooms list set_fact: - matrix_synapse_auto_join_rooms_array: |- - {{ matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }} - when: matrix_synapse_auto_join_rooms_raw|length > 0 + awx_synapse_auto_join_rooms_array: |- + {{ awx_synapse_auto_join_rooms.splitlines() | to_json }} + when: awx_synapse_auto_join_rooms|length > 0 - name: Record Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank delegate_to: 127.0.0.1 @@ -48,8 +48,8 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Synapse Settings Start' with_dict: - "matrix_synapse_auto_join_rooms": "{{ matrix_synapse_auto_join_rooms_array }}" - when: matrix_synapse_auto_join_rooms_raw|length > 0 + "matrix_synapse_auto_join_rooms": "{{ awx_synapse_auto_join_rooms_array }}" + when: awx_synapse_auto_join_rooms|length > 0 - name: Record Synapse Shared Secret if it's defined delegate_to: 127.0.0.1 @@ -60,7 +60,7 @@ insertafter: '# Synapse Settings Start' with_dict: 'matrix_synapse_registration_shared_secret': '{{ awx_matrix_synapse_registration_shared_secret }}' - when: awx_matrix_synapse_registration_shared_secret|length > 0 + when: awx_matrix_synapse_registration_shared_secret | length > 0 - name: Record registations_require_3pid extra variable if true delegate_to: 127.0.0.1 @@ -72,7 +72,7 @@ with_items: - " registrations_require_3pid:" - " - email" - when: awx_registrations_require_3pid|bool + when: awx_registrations_require_3pid | bool - name: Remove registrations_require_3pid extra variable if false delegate_to: 127.0.0.1 @@ -85,7 +85,7 @@ with_items: - " registrations_require_3pid:" - " - email" - when: not awx_registrations_require_3pid|bool + when: not awx_registrations_require_3pid | bool - name: Remove URL Languages delegate_to: 127.0.0.1 @@ -98,12 +98,12 @@ - name: Set URL languages default if raw inputs empty set_fact: awx_url_preview_accept_language_default: 'en' - when: awx_url_preview_accept_language_raw|length == 0 + when: awx_url_preview_accept_language | length == 0 - name: Set URL languages default if raw inputs not empty set_fact: - awx_url_preview_accept_language_default: "{{ awx_url_preview_accept_language_raw }}" - when: awx_url_preview_accept_language_raw|length > 0 + awx_url_preview_accept_language_default: "{{ awx_url_preview_accept_language }}" + when: awx_url_preview_accept_language|length > 0 - name: Set URL languages if raw inputs empty delegate_to: 127.0.0.1 @@ -111,7 +111,7 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^ url_preview_accept_language:' line: " - {{ awx_url_preview_accept_language_default }}" - when: awx_url_preview_accept_language_raw|length == 0 + when: awx_url_preview_accept_language|length == 0 - name: Set URL languages if raw inputs not empty delegate_to: 127.0.0.1 @@ -119,8 +119,8 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^ url_preview_accept_language:' line: " - {{ item }}" - with_items: "{{ awx_url_preview_accept_language_raw.splitlines() }}" - when: awx_url_preview_accept_language_raw|length > 0 + with_items: "{{ awx_url_preview_accept_language.splitlines() }}" + when: awx_url_preview_accept_language | length > 0 - name: Remove Federation Whitelisting 1 delegate_to: 127.0.0.1 @@ -143,7 +143,7 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^matrix_synapse_configuration_extension_yaml: \|' line: " federation_domain_whitelist:" - when: awx_federation_whitelist_raw|length > 0 + when: awx_federation_whitelist | length > 0 - name: Set Federation Whitelisting 2 delegate_to: 127.0.0.1 @@ -151,8 +151,8 @@ path: '{{ awx_cached_matrix_vars }}' insertafter: '^ federation_domain_whitelist:' line: " - {{ item }}" - with_items: "{{ awx_federation_whitelist_raw.splitlines() }}" - when: awx_federation_whitelist_raw|length > 0 + with_items: "{{ awx_federation_whitelist.splitlines() }}" + when: awx_federation_whitelist | length > 0 - name: Set awx_recaptcha_public_key to a 'public-key' if undefined set_fact: awx_recaptcha_public_key="public-key" @@ -180,9 +180,9 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" line: "{{ item.key }}: {{ item.value }}" - insertafter: '# Custom Settings Start' + insertbefore: '# Synapse Settings End' with_dict: - 'awx_federation_whitelist_raw': '{{ awx_federation_whitelist_raw.splitlines() | to_json }}' + 'awx_federation_whitelist': '{{ awx_federation_whitelist.splitlines() | to_json }}' 'awx_url_preview_accept_language_default': '{{ awx_url_preview_accept_language_default.splitlines() | to_json }}' 'awx_enable_registration_captcha': '{{ awx_enable_registration_captcha }}' 'awx_recaptcha_public_key': '"{{ awx_recaptcha_public_key }}"' From 07a5433c2469a0b8b0dadc4d56bc086b510398a0 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 14:39:36 +0800 Subject: [PATCH 16/37] fix lineinfile --- roles/matrix-awx/tasks/set_variables_element.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index ea06f3eb9..bb0c4ef46 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -20,7 +20,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" line: "{{ item.key }}: {{ item.value }}" - insertbefore: '# Custom Settings Start' + insertbefore: '# Element Settings Start' with_dict: 'awx_matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' 'awx_matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' From a631587ebd83d8c92da875ef52043b2e604a6b9c Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 14:44:27 +0800 Subject: [PATCH 17/37] this isnt needed --- roles/matrix-awx/tasks/set_variables_element.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index bb0c4ef46..70c59020c 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -14,19 +14,6 @@ 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' -- name: Record Element-Web custom variables locally on AWX - delegate_to: 127.0.0.1 - lineinfile: - path: '{{ awx_cached_matrix_vars }}' - regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" - insertbefore: '# Element Settings Start' - with_dict: - 'awx_matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' - 'awx_matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' - 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' - 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' - - name: Set fact for 'https' string set_fact: awx_https_string: "https" From 89c8ae94d632f5c70ff5223c38ac8b5b22d4e039 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Sun, 10 Oct 2021 16:16:31 +0800 Subject: [PATCH 18/37] update --- roles/matrix-awx/tasks/backup_server.yml | 4 ++-- .../tasks/set_variables_dimension.yml | 4 ++-- .../tasks/set_variables_element.yml | 20 +++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/roles/matrix-awx/tasks/backup_server.yml b/roles/matrix-awx/tasks/backup_server.yml index 7ef861948..d33f0f704 100644 --- a/roles/matrix-awx/tasks/backup_server.yml +++ b/roles/matrix-awx/tasks/backup_server.yml @@ -93,8 +93,8 @@ - name: Set boolean value to exit playbook set_fact: - end_playbook: true + awx_end_playbook: true - name: End playbook if this task list is called. meta: end_play - when: end_playbook is defined and end_playbook|bool + when: awx_end_playbook is defined and awx_end_playbook|bool diff --git a/roles/matrix-awx/tasks/set_variables_dimension.yml b/roles/matrix-awx/tasks/set_variables_dimension.yml index 65400bbc0..d5e51c6bc 100644 --- a/roles/matrix-awx/tasks/set_variables_dimension.yml +++ b/roles/matrix-awx/tasks/set_variables_dimension.yml @@ -31,12 +31,12 @@ - name: Set final users list if users are defined set_fact: awx_dimension_users_final: "{{ awx_dimension_users }}" - when: awx_dimension_users|length > 0 + when: awx_dimension_users | length > 0 - name: Set final users list if no users are defined set_fact: awx_dimension_users_final: '@dimension:{{ matrix_domain }}' - when: awx_dimension_users|length == 0 + when: awx_dimension_users | length == 0 - name: Remove Dimension Users delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 70c59020c..c3ed2ead1 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -23,10 +23,10 @@ lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" + line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' + 'matrix_client_element_welcome_logo': "'{{ awx_matrix_client_element_welcome_logo }}'" when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove custom logo locally on AWX if not defined @@ -42,10 +42,10 @@ lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" + line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' + 'matrix_client_element_welcome_logo_link': "'{{ awx_matrix_client_element_welcome_logo_link }}'" when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove custom logo link locally on AWX if not defined @@ -61,10 +61,10 @@ lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" + line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' + 'matrix_client_element_welcome_headline': "'{{ awx_matrix_client_element_welcome_headline }}'" when: awx_matrix_client_element_welcome_headline | trim | length > 0 - name: Remove custom headline locally on AWX if not defined @@ -80,10 +80,10 @@ lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" + line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' + 'matrix_client_element_welcome_text': "'{{ awx_matrix_client_element_welcome_text }}'" when: awx_matrix_client_element_welcome_text | trim | length > 0 - name: Remove custom text locally on AWX if not defined @@ -99,10 +99,10 @@ lineinfile: path: '{{ awx_cached_matrix_vars }}' regexp: "^#? *{{ item.key | regex_escape() }}:" - line: "{{ item.key }}: {{ item.value }}" + line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' + 'matrix_client_element_branding_welcomeBackgroundUrl': "'{{ matrix_client_element_branding_welcomeBackgroundUrl }}'" when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | length > 0 ) - name: Save new 'Configure Element' survey.json to the AWX tower, template From 1ae103bbbecad849a5ef8f5263b913151a272f09 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 10:07:34 +0800 Subject: [PATCH 19/37] stop configure element from double wrapping this --- roles/matrix-awx/tasks/set_variables_element.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index c3ed2ead1..ad19d839c 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -102,7 +102,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_branding_welcomeBackgroundUrl': "'{{ matrix_client_element_branding_welcomeBackgroundUrl }}'" + 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | length > 0 ) - name: Save new 'Configure Element' survey.json to the AWX tower, template From a352ea4674a97bdb0bf1b6916a304325358e783f Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 10:23:37 +0800 Subject: [PATCH 20/37] derp --- roles/matrix-awx/tasks/set_variables_element.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index ad19d839c..629d43b10 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -26,7 +26,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': "'{{ awx_matrix_client_element_welcome_logo }}'" + 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove custom logo locally on AWX if not defined @@ -45,7 +45,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo_link': "'{{ awx_matrix_client_element_welcome_logo_link }}'" + 'matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove custom logo link locally on AWX if not defined @@ -64,7 +64,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_headline': "'{{ awx_matrix_client_element_welcome_headline }}'" + 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' when: awx_matrix_client_element_welcome_headline | trim | length > 0 - name: Remove custom headline locally on AWX if not defined @@ -83,7 +83,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_text': "'{{ awx_matrix_client_element_welcome_text }}'" + 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' when: awx_matrix_client_element_welcome_text | trim | length > 0 - name: Remove custom text locally on AWX if not defined From 79acf6fc7ee751e176ed1fa5b01fc81f2be3f1ae Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 10:30:12 +0800 Subject: [PATCH 21/37] update conditionals --- roles/matrix-awx/tasks/set_variables_element.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 629d43b10..59d4080aa 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -92,7 +92,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_text: " state: absent - when: awx_matrix_client_element_welcome_text|trim|length == 0 + when: awx_matrix_client_element_welcome_text | trim | length == 0 - name: Record Element-Web Background variable locally on AWX delegate_to: 127.0.0.1 @@ -103,7 +103,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | length > 0 ) + when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 ) - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From 85bc12d14c0902f7ada0f1eb188b6ce8f358e2db Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 10:37:02 +0800 Subject: [PATCH 22/37] saner handling of background variable --- roles/matrix-awx/tasks/set_variables_element.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 59d4080aa..457c3d0a8 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -94,7 +94,7 @@ state: absent when: awx_matrix_client_element_welcome_text | trim | length == 0 -- name: Record Element-Web Background variable locally on AWX +- name: Set element-web background locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -103,7 +103,15 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - when: ( awx_https_string in matrix_client_element_branding_welcomeBackgroundUrl ) and ( matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 ) + when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 + +- name: Remove element-web background locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_branding_welcomeBackgroundUrl: " + state: absent + when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length == 0 - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From 6a8799afcc53000a50af9ca35bba389acdb2296a Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 10:55:39 +0800 Subject: [PATCH 23/37] wrap brand variable in single quotes too --- roles/matrix-awx/tasks/set_variables_element.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 457c3d0a8..7448fb8d6 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -10,7 +10,7 @@ with_dict: 'matrix_client_element_enabled': '{{ matrix_client_element_enabled }}' 'matrix_client_element_jitsi_preferredDomain': '{{ matrix_client_element_jitsi_preferredDomain }}' - 'matrix_client_element_brand': '{{ matrix_client_element_brand }}' + 'matrix_client_element_brand': "'{{ matrix_client_element_brand }}'" 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' From 291efc1163537f27d04d1661c6518d0f5b95da4a Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 11:20:28 +0800 Subject: [PATCH 24/37] update element section --- .../surveys/configure_element.json.j2 | 24 +++++++++---------- .../tasks/set_variables_element.yml | 21 ++++++++++++++-- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index e5bd7166d..490db7d13 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -14,18 +14,6 @@ "variable": "matrix_client_element_enabled", "type": "multiplechoice" }, - { - "question_name": "Set Branding for Web Client", - "question_description": "Sets the 'branding' seen in the tab and on the welcome page to a custom value.", - "required": false, - "min": 0, - "max": 256, - "default": "{{ matrix_client_element_brand }}", - "choices": "", - "new_question": true, - "variable": "matrix_client_element_brand", - "type": "text" - }, { "question_name": "Set Theme for Web Client", "question_description": "Sets the default theme for the web client, can be changed later by individual users.", @@ -38,6 +26,18 @@ "variable": "matrix_client_element_default_theme", "type": "multiplechoice" }, + { + "question_name": "Set Branding for Web Client", + "question_description": "Sets the 'branding' seen in the tab and on the welcome page to a custom value.Leaving this field blank will cause the default branding will be used: 'Element'", + "required": false, + "min": 0, + "max": 256, + "default": "{{ matrix_client_element_brand }}", + "choices": "", + "new_question": true, + "variable": "matrix_client_element_brand", + "type": "text" + }, { "question_name": "Set Welcome Page Background", "question_description": "Sets the background image on the welcome page, you should enter a URL to the image you want to use. Must be a 'https' link, otherwise it won't be set. Leaving this field blank will cause the default background to be used.", diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 7448fb8d6..407b37395 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -9,11 +9,28 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_enabled': '{{ matrix_client_element_enabled }}' - 'matrix_client_element_jitsi_preferredDomain': '{{ matrix_client_element_jitsi_preferredDomain }}' - 'matrix_client_element_brand': "'{{ matrix_client_element_brand }}'" + 'matrix_client_element_jitsi_preferredDomain': 'jitsi.{{ matrix_domain }}' 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' +- name: Set custom branding locally on AWX + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: '{{ item.value }}'" + insertafter: '# Element Settings Start' + with_dict: + 'matrix_client_element_brand': "{{ matrix_client_element_brand }}" + +- name: Remove custom branding locally on AWX if not defined + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^matrix_client_element_brand: " + state: absent + when: matrix_client_element_brand | trim | length == 0 + - name: Set fact for 'https' string set_fact: awx_https_string: "https" From 36883150c6c3c7f5903509265d37cfdc0c6e776e Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 11:30:30 +0800 Subject: [PATCH 25/37] update --- roles/matrix-awx/tasks/set_variables_element.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 407b37395..0df83ee77 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -21,7 +21,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_brand': "{{ matrix_client_element_brand }}" + 'matrix_client_element_brand': "{{ awx_matrix_client_element_brand }}" - name: Remove custom branding locally on AWX if not defined delegate_to: 127.0.0.1 @@ -29,7 +29,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_brand: " state: absent - when: matrix_client_element_brand | trim | length == 0 + when: awx_matrix_client_element_brand | trim | length == 0 - name: Set fact for 'https' string set_fact: From 9f0a8965d5c64c42160f9257c42bc32c70a2d4e4 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 11:43:58 +0800 Subject: [PATCH 26/37] update element config --- roles/matrix-awx/tasks/set_variables_element.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 0df83ee77..407b37395 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -21,7 +21,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_brand': "{{ awx_matrix_client_element_brand }}" + 'matrix_client_element_brand': "{{ matrix_client_element_brand }}" - name: Remove custom branding locally on AWX if not defined delegate_to: 127.0.0.1 @@ -29,7 +29,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_brand: " state: absent - when: awx_matrix_client_element_brand | trim | length == 0 + when: matrix_client_element_brand | trim | length == 0 - name: Set fact for 'https' string set_fact: From 8ff0ae27b8b9dc7c46006e436923487774978510 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 12:15:15 +0800 Subject: [PATCH 27/37] update element section --- .../surveys/configure_element.json.j2 | 16 ++++++------- .../tasks/set_variables_element.yml | 24 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 490db7d13..f8b184c2e 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -56,10 +56,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ awx_matrix_client_element_welcome_logo }}", + "default": "{{ matrix_client_element_welcome_logo }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_logo", + "variable": "matrix_client_element_welcome_logo", "type": "text" }, { @@ -68,10 +68,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ awx_matrix_client_element_welcome_logo_link }}", + "default": "{{ matrix_client_element_welcome_logo_link }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_logo_link", + "variable": "matrix_client_element_welcome_logo_link", "type": "text" }, { @@ -80,10 +80,10 @@ "required": false, "min": 0, "max": 512, - "default": "{{ awx_matrix_client_element_welcome_headline }}", + "default": "{{ matrix_client_element_welcome_headline }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_headline", + "variable": "matrix_client_element_welcome_headline", "type": "text" }, { @@ -92,10 +92,10 @@ "required": false, "min": 0, "max": 2048, - "default": "{{ awx_matrix_client_element_welcome_text }}", + "default": "{{ matrix_client_element_welcome_text }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_text", + "variable": "matrix_client_element_welcome_text", "type": "text" }, { diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 407b37395..db68ba1c0 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -43,8 +43,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) + 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' + when: ( awx_https_string in matrix_client_element_welcome_logo ) and ( matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -52,7 +52,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: awx_matrix_client_element_welcome_logo | trim | length == 0 + when: matrix_client_element_welcome_logo | trim | length == 0 - name: Set custom logo link locally on AWX if defined delegate_to: 127.0.0.1 @@ -62,8 +62,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) + 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' + when: ( awx_https_string in matrix_client_element_welcome_logo_link ) and ( matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 @@ -71,7 +71,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo_link: " state: absent - when: awx_matrix_client_element_welcome_logo_link | trim | length == 0 + when: matrix_client_element_welcome_logo_link | trim | length == 0 - name: Set custom headline locally on AWX if defined delegate_to: 127.0.0.1 @@ -81,8 +81,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' - when: awx_matrix_client_element_welcome_headline | trim | length > 0 + 'matrix_client_element_welcome_headline': '{{ matrix_client_element_welcome_headline }}' + when: matrix_client_element_welcome_headline | trim | length > 0 - name: Remove custom headline locally on AWX if not defined delegate_to: 127.0.0.1 @@ -90,7 +90,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_headline: " state: absent - when: awx_matrix_client_element_welcome_headline | trim | length == 0 + when: matrix_client_element_welcome_headline | trim | length == 0 - name: Set custom text locally on AWX if defined delegate_to: 127.0.0.1 @@ -100,8 +100,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' - when: awx_matrix_client_element_welcome_text | trim | length > 0 + 'matrix_client_element_welcome_text': '{{ matrix_client_element_welcome_text }}' + when: matrix_client_element_welcome_text | trim | length > 0 - name: Remove custom text locally on AWX if not defined delegate_to: 127.0.0.1 @@ -109,7 +109,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_text: " state: absent - when: awx_matrix_client_element_welcome_text | trim | length == 0 + when: matrix_client_element_welcome_text | trim | length == 0 - name: Set element-web background locally on AWX if defined delegate_to: 127.0.0.1 From 53f4b84d1f2b6e3d88d3d913b26939452a4b6f1f Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 12:55:49 +0800 Subject: [PATCH 28/37] update element section --- .../surveys/configure_element.json.j2 | 24 +++++----- .../tasks/set_variables_element.yml | 47 ++++++++++++------- 2 files changed, 43 insertions(+), 28 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index f8b184c2e..ef9b5d07a 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -32,10 +32,10 @@ "required": false, "min": 0, "max": 256, - "default": "{{ matrix_client_element_brand }}", + "default": "{{ awx_matrix_client_element_brand }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_brand", + "variable": "awx_matrix_client_element_brand", "type": "text" }, { @@ -44,10 +44,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl }}", + "default": "{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_branding_welcomeBackgroundUrl", + "variable": "awx_matrix_client_element_branding_welcomeBackgroundUrl", "type": "text" }, { @@ -56,10 +56,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_welcome_logo }}", + "default": "{{ awx_matrix_client_element_welcome_logo }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_welcome_logo", + "variable": "awx_matrix_client_element_welcome_logo", "type": "text" }, { @@ -68,10 +68,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_welcome_logo_link }}", + "default": "{{ awx_matrix_client_element_welcome_logo_link }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_welcome_logo_link", + "variable": "awx_matrix_client_element_welcome_logo_link", "type": "text" }, { @@ -80,10 +80,10 @@ "required": false, "min": 0, "max": 512, - "default": "{{ matrix_client_element_welcome_headline }}", + "default": "{{ awx_matrix_client_element_welcome_headline }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_welcome_headline", + "variable": "awx_matrix_client_element_welcome_headline", "type": "text" }, { @@ -92,10 +92,10 @@ "required": false, "min": 0, "max": 2048, - "default": "{{ matrix_client_element_welcome_text }}", + "default": "{{ awx_matrix_client_element_welcome_text }}", "choices": "", "new_question": true, - "variable": "matrix_client_element_welcome_text", + "variable": "awx_matrix_client_element_welcome_text", "type": "text" }, { diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index db68ba1c0..bf4538ab8 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -13,6 +13,21 @@ 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' +- name: Record Synapse Custom variables locally on AWX + delegate_to: 127.0.0.1 + lineinfile: + path: '{{ awx_cached_matrix_vars }}' + regexp: "^#? *{{ item.key | regex_escape() }}:" + line: "{{ item.key }}: '{{ item.value }}'" + insertbefore: '# Element Settings End' + with_dict: + 'awx_matrix_client_element_brand': '{{ awx_matrix_client_element_brand }}' + 'awx_matrix_client_element_branding_welcomeBackgroundUrl:' '{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}' + 'awx_matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' + 'awx_matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' + 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' + 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' + - name: Set custom branding locally on AWX delegate_to: 127.0.0.1 lineinfile: @@ -21,7 +36,7 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_brand': "{{ matrix_client_element_brand }}" + 'matrix_client_element_brand': "{{ awx_matrix_client_element_brand }}" - name: Remove custom branding locally on AWX if not defined delegate_to: 127.0.0.1 @@ -29,7 +44,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_brand: " state: absent - when: matrix_client_element_brand | trim | length == 0 + when: awx_matrix_client_element_brand | trim | length == 0 - name: Set fact for 'https' string set_fact: @@ -43,8 +58,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' - when: ( awx_https_string in matrix_client_element_welcome_logo ) and ( matrix_client_element_welcome_logo | trim | length > 0 ) + 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' + when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -52,7 +67,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: matrix_client_element_welcome_logo | trim | length == 0 + when: awx_matrix_client_element_welcome_logo | trim | length == 0 - name: Set custom logo link locally on AWX if defined delegate_to: 127.0.0.1 @@ -63,7 +78,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' - when: ( awx_https_string in matrix_client_element_welcome_logo_link ) and ( matrix_client_element_welcome_logo_link | trim | length > 0 ) + when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 @@ -71,7 +86,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo_link: " state: absent - when: matrix_client_element_welcome_logo_link | trim | length == 0 + when: awx_matrix_client_element_welcome_logo_link | trim | length == 0 - name: Set custom headline locally on AWX if defined delegate_to: 127.0.0.1 @@ -81,8 +96,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_headline': '{{ matrix_client_element_welcome_headline }}' - when: matrix_client_element_welcome_headline | trim | length > 0 + 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' + when: awx_matrix_client_element_welcome_headline | trim | length > 0 - name: Remove custom headline locally on AWX if not defined delegate_to: 127.0.0.1 @@ -90,7 +105,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_headline: " state: absent - when: matrix_client_element_welcome_headline | trim | length == 0 + when: awx_matrix_client_element_welcome_headline | trim | length == 0 - name: Set custom text locally on AWX if defined delegate_to: 127.0.0.1 @@ -100,8 +115,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_text': '{{ matrix_client_element_welcome_text }}' - when: matrix_client_element_welcome_text | trim | length > 0 + 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' + when: awx_matrix_client_element_welcome_text | trim | length > 0 - name: Remove custom text locally on AWX if not defined delegate_to: 127.0.0.1 @@ -109,7 +124,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_text: " state: absent - when: matrix_client_element_welcome_text | trim | length == 0 + when: awx_matrix_client_element_welcome_text | trim | length == 0 - name: Set element-web background locally on AWX if defined delegate_to: 127.0.0.1 @@ -119,8 +134,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 + 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}' + when: awx_matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 - name: Remove element-web background locally on AWX if not defined delegate_to: 127.0.0.1 @@ -128,7 +143,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_branding_welcomeBackgroundUrl: " state: absent - when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length == 0 + when: awx_matrix_client_element_branding_welcomeBackgroundUrl | trim | length == 0 - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From 676ba70971c28ca9e205c203f8f568e3ef6ed74d Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 12:57:16 +0800 Subject: [PATCH 29/37] update element section --- .../tasks/set_variables_element.yml | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index bf4538ab8..fc9e275ad 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -13,7 +13,7 @@ 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' -- name: Record Synapse Custom variables locally on AWX +- name: Record Element-Web custom variables locally on AWX delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -28,7 +28,7 @@ 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' -- name: Set custom branding locally on AWX +- name: Set Element-Web custom branding locally on AWX delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -38,7 +38,7 @@ with_dict: 'matrix_client_element_brand': "{{ awx_matrix_client_element_brand }}" -- name: Remove custom branding locally on AWX if not defined +- name: Remove Element-Web custom branding locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -50,7 +50,7 @@ set_fact: awx_https_string: "https" -- name: Set custom logo locally on AWX if defined +- name: Set Element-Web custom logo locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -61,7 +61,7 @@ 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) -- name: Remove custom logo locally on AWX if not defined +- name: Remove Element-Web custom logo locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -69,7 +69,7 @@ state: absent when: awx_matrix_client_element_welcome_logo | trim | length == 0 -- name: Set custom logo link locally on AWX if defined +- name: Set Element-Web custom logo link locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -80,7 +80,7 @@ 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) -- name: Remove custom logo link locally on AWX if not defined +- name: Remove Element-Web custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -88,7 +88,7 @@ state: absent when: awx_matrix_client_element_welcome_logo_link | trim | length == 0 -- name: Set custom headline locally on AWX if defined +- name: Set Element-Web custom headline locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -99,7 +99,7 @@ 'matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' when: awx_matrix_client_element_welcome_headline | trim | length > 0 -- name: Remove custom headline locally on AWX if not defined +- name: Remove Element-Web custom headline locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -107,7 +107,7 @@ state: absent when: awx_matrix_client_element_welcome_headline | trim | length == 0 -- name: Set custom text locally on AWX if defined +- name: Set Element-Web custom text locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -118,7 +118,7 @@ 'matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' when: awx_matrix_client_element_welcome_text | trim | length > 0 -- name: Remove custom text locally on AWX if not defined +- name: Remove Element-Web custom text locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -126,7 +126,7 @@ state: absent when: awx_matrix_client_element_welcome_text | trim | length == 0 -- name: Set element-web background locally on AWX if defined +- name: Set Element-Web background locally on AWX if defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' @@ -137,7 +137,7 @@ 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}' when: awx_matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 -- name: Remove element-web background locally on AWX if not defined +- name: Remove Element-Web background locally on AWX if not defined delegate_to: 127.0.0.1 lineinfile: path: '{{ awx_cached_matrix_vars }}' From 927633321abbf9b3dd7d25796eb0719f34e5da14 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 13:34:46 +0800 Subject: [PATCH 30/37] update element section --- .../surveys/configure_element.json.j2 | 16 ++++++------- .../tasks/set_variables_element.yml | 23 ++++++++++--------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index ef9b5d07a..9c0398cca 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -32,10 +32,10 @@ "required": false, "min": 0, "max": 256, - "default": "{{ awx_matrix_client_element_brand }}", + "default": "{{ matrix_client_element_brand }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_brand", + "variable": "matrix_client_element_brand", "type": "text" }, { @@ -44,10 +44,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}", + "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_branding_welcomeBackgroundUrl", + "variable": "matrix_client_element_branding_welcomeBackgroundUrl", "type": "text" }, { @@ -56,10 +56,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ awx_matrix_client_element_welcome_logo }}", + "default": "{{ matrix_client_element_welcome_logo }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_logo", + "variable": "matrix_client_element_welcome_logo", "type": "text" }, { @@ -68,10 +68,10 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ awx_matrix_client_element_welcome_logo_link }}", + "default": "{{ matrix_client_element_welcome_logo_link }}", "choices": "", "new_question": true, - "variable": "awx_matrix_client_element_welcome_logo_link", + "variable": "matrix_client_element_welcome_logo_link", "type": "text" }, { diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index fc9e275ad..5589b23e2 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -12,6 +12,10 @@ 'matrix_client_element_jitsi_preferredDomain': 'jitsi.{{ matrix_domain }}' 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' + 'matrix_client_element_brand': '{{ matrix_client_element_brand }}' + 'matrix_client_element_branding_welcomeBackgroundUrl:' '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' + 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' + 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' - name: Record Element-Web custom variables locally on AWX delegate_to: 127.0.0.1 @@ -21,10 +25,6 @@ line: "{{ item.key }}: '{{ item.value }}'" insertbefore: '# Element Settings End' with_dict: - 'awx_matrix_client_element_brand': '{{ awx_matrix_client_element_brand }}' - 'awx_matrix_client_element_branding_welcomeBackgroundUrl:' '{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}' - 'awx_matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' - 'awx_matrix_client_element_welcome_logo_link': '{{ awx_matrix_client_element_welcome_logo_link }}' 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' @@ -36,7 +36,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_brand': "{{ awx_matrix_client_element_brand }}" + 'matrix_client_element_brand': "{{ matrix_client_element_brand }}" + when: matrix_client_element_brand | trim | length > 0 - name: Remove Element-Web custom branding locally on AWX if not defined delegate_to: 127.0.0.1 @@ -44,7 +45,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_brand: " state: absent - when: awx_matrix_client_element_brand | trim | length == 0 + when: matrix_client_element_brand | trim | length == 0 - name: Set fact for 'https' string set_fact: @@ -58,8 +59,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_welcome_logo': '{{ awx_matrix_client_element_welcome_logo }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo ) and ( awx_matrix_client_element_welcome_logo | trim | length > 0 ) + 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' + when: ( awx_https_string in matrix_client_element_welcome_logo ) and ( matrix_client_element_welcome_logo | trim | length > 0 ) - name: Remove Element-Web custom logo locally on AWX if not defined delegate_to: 127.0.0.1 @@ -67,7 +68,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo: " state: absent - when: awx_matrix_client_element_welcome_logo | trim | length == 0 + when: matrix_client_element_welcome_logo | trim | length == 0 - name: Set Element-Web custom logo link locally on AWX if defined delegate_to: 127.0.0.1 @@ -78,7 +79,7 @@ insertafter: '# Element Settings Start' with_dict: 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' - when: ( awx_https_string in awx_matrix_client_element_welcome_logo_link ) and ( awx_matrix_client_element_welcome_logo_link | trim | length > 0 ) + when: ( awx_https_string in matrix_client_element_welcome_logo_link ) and ( matrix_client_element_welcome_logo_link | trim | length > 0 ) - name: Remove Element-Web custom logo link locally on AWX if not defined delegate_to: 127.0.0.1 @@ -86,7 +87,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_welcome_logo_link: " state: absent - when: awx_matrix_client_element_welcome_logo_link | trim | length == 0 + when: matrix_client_element_welcome_logo_link | trim | length == 0 - name: Set Element-Web custom headline locally on AWX if defined delegate_to: 127.0.0.1 From b4654f89924306a6aef360fbfeeee95ef2893dc8 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 14:53:52 +0800 Subject: [PATCH 31/37] update element section --- roles/matrix-awx/tasks/set_variables_element.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 5589b23e2..64435a8be 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -13,7 +13,7 @@ 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' 'matrix_client_element_brand': '{{ matrix_client_element_brand }}' - 'matrix_client_element_branding_welcomeBackgroundUrl:' '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' + 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' From 46cba52e79b52e14278ee5a1c52c75f0ee2c89cf Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 15:00:11 +0800 Subject: [PATCH 32/37] update element section --- .../matrix-awx/tasks/set_variables_element.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 64435a8be..491c91b3b 100755 --- a/roles/matrix-awx/tasks/set_variables_element.yml +++ b/roles/matrix-awx/tasks/set_variables_element.yml @@ -12,10 +12,10 @@ 'matrix_client_element_jitsi_preferredDomain': 'jitsi.{{ matrix_domain }}' 'matrix_client_element_default_theme': '{{ matrix_client_element_default_theme }}' 'matrix_client_element_registration_enabled': '{{ matrix_client_element_registration_enabled }}' - 'matrix_client_element_brand': '{{ matrix_client_element_brand }}' - 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' - 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo }}' - 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link }}' + 'matrix_client_element_brand': '{{ matrix_client_element_brand | trim }}' + 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl | trim }}' + 'matrix_client_element_welcome_logo': '{{ matrix_client_element_welcome_logo | trim }}' + 'matrix_client_element_welcome_logo_link': '{{ matrix_client_element_welcome_logo_link | trim }}' - name: Record Element-Web custom variables locally on AWX delegate_to: 127.0.0.1 @@ -25,8 +25,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertbefore: '# Element Settings End' with_dict: - 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline }}' - 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text }}' + 'awx_matrix_client_element_welcome_headline': '{{ awx_matrix_client_element_welcome_headline | trim }}' + 'awx_matrix_client_element_welcome_text': '{{ awx_matrix_client_element_welcome_text | trim }}' - name: Set Element-Web custom branding locally on AWX delegate_to: 127.0.0.1 @@ -135,8 +135,8 @@ line: "{{ item.key }}: '{{ item.value }}'" insertafter: '# Element Settings Start' with_dict: - 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ awx_matrix_client_element_branding_welcomeBackgroundUrl }}' - when: awx_matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 + 'matrix_client_element_branding_welcomeBackgroundUrl': '{{ matrix_client_element_branding_welcomeBackgroundUrl }}' + when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length > 0 - name: Remove Element-Web background locally on AWX if not defined delegate_to: 127.0.0.1 @@ -144,7 +144,7 @@ path: '{{ awx_cached_matrix_vars }}' regexp: "^matrix_client_element_branding_welcomeBackgroundUrl: " state: absent - when: awx_matrix_client_element_branding_welcomeBackgroundUrl | trim | length == 0 + when: matrix_client_element_branding_welcomeBackgroundUrl | trim | length == 0 - name: Save new 'Configure Element' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From c630bc3eaa91b446332e6a7b024dc9488431409d Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Mon, 11 Oct 2021 15:13:09 +0800 Subject: [PATCH 33/37] update element section --- roles/matrix-awx/surveys/configure_element.json.j2 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index 9c0398cca..b40217328 100755 --- a/roles/matrix-awx/surveys/configure_element.json.j2 +++ b/roles/matrix-awx/surveys/configure_element.json.j2 @@ -32,7 +32,7 @@ "required": false, "min": 0, "max": 256, - "default": "{{ matrix_client_element_brand }}", + "default": "{{ matrix_client_element_brand | trim }}", "choices": "", "new_question": true, "variable": "matrix_client_element_brand", @@ -44,7 +44,7 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl }}", + "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl | trim }}", "choices": "", "new_question": true, "variable": "matrix_client_element_branding_welcomeBackgroundUrl", @@ -56,7 +56,7 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_welcome_logo }}", + "default": "{{ matrix_client_element_welcome_logo | trim }}", "choices": "", "new_question": true, "variable": "matrix_client_element_welcome_logo", @@ -68,7 +68,7 @@ "required": false, "min": 0, "max": 1024, - "default": "{{ matrix_client_element_welcome_logo_link }}", + "default": "{{ matrix_client_element_welcome_logo_link | trim }}", "choices": "", "new_question": true, "variable": "matrix_client_element_welcome_logo_link", @@ -80,7 +80,7 @@ "required": false, "min": 0, "max": 512, - "default": "{{ awx_matrix_client_element_welcome_headline }}", + "default": "{{ awx_matrix_client_element_welcome_headline | trim }}", "choices": "", "new_question": true, "variable": "awx_matrix_client_element_welcome_headline", @@ -92,7 +92,7 @@ "required": false, "min": 0, "max": 2048, - "default": "{{ awx_matrix_client_element_welcome_text }}", + "default": "{{ awx_matrix_client_element_welcome_text | trim }}", "choices": "", "new_question": true, "variable": "awx_matrix_client_element_welcome_text", From 25d0ae7b675b42a2f0aa4a3d59595291514a2744 Mon Sep 17 00:00:00 2001 From: Aaron R Date: Mon, 11 Oct 2021 18:36:07 -0500 Subject: [PATCH 34/37] Update matrix-appservice-slack (1.5.0 -> 1.8.0) I am not using this bridge and haven't tested this but multiple people have said 1.5.0 isn't working and 1.8.0 works for them so it seems to make sense to update. https://github.com/matrix-org/matrix-appservice-slack/issues/618#issuecomment-929849093 --- roles/matrix-bridge-appservice-slack/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/matrix-bridge-appservice-slack/defaults/main.yml b/roles/matrix-bridge-appservice-slack/defaults/main.yml index bb801273f..10b3d7b48 100644 --- a/roles/matrix-bridge-appservice-slack/defaults/main.yml +++ b/roles/matrix-bridge-appservice-slack/defaults/main.yml @@ -7,7 +7,7 @@ matrix_appservice_slack_container_self_build: false matrix_appservice_slack_docker_repo: "https://github.com/matrix-org/matrix-appservice-slack.git" matrix_appservice_slack_docker_src_files_path: "{{ matrix_base_data_path }}/appservice-slack/docker-src" -matrix_appservice_slack_version: release-1.5.0 +matrix_appservice_slack_version: release-1.8.0 matrix_appservice_slack_docker_image: "{{ matrix_container_global_registry_prefix }}matrixdotorg/matrix-appservice-slack:{{ matrix_appservice_slack_version }}" matrix_appservice_slack_docker_image_force_pull: "{{ matrix_appservice_slack_docker_image.endswith(':latest') }}" From fb61f892216e8665a38dd81529d35e35f311d036 Mon Sep 17 00:00:00 2001 From: Aaron R Date: Mon, 11 Oct 2021 18:50:46 -0500 Subject: [PATCH 35/37] Update configuring-playbook-dimension.md --- docs/configuring-playbook-dimension.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/configuring-playbook-dimension.md b/docs/configuring-playbook-dimension.md index 0cd15bbf9..69ed7aa7e 100644 --- a/docs/configuring-playbook-dimension.md +++ b/docs/configuring-playbook-dimension.md @@ -3,14 +3,12 @@ **[Dimension](https://dimension.t2bot.io) can only be installed after Matrix services are installed and running.** If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later. -**Note**: enabling Dimension, means that the `openid` API endpoints will be exposed on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. It's something to be aware of, especially in terms of firewall whitelisting (make sure port `8448` is accessible). +**Note**: This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environments. This is handled automatically based on the value of `matrix_synapse_federation_enabled`. Enabling Dimension, means that the `openid` API endpoints will be exposed on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. It's something to be aware of, especially in terms of firewall whitelisting (make sure port `8448` is accessible). ## Prerequisites -This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and an [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environment. This is handled automatically based on the value of `matrix_synapse_federation_enabled`. - -Other important prerequisite is the `dimension.` DNS record being set up correctly. See [Configuring your DNS server](configuring-dns.md) on how to set up DNS record correctly. +The `dimension.` DNS record must be created. See [Configuring your DNS server](configuring-dns.md) on how to set up DNS record correctly. ## Enable @@ -45,11 +43,11 @@ To get an access token for the Dimension user, you can follow one of two options *Through an interactive login*: 1. In a private browsing session (incognito window), open Element. -2. Log in with the `dimension` user and its password. +1. Log in with the `dimension` user and its password. 1. Set the display name and avatar, if required. -2. In the settings page choose "Help & About", scroll down to the bottom and click `Access Token: `. -3. Copy the highlighted text to your configuration. -4. Close the private browsing session. **Do not log out**. Logging out will invalidate the token, making it not work. +1. In the settings page choose "Help & About", scroll down to the bottom and expand the `Access Token` section. +1. Copy the access token to your configuration. +1. Close the private browsing session. **Do not log out**. Logging out will invalidate the token, making it not work. *With CURL* @@ -81,6 +79,8 @@ After these variables have been set, please run the following command to re-run ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ``` +After Dimension has been installed you may need to log out and log back in for it to pick up the new integrations manager. Then you can access integrations in Element by opening a room, clicking the Room info button (`i`) button in the top right corner of the screen, and then clicking Add widgets, bridges & bots. + ## Jitsi domain From fc0296b56eeef752b4d694c208a602dd2975d704 Mon Sep 17 00:00:00 2001 From: Michael Collins Date: Tue, 12 Oct 2021 12:20:53 +0800 Subject: [PATCH 36/37] update element section --- roles/matrix-awx/tasks/set_variables_element_subdomain.yml | 2 +- roles/matrix-awx/tasks/set_variables_jitsi.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml index 6fd52fa21..9e47be163 100644 --- a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml +++ b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml @@ -8,7 +8,7 @@ line: "{{ item.key }}: {{ item.value }}" insertafter: '# Element Settings Start' with_dict: - 'matrix_server_fqn_element': "{{ awx_element_subdomain }}.{{ matrix_domain }}" + 'matrix_server_fqn_element': "{{ awx_element_subdomain | trim }}.{{ matrix_domain }}" - name: Save new 'Configure Element Subdomain' survey.json to the AWX tower, template delegate_to: 127.0.0.1 diff --git a/roles/matrix-awx/tasks/set_variables_jitsi.yml b/roles/matrix-awx/tasks/set_variables_jitsi.yml index 4a8c3d0ba..2e8f1f8ed 100755 --- a/roles/matrix-awx/tasks/set_variables_jitsi.yml +++ b/roles/matrix-awx/tasks/set_variables_jitsi.yml @@ -9,7 +9,7 @@ insertafter: '# Jitsi Settings Start' with_dict: 'matrix_jitsi_enabled': '{{ matrix_jitsi_enabled }}' - 'matrix_jitsi_web_config_defaultLanguage': '{{ matrix_jitsi_web_config_defaultLanguage }}' + 'matrix_jitsi_web_config_defaultLanguage': '{{ matrix_jitsi_web_config_defaultLanguage | trim }}' - name: Save new 'Configure Jitsi' survey.json to the AWX tower, template delegate_to: 127.0.0.1 From fb709152f376dbc10a2219f45a5fef48d2e808b1 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 12 Oct 2021 10:02:07 +0300 Subject: [PATCH 37/37] Add self-building support for mautrix-whatsapp Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1322 --- docs/self-building.md | 1 + group_vars/matrix_servers | 2 + .../defaults/main.yml | 8 +++- .../tasks/setup_install.yml | 45 ++++++++++++++----- 4 files changed, 45 insertions(+), 11 deletions(-) diff --git a/docs/self-building.md b/docs/self-building.md index 3e13ce1b8..babdeedb4 100644 --- a/docs/self-building.md +++ b/docs/self-building.md @@ -27,6 +27,7 @@ List of roles where self-building the Docker image is currently possible: - `matrix-bridge-mautrix-hangouts` - `matrix-bridge-mautrix-telegram` - `matrix-bridge-mautrix-signal` +- `matrix-bridge-mautrix-whatsapp` - `matrix-bridge-mx-puppet-skype` - `matrix-bot-mjolnir` - `matrix-bot-matrix-reminder-bot` diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index acdb7b752..c811df1bb 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -477,6 +477,8 @@ matrix_mautrix_telegram_database_password: "{{ matrix_synapse_macaroon_secret_ke # We don't enable bridges by default. matrix_mautrix_whatsapp_enabled: false +matrix_mautrix_whatsapp_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" + matrix_mautrix_whatsapp_systemd_required_services_list: | {{ ['docker.service'] diff --git a/roles/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 87a24bf68..7409fb4da 100644 --- a/roles/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -3,14 +3,20 @@ matrix_mautrix_whatsapp_enabled: true +matrix_mautrix_whatsapp_container_image_self_build: false +matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautrix/whatsapp.git" +matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}" + matrix_mautrix_whatsapp_version: latest # See: https://mau.dev/mautrix/whatsapp/container_registry -matrix_mautrix_whatsapp_docker_image: "dock.mau.dev/mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" +matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" +matrix_mautrix_whatsapp_docker_image_name_prefix: "{{ 'localhost/' if matrix_mautrix_whatsapp_container_image_self_build else 'dock.mau.dev/' }}" matrix_mautrix_whatsapp_docker_image_force_pull: "{{ matrix_mautrix_whatsapp_docker_image.endswith(':latest') }}" matrix_mautrix_whatsapp_base_path: "{{ matrix_base_data_path }}/mautrix-whatsapp" matrix_mautrix_whatsapp_config_path: "{{ matrix_mautrix_whatsapp_base_path }}/config" matrix_mautrix_whatsapp_data_path: "{{ matrix_mautrix_whatsapp_base_path }}/data" +matrix_mautrix_whatsapp_docker_src_files_path: "{{ matrix_mautrix_whatsapp_base_path }}/docker-src" matrix_mautrix_whatsapp_homeserver_address: "{{ matrix_homeserver_container_url }}" matrix_mautrix_whatsapp_homeserver_domain: "{{ matrix_domain }}" diff --git a/roles/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml b/roles/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml index 9691a58f9..f3dd05705 100644 --- a/roles/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml +++ b/roles/matrix-bridge-mautrix-whatsapp/tasks/setup_install.yml @@ -35,24 +35,49 @@ when: "matrix_mautrix_whatsapp_sqlite_database_path_local_stat_result.stat.exists|bool" when: "matrix_mautrix_whatsapp_database_engine == 'postgres'" -- name: Ensure Mautrix Whatsapp image is pulled - docker_image: - name: "{{ matrix_mautrix_whatsapp_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mautrix_whatsapp_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_mautrix_whatsapp_docker_image_force_pull }}" - name: Ensure Mautrix Whatsapp paths exists file: - path: "{{ item }}" + path: "{{ item.path }}" state: directory mode: 0750 owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" with_items: - - "{{ matrix_mautrix_whatsapp_base_path }}" - - "{{ matrix_mautrix_whatsapp_config_path }}" - - "{{ matrix_mautrix_whatsapp_data_path }}" + - { path: "{{ matrix_mautrix_whatsapp_base_path }}", when: true } + - { path: "{{ matrix_mautrix_whatsapp_config_path }}", when: true } + - { path: "{{ matrix_mautrix_whatsapp_data_path }}", when: true } + - { path: "{{ matrix_mautrix_whatsapp_docker_src_files_path }}", when: "{{ matrix_mautrix_whatsapp_container_image_self_build }}" } + when: item.when|bool + +- name: Ensure Mautrix Whatsapp image is pulled + docker_image: + name: "{{ matrix_mautrix_whatsapp_docker_image }}" + source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" + force_source: "{{ matrix_mautrix_whatsapp_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_mautrix_whatsapp_docker_image_force_pull }}" + when: not matrix_mautrix_whatsapp_container_image_self_build + +- name: Ensure Mautrix Whatsapp repository is present on self-build + git: + repo: "{{ matrix_mautrix_whatsapp_container_image_self_build_repo }}" + dest: "{{ matrix_mautrix_whatsapp_docker_src_files_path }}" + version: "{{ matrix_mautrix_whatsapp_container_image_self_build_branch }}" + force: "yes" + register: matrix_mautrix_whatsapp_git_pull_results + when: "matrix_mautrix_whatsapp_container_image_self_build|bool" + +- name: Ensure Mautrix Whatsapp Docker image is built + docker_image: + name: "{{ matrix_mautrix_whatsapp_docker_image }}" + source: build + force_source: "{{ matrix_mautrix_whatsapp_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_mautrix_whatsapp_git_pull_results.changed }}" + build: + dockerfile: Dockerfile + path: "{{ matrix_mautrix_whatsapp_docker_src_files_path }}" + pull: yes + when: "matrix_mautrix_whatsapp_container_image_self_build|bool" - name: Check if an old database file exists stat: