677a2fc503
Details here: https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_6.html#id36 Basically: ```yaml - name: Prior to 2.13 debug: msg: '[1] + {{ [2] }}' - name: 2.13 and forward debug: msg: '{{ [1] + [2] }}' ``` Interestingly, we had been using the new/safe syntax in lofs of places. We were using the broken one in many others though. Hopefully all instances were fixed by this patch.
92 lines
4.3 KiB
YAML
92 lines
4.3 KiB
YAML
---
|
|
# See https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1070
|
|
# and https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/1ab507349c752042d26def3e95884f6df8886b74#commitcomment-51108407
|
|
- name: Fail if trying to self-build on Ansible < 2.8
|
|
fail:
|
|
msg: "To self-build the Element image, you should use Ansible 2.8 or higher. See docs/ansible.md"
|
|
when: "ansible_version.major == 2 and ansible_version.minor < 8 and matrix_appservice_slack_container_image_self_build and matrix_appservice_slack_enabled"
|
|
|
|
# If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist.
|
|
# We don't want to fail in such cases.
|
|
- name: Fail if matrix-synapse role already executed
|
|
fail:
|
|
msg: >-
|
|
The matrix-bridge-appservice-slack role needs to execute before the matrix-synapse role.
|
|
when: "matrix_synapse_role_executed|default(False)"
|
|
|
|
- set_fact:
|
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-appservice-slack.service'] }}"
|
|
when: matrix_appservice_slack_enabled|bool
|
|
|
|
# If the matrix-synapse role is not used, these variables may not exist.
|
|
- set_fact:
|
|
matrix_synapse_container_extra_arguments: >
|
|
{{
|
|
matrix_synapse_container_extra_arguments|default([])
|
|
+
|
|
["--mount type=bind,src={{ matrix_appservice_slack_config_path }}/slack-registration.yaml,dst=/matrix-appservice-slack-registration.yaml,ro"]
|
|
}}
|
|
|
|
matrix_synapse_app_service_config_files: >
|
|
{{
|
|
matrix_synapse_app_service_config_files|default([])
|
|
+
|
|
["/matrix-appservice-slack-registration.yaml"]
|
|
}}
|
|
when: matrix_appservice_slack_enabled|bool
|
|
|
|
# If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist.
|
|
# We don't want to fail in such cases.
|
|
- name: Fail if matrix-synapse role already executed
|
|
fail:
|
|
msg: >-
|
|
The matrix-bridge-appservice-slack role needs to execute before the matrix-synapse role.
|
|
when: "matrix_synapse_role_executed|default(False)"
|
|
|
|
- block:
|
|
- name: Fail if matrix-nginx-proxy role already executed
|
|
fail:
|
|
msg: >-
|
|
Trying to append Slack Appservice's reverse-proxying configuration to matrix-nginx-proxy,
|
|
but it's pointless since the matrix-nginx-proxy role had already executed.
|
|
To fix this, please change the order of roles in your playbook,
|
|
so that the matrix-nginx-proxy role would run after the matrix-bridge-appservice-slack role.
|
|
when: matrix_nginx_proxy_role_executed|default(False)|bool
|
|
|
|
- name: Generate Matrix Appservice Slack proxying configuration for matrix-nginx-proxy
|
|
set_fact:
|
|
matrix_appservice_slack_matrix_nginx_proxy_configuration: |
|
|
location {{ matrix_appservice_slack_public_endpoint }} {
|
|
{% if matrix_nginx_proxy_enabled|default(False) %}
|
|
{# Use the embedded DNS resolver in Docker containers to discover the service #}
|
|
resolver 127.0.0.11 valid=5s;
|
|
set $backend "{{ matrix_appservice_slack_appservice_url }}:{{ matrix_appservice_slack_slack_port }}";
|
|
proxy_pass $backend;
|
|
{% else %}
|
|
{# Generic configuration for use outside of our container setup #}
|
|
proxy_pass http://127.0.0.1:{{ matrix_appservice_slack_slack_port }};
|
|
{% endif %}
|
|
}
|
|
|
|
- name: Register Slack Appservice proxying configuration with matrix-nginx-proxy
|
|
set_fact:
|
|
matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks: |
|
|
{{
|
|
matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks|default([])
|
|
+
|
|
[matrix_appservice_slack_matrix_nginx_proxy_configuration]
|
|
}}
|
|
tags:
|
|
- always
|
|
when: matrix_appservice_slack_enabled|bool
|
|
|
|
- name: Warn about reverse-proxying if matrix-nginx-proxy not used
|
|
debug:
|
|
msg: >-
|
|
NOTE: You've enabled the Matrix Slack bridge but are not using the matrix-nginx-proxy
|
|
reverse proxy.
|
|
Please make sure that you're proxying the `{{ something }}`
|
|
URL endpoint to the matrix-appservice-slack container.
|
|
You can expose the container's port using the `matrix_appservice_slack_container_http_host_bind_port` variable.
|
|
when: "matrix_appservice_slack_enabled|bool and not matrix_nginx_proxy_enabled|default(False)|bool"
|