diff --git a/roles/matrix-awx/surveys/access_export.json.j2 b/roles/matrix-awx/surveys/access_export.json.j2 index c20a9749..d5e1f945 100644 --- a/roles/matrix-awx/surveys/access_export.json.j2 +++ b/roles/matrix-awx/surveys/access_export.json.j2 @@ -8,10 +8,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" }, { @@ -20,10 +20,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" }, { @@ -32,10 +32,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/surveys/backup_server.json.j2 b/roles/matrix-awx/surveys/backup_server.json.j2 index acb6e356..559daade 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/surveys/configure_corporal.json.j2 b/roles/matrix-awx/surveys/configure_corporal.json.j2 index 14e417ce..7b782fd0 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 2f39e80e..5f79cfd0 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_final | to_json }}, "choices": "", "new_question": true, - "variable": "ext_dimension_users_raw", + "variable": "awx_dimension_users", "type": "textarea" } ] diff --git a/roles/matrix-awx/surveys/configure_element.json.j2 b/roles/matrix-awx/surveys/configure_element.json.j2 index d85a0ee5..b4021732 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,18 +26,78 @@ "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 | trim }}", + "choices": "", + "new_question": true, + "variable": "matrix_client_element_brand", + "type": "text" + }, { "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, - "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl }}", + "default": "{{ matrix_client_element_branding_welcomeBackgroundUrl | trim }}", "choices": "", "new_question": true, "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 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, + "default": "{{ matrix_client_element_welcome_logo | trim }}", + "choices": "", + "new_question": true, + "variable": "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": "{{ matrix_client_element_welcome_logo_link | trim }}", + "choices": "", + "new_question": true, + "variable": "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": "{{ awx_matrix_client_element_welcome_headline | trim }}", + "choices": "", + "new_question": true, + "variable": "awx_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": "{{ awx_matrix_client_element_welcome_text | trim }}", + "choices": "", + "new_question": true, + "variable": "awx_matrix_client_element_welcome_text", + "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/surveys/configure_element_subdomain.json.j2 b/roles/matrix-awx/surveys/configure_element_subdomain.json.j2 index a355af23..8e6aaf28 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_ma1sd.json.j2 b/roles/matrix-awx/surveys/configure_ma1sd.json.j2 index 67c2c88d..055e817c 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 7089f7b3..7a4e711d 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" }, { @@ -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" }, { @@ -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", "type": "textarea" }, { @@ -140,10 +140,10 @@ "required": false, "min": 0, "max": 65536, - "default": {{ ext_federation_whitelist_raw | to_json }}, + "default": {{ awx_federation_whitelist | to_json }}, "choices": "", "new_question": true, - "variable": "ext_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" }, { @@ -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 2b3e1637..d35fb839 100755 --- a/roles/matrix-awx/surveys/configure_website_access_export.json.j2 +++ b/roles/matrix-awx/surveys/configure_website_access_export.json.j2 @@ -8,10 +8,10 @@ "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", + "variable": "awx_customise_base_domain_website", "type": "multiplechoice" }, { @@ -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/backup_server.yml b/roles/matrix-awx/tasks/backup_server.yml index c328e868..d33f0f70 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: @@ -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/create_user.yml b/roles/matrix-awx/tasks/create_user.yml index 3f4131c4..fefec426 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 076e3188..c9b96026 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 @@ -8,7 +9,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 +20,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 +30,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 +42,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 +55,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 +98,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 +120,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 +131,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 +154,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 +171,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 +203,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 +233,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 +246,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 +259,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/delete_session_token.yml b/roles/matrix-awx/tasks/delete_session_token.yml index 2a8d2da6..a6a52e48 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 1347c5b9..d779028e 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 d9c3ca6f..b2154c7a 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 aab7250a..69b2aac8 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 2a9f9a0d..34754efb 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 1ea05b7f..5ca57d22 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 9e2ef9c2..aaef3cba 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 e7e98627..c64a54dd 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 d94fd007..33f99c49 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 302dffd8..1c8da14d 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 b07c32ea..2074d5d8 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 b24ac368..9c5f6bfb 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 c2f75c81..1418d9a6 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 d9a63677..e664325f 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 109dd8e2..9596f504 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 edf6b8b3..510b9f9e 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 27a428cd..3558f717 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 @@ -62,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 @@ -73,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 @@ -83,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 @@ -97,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: @@ -141,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 @@ -157,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 @@ -176,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 @@ -184,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 @@ -192,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 338cd82c..d5e51c6b 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,8 +14,8 @@ - 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 + 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 delegate_to: 127.0.0.1 @@ -25,17 +26,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_final: "{{ awx_dimension_users }}" + when: awx_dimension_users | 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_final: '@dimension:{{ matrix_domain }}' + when: awx_dimension_users | length == 0 - name: Remove Dimension Users delegate_to: 127.0.0.1 @@ -58,7 +59,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_final.splitlines() }}" - name: Record Dimension Custom variables locally on AWX delegate_to: 127.0.0.1 @@ -66,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: - 'ext_dimension_users_raw': '{{ ext_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_element.yml b/roles/matrix-awx/tasks/set_variables_element.yml index 233a49fe..491c91b3 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 @@ -8,25 +9,142 @@ 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 }}' + '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 + 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_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 + 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 }}" + 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 + 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" -- name: Record Element-Web Background variable locally on AWX +- name: Set Element-Web custom logo 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 }}" + 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 ) + +- name: Remove Element-Web 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: 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 + 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': '{{ 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 Element-Web 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: 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 + 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': '{{ awx_matrix_client_element_welcome_headline }}' + when: awx_matrix_client_element_welcome_headline | trim | length > 0 + +- name: Remove Element-Web 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: awx_matrix_client_element_welcome_headline | trim | length == 0 + +- name: Set Element-Web custom text 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_text': '{{ awx_matrix_client_element_welcome_text }}' + when: awx_matrix_client_element_welcome_text | trim | length > 0 + +- name: Remove Element-Web 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: 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 + 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_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: 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 diff --git a/roles/matrix-awx/tasks/set_variables_element_subdomain.yml b/roles/matrix-awx/tasks/set_variables_element_subdomain.yml index f6f36393..9e47be16 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 @@ -7,7 +8,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 | 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 6b01a2c3..2e8f1f8e 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 @@ -8,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 diff --git a/roles/matrix-awx/tasks/set_variables_ma1sd.yml b/roles/matrix-awx/tasks/set_variables_ma1sd.yml index 6b4b09e3..0f4234f1 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 @@ -17,8 +18,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 +29,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 +54,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 @@ -61,10 +62,10 @@ 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: - '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_mailer.yml b/roles/matrix-awx/tasks/set_variables_mailer.yml index ee530e60..2ae2d513 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 d32d18e1..df6b2798 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 @@ -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 | 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 }}" + when: awx_url_preview_accept_language|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|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.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: ext_federation_whitelist_raw|length > 0 + when: awx_federation_whitelist | 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.splitlines() }}" + when: awx_federation_whitelist | 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 @@ -180,13 +180,13 @@ 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: - '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': '{{ 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 }}"' + '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 diff --git a/roles/matrix-awx/tasks/set_variables_synapse_admin.yml b/roles/matrix-awx/tasks/set_variables_synapse_admin.yml index 972c4512..635befb5 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 b934104b..8175267d 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