410a915a8a
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`, similar to how it's done in: - https://github.com/spantaleev/gitea-docker-ansible-deploy - https://github.com/spantaleev/nextcloud-docker-ansible-deploy In the near future, we'll be removing a lot of the shared role code from here and using upstream roles for it. Some of the core `matrix-*` roles have already been extracted out into other reusable roles: - https://github.com/devture/com.devture.ansible.role.postgres - https://github.com/devture/com.devture.ansible.role.systemd_docker_base - https://github.com/devture/com.devture.ansible.role.timesync - https://github.com/devture/com.devture.ansible.role.vars_preserver - https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages - https://github.com/devture/com.devture.ansible.role.playbook_help We just need to migrate to those.
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
---
|
|
|
|
- name: Fail if playbook called incorrectly
|
|
ansible.builtin.fail:
|
|
msg: "The `one_time` variable needs to be provided to this playbook, via --extra-vars"
|
|
when: "one_time is not defined or one_time not in ['yes', 'no']"
|
|
|
|
- name: Fail if playbook called incorrectly
|
|
ansible.builtin.fail:
|
|
msg: "The `ex_date` variable (expiration date) needs to be provided to this playbook, via --extra-vars"
|
|
when: "ex_date is not defined or ex_date == '<date>'"
|
|
|
|
- name: Call matrix-registration token creation API
|
|
ansible.builtin.uri:
|
|
url: "{{ matrix_registration_api_token_endpoint }}"
|
|
follow_redirects: none
|
|
validate_certs: "{{ matrix_registration_api_validate_certs }}"
|
|
headers:
|
|
Content-Type: application/json
|
|
Authorization: "SharedSecret {{ matrix_registration_admin_secret }}"
|
|
method: POST
|
|
body_format: json
|
|
body: |
|
|
{
|
|
"one_time": {{ 'true' if one_time == 'yes' else 'false' }},
|
|
"ex_date": {{ ex_date | to_json }}
|
|
}
|
|
check_mode: false
|
|
register: matrix_registration_api_result
|
|
|
|
- ansible.builtin.set_fact:
|
|
matrix_registration_api_result_message: >-
|
|
matrix-registration result:
|
|
|
|
Direct registration link (with the token prefilled):
|
|
|
|
{{ matrix_registration_api_register_endpoint }}?token={{ matrix_registration_api_result.json.name }}
|
|
|
|
Full token details are:
|
|
|
|
{{ matrix_registration_api_result.json }}
|
|
check_mode: false
|
|
|
|
- name: Inject result message into matrix_playbook_runtime_results
|
|
ansible.builtin.set_fact:
|
|
matrix_playbook_runtime_results: |
|
|
{{
|
|
matrix_playbook_runtime_results | default([])
|
|
+
|
|
[matrix_registration_api_result_message]
|
|
}}
|
|
check_mode: false
|