GoMatrixHosting v0.4.9pull/1108/head
| @@ -31,9 +31,9 @@ Updates to this section are trailed here: | |||||
| ## Does I need an AWX setup to use this? How do I configure it? | ## Does I need an AWX setup to use this? How do I configure it? | ||||
| Yes, you'll need to configure an AWX instance, the [Create AWX System](https://gitlab.com/GoMatrixHosting/create-awx-system) repository makes it easy to do. Just follow the steps listed in ['/docs/Installation.md' of that repository](https://gitlab.com/GoMatrixHosting/create-awx-system/-/blob/master/docs/Installation.md). | |||||
| Yes, you'll need to configure an AWX instance, the [Create AWX System](https://gitlab.com/GoMatrixHosting/create-awx-system) repository makes it easy to do. Just follow the steps listed in ['/docs/Installation_AWX.md' of that repository](https://gitlab.com/GoMatrixHosting/create-awx-system/-/blob/master/docs/Installation_AWX.md). | |||||
| For simpler installation steps you can use to get started with this system, check out our minimal installation guide at ['/doc/Installation_Minimal.md of that repository'](https://gitlab.com/GoMatrixHosting/create-awx-system/-/blob/master/docs/Installation_Minimal.md). | |||||
| For simpler installation steps you can use to get started with this system, check out our minimal installation guide at ['/doc/Installation_Minimal_AWX.md of that repository'](https://gitlab.com/GoMatrixHosting/create-awx-system/-/blob/master/docs/Installation_Minimal_AWX.md). | |||||
| ## Does I need a front-end WordPress site? And a DigitalOcean account? | ## Does I need a front-end WordPress site? And a DigitalOcean account? | ||||
| @@ -0,0 +1,19 @@ | |||||
| { | |||||
| "name": "Configure Email Relay", | |||||
| "description": "Enable MailGun relay to increase verification email reliability.", | |||||
| "spec": [ | |||||
| { | |||||
| "question_name": "Enable Email Relay", | |||||
| "question_description": "Enables the MailGun email relay server, enabling this will increase the reliability of your email verification.", | |||||
| "required": false, | |||||
| "min": null, | |||||
| "max": null, | |||||
| "default": "{{ matrix_mailer_relay_use | string | lower }}", | |||||
| "choices": "true\nfalse", | |||||
| "new_question": true, | |||||
| "variable": "matrix_mailer_relay_use", | |||||
| "type": "multiplechoice" | |||||
| } | |||||
| ] | |||||
| } | |||||
| @@ -98,6 +98,15 @@ | |||||
| tags: | tags: | ||||
| - setup-client-element | - setup-client-element | ||||
| # Additional playbook to set the variable file during Mailer configuration | |||||
| - include_tasks: | |||||
| file: "set_variables_mailer.yml" | |||||
| apply: | |||||
| tags: setup-mailer | |||||
| when: run_setup|bool and matrix_awx_enabled|bool | |||||
| tags: | |||||
| - setup-mailer | |||||
| # Additional playbook to set the variable file during Element configuration | # Additional playbook to set the variable file during Element configuration | ||||
| - include_tasks: | - include_tasks: | ||||
| file: "set_variables_element_subdomain.yml" | file: "set_variables_element_subdomain.yml" | ||||
| @@ -0,0 +1,50 @@ | |||||
| - name: Record Mailer 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 }}" | |||||
| insertafter: '# Email Settings Start' | |||||
| with_dict: | |||||
| 'matrix_mailer_relay_use': '{{ matrix_mailer_relay_use }}' | |||||
| - name: Save new 'Configure Email Relay' survey.json to the AWX tower, template | |||||
| delegate_to: 127.0.0.1 | |||||
| template: | |||||
| src: 'roles/matrix-awx/surveys/configure_email_relay.json.j2' | |||||
| dest: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/configure_email_relay.json' | |||||
| - name: Copy new 'Configure Email Relay' survey.json to target machine | |||||
| copy: | |||||
| src: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/configure_email_relay.json' | |||||
| dest: '/matrix/awx/configure_email_relay.json' | |||||
| mode: '0660' | |||||
| - name: Collect AWX admin token the hard way! | |||||
| delegate_to: 127.0.0.1 | |||||
| shell: | | |||||
| curl -sku {{ tower_username }}:{{ tower_password }} -H "Content-Type: application/json" -X POST -d '{"description":"Tower CLI", "application":null, "scope":"write"}' https://{{ tower_host }}/api/v2/users/1/personal_tokens/ | jq '.token' | sed -r 's/\"//g' | |||||
| register: tower_token | |||||
| no_log: True | |||||
| - name: Recreate 'Configure Email Relay' job template | |||||
| delegate_to: 127.0.0.1 | |||||
| awx.awx.tower_job_template: | |||||
| name: "{{ matrix_domain }} - 1 - Configure Email Relay" | |||||
| description: "Enable MailGun relay to increase verification email reliability." | |||||
| extra_vars: "{{ lookup('file', '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/extra_vars.json') }}" | |||||
| job_type: run | |||||
| job_tags: "start,setup-mailer" | |||||
| inventory: "{{ member_id }}" | |||||
| project: "{{ member_id }} - Matrix Docker Ansible Deploy" | |||||
| playbook: setup.yml | |||||
| credential: "{{ member_id }} - AWX SSH Key" | |||||
| survey_enabled: true | |||||
| survey_spec: "{{ lookup('file', '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/configure_email_relay.json') }}" | |||||
| become_enabled: yes | |||||
| state: present | |||||
| verbosity: 1 | |||||
| tower_host: "https://{{ tower_host }}" | |||||
| tower_oauthtoken: "{{ tower_token.stdout }}" | |||||
| validate_certs: yes | |||||