Procházet zdrojové kódy

Add matrix_homeserver_implementation, tracking the current homeserver implementation

The goal is to have a single variable which tells us which homeserver
software is in use. Much simpler than having if/elif/elif checks for
variables like (`matrix_synapse_enabled` and `matrix_dendrite_enabled`, etc.)
everywhere.
pull/1520/head
Slavi Pantaleev před 4 roky
rodič
revize
3cf9f87097
4 změnil soubory, kde provedl 30 přidání a 1 odebrání
  1. +11
    -0
      group_vars/matrix_servers
  2. +7
    -0
      roles/matrix-base/defaults/main.yml
  3. +11
    -0
      roles/matrix-base/tasks/sanity_check.yml
  4. +1
    -1
      roles/matrix-base/vars/main.yml

+ 11
- 0
group_vars/matrix_servers Zobrazit soubor

@@ -17,6 +17,17 @@ matrix_container_global_registry_prefix: "docker.io/"
#
######################################################################

matrix_homeserver_enabled_implementations_list: |
{{
(
(['synapse'] if matrix_synapse_enabled else [])
+
(['dendrite'] if matrix_dendrite_enabled else [])
)
}}

matrix_homeserver_implementation: "{{ matrix_homeserver_enabled_implementations_list[0] if matrix_homeserver_enabled_implementations_list|length == 1 else '' }}"

matrix_identity_server_url: "{{ ('https://' + matrix_server_fqn_matrix) if matrix_ma1sd_enabled else None }}"

# If Synapse workers are enabled and matrix-nginx-proxy is disabled, certain APIs may not work over 'http://matrix-synapse:{{ matrix_synapse_container_client_api_port }}'.


+ 7
- 0
roles/matrix-base/defaults/main.yml Zobrazit soubor

@@ -7,6 +7,13 @@
# Example value: example.com
matrix_domain: ~

# This will contain the homeserver implementation that is in use.
# Example values: 'synapse', 'dendrite', etc.
# You normally don't need to set this variable manually.
# Its value is automatically set depending on the homeserver implementation that you have enabled via other variables
# (e.g. `matrix_synapse_enabled`, `matrix_dendrite_enabled`, etc.)
matrix_homeserver_implementation: ''

# This is where your data lives and what we set up.
# This and the Element FQN (see below) are expected to be on the same server.
matrix_server_fqn_matrix: "matrix.{{ matrix_domain }}"


+ 11
- 0
roles/matrix-base/tasks/sanity_check.yml Zobrazit soubor

@@ -1,5 +1,16 @@
---

- name: Fail if 0 or more than 1 homeserver implementations enabled
fail:
msg: >-
You have 0 or more than 1 homeserver implementations enabled
({{ matrix_homeserver_enabled_implementations_list|join(', ') }}).

If you have more than 1 implementation enabled, you can disable the unnecessary implementations by adding `matrix_IMPLEMENTATION_enabled: false` to your vars.yml file.

If you have 0 implementations enabled, you can enable one by adding `matrix_IMPLEMENTATION_enabled: false` to your vars.yml file (e.g. `matrix_dendrite_enabled: true`).
when: "matrix_homeserver_enabled_implementations_list|length != 1"

# We generally support Ansible 2.7.1 and above.
- name: Fail if running on Ansible < 2.7.1
fail:


+ 1
- 1
roles/matrix-base/vars/main.yml Zobrazit soubor

@@ -1,3 +1,3 @@
# This will contain a list of enabled services that the playbook is managing.
# Each component is expected to append its service name to this list.
matrix_systemd_services_list: []
matrix_systemd_services_list: []

Načítá se…
Zrušit
Uložit