---
- name: π create admin account
shell: >-
container exec -i -e MATRIX_ADMINISTRATOR_PASSWORD {{ MATRIX_SYNAPSE_CONTAINER_ADDRESS }}
sh -lc 'register_new_matrix_user
-u "{{ MATRIX_ADMINISTRATOR_USERNAME }}"
-p "$MATRIX_ADMINISTRATOR_PASSWORD"
-a -c "{{ MATRIX_SYNAPSE_CONFIG_PATH_CONTAINER }}"
http://localhost:{{ MATRIX_SYNAPSE_CONTAINER_PORT }}'
environment:
MATRIX_ADMINISTRATOR_PASSWORD: "{{ MATRIX_ADMINISTRATOR_PASSWORD }}"
register: matrix_create_admin
changed_when: matrix_create_admin.rc == 0
failed_when: >
matrix_create_admin.rc != 0 and
'User ID already taken' not in (matrix_create_admin.stdout + matrix_create_admin.stderr)
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "π Realign the admin password Synapse already stored"
ansible.builtin.include_tasks:
file: realign_synapse_password.yml
apply:
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
vars:
realign_localpart: "{{ MATRIX_ADMINISTRATOR_USERNAME }}"
realign_password: "{{ MATRIX_ADMINISTRATOR_PASSWORD }}"
when: not matrix_create_admin.changed
- name: π create chatgpt bot
shell: >-
container exec -i -e MATRIX_BOT_PASSWORD {{ MATRIX_SYNAPSE_CONTAINER_ADDRESS }}
sh -lc 'register_new_matrix_user
-u chatgptbot
-p "$MATRIX_BOT_PASSWORD"
-a -c "{{ MATRIX_SYNAPSE_CONFIG_PATH_CONTAINER }}"
http://localhost:{{ MATRIX_SYNAPSE_CONTAINER_PORT }}'
environment:
MATRIX_BOT_PASSWORD: "{{ lookup('config', application_id, 'secrets.credentials.chatgpt_bridge_user_password') }}"
register: matrix_create_chatgptbot
changed_when: matrix_create_chatgptbot.rc == 0
failed_when: >
matrix_create_chatgptbot.rc != 0 and
'User ID already taken' not in (matrix_create_chatgptbot.stdout + matrix_create_chatgptbot.stderr)
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "π Realign the bridge bot password Synapse already stored"
ansible.builtin.include_tasks:
file: realign_synapse_password.yml
apply:
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
vars:
realign_localpart: chatgptbot
realign_password: "{{ lookup('config', application_id, 'secrets.credentials.chatgpt_bridge_user_password') }}"
when: not matrix_create_chatgptbot.changed
- name: "π Give the ChatGPT bridge a token Synapse actually issued"
ansible.builtin.include_tasks:
file: chatgpt_bridge_token.yml
apply:
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "β re-add compose.yml now that the bridge token exists"
stack_host_template:
src: "compose.yml.j2"
dest: "{{ [ lookup('container', application_id, 'directories.instance'),'compose.yml' ] | path_join }}"
notify: compose-up