Skip to content

Commit

Permalink
Add support for auto-configuring synapse-admin via `/.well-known/matr…
Browse files Browse the repository at this point in the history
…ix/client`

Related to:
- etkecc/synapse-admin#126
- https://github.com/etkecc/synapse-admin/releases/tag/v0.10.3-etke27

People who wish to disable this and keep their `/.well-known/matrix/client` file tidier
can do it via:

```yml
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false
```
  • Loading branch information
spantaleev committed Nov 8, 2024
1 parent 260421b commit 0cb3e53
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 0 deletions.
4 changes: 4 additions & 0 deletions group_vars/matrix_servers
Original file line number Diff line number Diff line change
Expand Up @@ -5882,6 +5882,10 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authenticatio
matrix_static_files_file_matrix_client_property_m_tile_server_entries_enabled: "{{ matrix_client_element_location_sharing_enabled }}"
matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{ ('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element }}/map_style.json"

# We set this regardless of whether synapse-admin is enabled, because people may wish to use a hosted (externally) synapse-admin installation and still have it auto-configured.
# See: https://github.com/etkecc/synapse-admin/pull/126
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_well_known_client_configuration if matrix_homeserver_implementation == 'synapse' else {} }}"

matrix_static_files_file_matrix_server_property_m_server: "{{ matrix_server_fqn_matrix_federation }}:{{ matrix_federation_public_port }}"

matrix_static_files_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
Expand Down
10 changes: 10 additions & 0 deletions roles/custom/matrix-static-files/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,16 @@ matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_se
# See: https://github.com/element-hq/element-web/blob/develop/docs/e2ee.md
matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable: false

# Controls whether `cc.etke.synapse-admin`-related entries should be added to the client well-known.
# By default, if there are entries in `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin`, we show them (by enabling this).
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: "{{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin | default({}) | dict2items | length > 0 }}"

# Controls the cc.etke.synapse-admin property in the /.well-known/matrix/client file.
# See `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_entries_enabled`
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin: "{{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto | combine(matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_custom, recursive=True) }}"
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: {}
matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_custom: {}

# Default /.well-known/matrix/client configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it.
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,7 @@
"default": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_default|to_json }}
}
{% endif %}
{% if matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled %},
"cc.etke.synapse-admin": {{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin | to_json }}
{% endif %}
}
7 changes: 7 additions & 0 deletions roles/custom/matrix-synapse-admin/vars/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---

# Configuration that can be injected into a `/.well-known/matrix/client` file,
# to let synapse-admin users use any synapse-admin instance and still get synapse-admin auto-configured correctly.
# See: https://github.com/etkecc/synapse-admin/pull/126
matrix_synapse_admin_well_known_client_configuration:
asManagedUsers: "{{ matrix_synapse_admin_config_asManagedUsers }}"

0 comments on commit 0cb3e53

Please sign in to comment.