From 00fe348e929c6af61901874744bb51301e9338ef Mon Sep 17 00:00:00 2001 From: Alexandre Iooss <erdnaxe@crans.org> Date: Sat, 15 Jan 2022 14:48:06 +0100 Subject: [PATCH] Add matrix-synapse role --- plays/matrix.yml | 5 ++++ roles/matrix-synapse/handlers/main.yml | 5 ++++ roles/matrix-synapse/tasks/main.yml | 29 +++++++++++++++++++ .../apt/sources.list.d/backports.list.j2 | 1 + .../conf.d/app_service_config_files.yaml.j2 | 1 + .../matrix-synapse/conf.d/database.yaml.j2 | 9 ++++++ .../matrix-synapse/conf.d/listeners.yaml.j2 | 14 +++++++++ .../conf.d/report_stats.yaml.j2 | 2 ++ .../matrix-synapse/conf.d/server_name.yaml.j2 | 2 ++ 9 files changed, 68 insertions(+) create mode 100755 plays/matrix.yml create mode 100644 roles/matrix-synapse/handlers/main.yml create mode 100644 roles/matrix-synapse/tasks/main.yml create mode 100644 roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 create mode 100644 roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 create mode 100644 roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 create mode 100644 roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 create mode 100644 roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 create mode 100644 roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 diff --git a/plays/matrix.yml b/plays/matrix.yml new file mode 100755 index 00000000..60543aa8 --- /dev/null +++ b/plays/matrix.yml @@ -0,0 +1,5 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: trinity.adm.crans.org + roles: + - matrix-synapse diff --git a/roles/matrix-synapse/handlers/main.yml b/roles/matrix-synapse/handlers/main.yml new file mode 100644 index 00000000..aab51dae --- /dev/null +++ b/roles/matrix-synapse/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart matrix-synapse + service: + name: matrix-synapse + state: restarted diff --git a/roles/matrix-synapse/tasks/main.yml b/roles/matrix-synapse/tasks/main.yml new file mode 100644 index 00000000..83a6d6ef --- /dev/null +++ b/roles/matrix-synapse/tasks/main.yml @@ -0,0 +1,29 @@ +--- +- name: Configure Debian backports repository + template: + src: apt/sources.list.d/backports.list.j2 + dest: /etc/apt/sources.list.d/backports.list + +- name: Install matrix-synapse + apt: + update_cache: true + default_release: "{{ ansible_lsb.codename }}-backports" + name: matrix-synapse + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Configure matrix-synapse + template: + src: "matrix-synapse/conf.d/{{ item }}.j2" + dest: "/etc/matrix-synapse/conf.d/{{ item }}" + mode: 0640 + owner: matrix-synapse + group: nogroup + loop: + - app_service_config_files.yaml + - database.yaml + - listeners.yaml + - report_stats.yaml + - server_name.yaml + notify: Restart matrix-synapse diff --git a/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 b/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 new file mode 100644 index 00000000..6326b3e4 --- /dev/null +++ b/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 @@ -0,0 +1 @@ +deb {{ debian_mirror }} {{ ansible_lsb.codename }}-backports main contrib non-free diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 new file mode 100644 index 00000000..7ed59eac --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 @@ -0,0 +1 @@ +app_service_config_files: ["/var/local/matrix-appservice-irc/registration.yaml"] diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 new file mode 100644 index 00000000..f03b840a --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 @@ -0,0 +1,9 @@ +database: + name: "psycopg2" + args: + user: "{{ matrix_synapse.database_user }}" + password: "{{ matrix_synapse.database_password }}" + database: "{{ matrix_synapse.database_name }}" + host: "{{ matrix_synapse.database_host }}" + cp_min: 5 + cp_max: 10 diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 new file mode 100644 index 00000000..a37ad8f6 --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 @@ -0,0 +1,14 @@ +listeners: + - port: 8008 + tls: false + bind_addresses: + - '::' + - '0.0.0.0' + type: http + x_forwarded: true + resources: + - names: [client] + compress: true + - names: [federation] + compress: false + diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 new file mode 100644 index 00000000..47d71ee0 --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 @@ -0,0 +1,2 @@ +report_stats: false + diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 new file mode 100644 index 00000000..0da924aa --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 @@ -0,0 +1,2 @@ +server_name: crans.org + -- GitLab