Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

postgres: create databases for all services #740

Merged
merged 83 commits into from
Dec 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
d9f4914
WIP: postgres: create databases for all services
jdreichmann Nov 29, 2020
77a5c7c
Merge branch 'master' into postgres-per-default
spantaleev Dec 13, 2020
dac0d3a
Add default matrix_postgres_additional_databases
spantaleev Dec 13, 2020
527d5f5
Relocate Postgres additional database creation logic
spantaleev Dec 13, 2020
0641106
Allow username of additional Postgres databases to be different
spantaleev Dec 13, 2020
d251764
Fix syntax issues in matrix_postgres_additional_databases
spantaleev Dec 13, 2020
f47e8a9
Make use of matrix_host_command_docker instead of hardcoding
spantaleev Dec 13, 2020
e2952f1
Determine matrix-postgres IP address without relying on jq
spantaleev Dec 13, 2020
c765ceb
Prevent weird loop error
spantaleev Dec 13, 2020
bbc09d0
Do not execute additional databases creation code if not necessary
spantaleev Dec 13, 2020
da4cb2f
Do not use the postgresql_user/postgresql_db modules
spantaleev Dec 13, 2020
3a037a5
Ensure additional databases contain all the keys that we expect
spantaleev Dec 13, 2020
46a4034
Use "password" for additional Postgres databases, not "pass"
spantaleev Dec 13, 2020
a374d30
Make appservice-discord support both SQLite and Postgres
spantaleev Dec 13, 2020
183d2a1
Ensure matrix-postgres.service is started before creating additional …
spantaleev Dec 13, 2020
dd99499
Simplify password for additional Postgres databases
spantaleev Dec 13, 2020
b87b754
Fail if appservice-discord wants Postgres, but has leftover SQLite data
spantaleev Dec 13, 2020
c66c084
Merge branch 'master' into postgres-per-default
spantaleev Dec 13, 2020
cb969c6
Add --tags=import-generic-sqlite-db (pgloader import)
spantaleev Dec 14, 2020
4617984
Add (SQLite -> Postgres) migration instructions
spantaleev Dec 14, 2020
b217a2e
postgres: set default in playbook to postgres but fallback to sqlite
jdreichmann Dec 14, 2020
f1e85f7
Don't mention Postgres roles, just say users
spantaleev Dec 14, 2020
d91aa5a
Do not introduce sub-variables exposing implementation details
spantaleev Dec 14, 2020
c0edacb
Fix matrix_postgres_additional_databases syntax problems
spantaleev Dec 14, 2020
2a99e84
Rename Postgres-related variables (`matrix*database_*` -> `matrix*pos…
spantaleev Dec 14, 2020
5dba0c0
Make --tags=import-generic-sqlite-db commands not pass a sensitive co…
spantaleev Dec 14, 2020
2d99ade
Add (Postgres + SQLite) support to matrix-mautrix-facebook bridge
spantaleev Dec 14, 2020
a3406a1
Move some things around
spantaleev Dec 14, 2020
9bf8ce8
Add (Postgres + SQLite) support to matrix-mautrix-telegram bridge
spantaleev Dec 14, 2020
05dd091
Rename `_database_hostname` to `_postgres_hostname`
spantaleev Dec 14, 2020
6a2dd80
Fix typo (matrix_telegram_facebook_postgres_hostname -> matrix_mautri…
spantaleev Dec 14, 2020
2848322
Remove some remaining `_database_password` usage in favor of `_postgr…
spantaleev Dec 14, 2020
6c77eae
Add (Postgres + SQLite) support to matrix-mautrix-whatsapp bridge
spantaleev Dec 14, 2020
43d6ff2
Fix sqlite usage for mautrix-facebook/mautrix-telegram
spantaleev Dec 14, 2020
ce21ea3
Add (Postgres + SQLite) support to matrix-mautrix-hangouts bridge
spantaleev Dec 14, 2020
087dbe4
Rename `matrix_*_postgres_*` back to `matrix_*_database_*`
spantaleev Dec 14, 2020
5d70bc1
add postgres support for mx-puppet-* with fallback to sqlite in role …
jdreichmann Dec 14, 2020
b9a04a7
Rename some remaining `matrix_*_postgres_*` vars back to `matrix_*_da…
spantaleev Dec 14, 2020
aa828ff
Separate matrix-reminder-bot install/uninstall tasks
spantaleev Dec 14, 2020
dde1c9f
Fix indentation causing YAML syntax error
spantaleev Dec 14, 2020
e3a0c9a
Add (Postgres + SQLite) support to matrix-reminder-bot
spantaleev Dec 14, 2020
54da61f
add postgres support mx-appservice-[slack|irc] with fallback to nedb …
jdreichmann Dec 14, 2020
bc376c2
Add database migration utility to matrix-postgres role
spantaleev Dec 14, 2020
dc7850e
Fix wording and variable names a bit
spantaleev Dec 14, 2020
ac37091
Enable automatic (SQLite -> Postgres) migration for matrix-reminder-bot
spantaleev Dec 14, 2020
c1431b2
Make use of matrix_postgres_db_migration_request.caller
spantaleev Dec 14, 2020
bbc0872
Enable automatic (SQLite -> Postgres) migration for matrix-mautrix-fa…
spantaleev Dec 14, 2020
3ba8520
Enable automatic (SQLite -> Postgres) migration for matrix-mautrix-ha…
spantaleev Dec 14, 2020
86a8091
Enable automatic (SQLite -> Postgres) migration for matrix-mautrix-te…
spantaleev Dec 14, 2020
13f84e2
Enable automatic (SQLite -> Postgres) migration for matrix-mautrix-wh…
spantaleev Dec 14, 2020
cba973d
Enable automatic (SQLite -> Postgres) migration for matrix-appservice…
spantaleev Dec 14, 2020
7248eb3
Fix syntax error in roles/matrix-bridge-appservice-irc/defaults/main.yml
spantaleev Dec 14, 2020
0ca48f3
Separate matrix-ma1sd install/uninstall tasks
spantaleev Dec 14, 2020
af3ea67
Add (SQLite + Postgres) support and automatic migration to matrix-ma1sd
spantaleev Dec 14, 2020
3ab7dd1
Potentially add matrix-postgres.service as required for bridges, etc.
spantaleev Dec 14, 2020
13d8a9b
hint supported automatic migration nedb->postgres
jdreichmann Dec 14, 2020
516ccb2
Separate matrix-registration install/uninstall tasks
spantaleev Dec 14, 2020
8d74593
Prepare matrix-registation for (SQLite + Postgres) support
spantaleev Dec 14, 2020
374f437
Separate matrix-dimension install/uninstall tasks
spantaleev Dec 14, 2020
0790a7b
Add support for matrix_dimension_systemd_{required,wanted}_services_list
spantaleev Dec 14, 2020
2a502db
Add (SQLite + Postgres) support and automatic migration to matrix-dim…
spantaleev Dec 14, 2020
dd797ba
Fix Postgres database importing/upgrading conflicts
spantaleev Dec 14, 2020
e2ba46b
Fix Jinja2 syntax error (else if -> elif)
spantaleev Dec 14, 2020
3289298
Merge branch 'master' into postgres-per-default
spantaleev Dec 15, 2020
1bd5c24
Add support for executing additional DB migration statements
spantaleev Dec 15, 2020
a197968
Make matrix-registration use Postgres by default
spantaleev Dec 15, 2020
0f4649a
Merge branch 'master' into postgres-per-default
spantaleev Dec 16, 2020
6488e11
Relocate some tasks
spantaleev Dec 22, 2020
9b4bf73
Fix undefined variable reference
spantaleev Dec 22, 2020
149872e
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
e64758c
Add missing restart task
spantaleev Dec 22, 2020
44c9f4d
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
d135cd9
Ensure mx-puppet-discord directories are created before attempting mi…
spantaleev Dec 22, 2020
e49eb07
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
262a25f
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
69cc214
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
ab6563c
Add support for automatic (Postgres -> SQLite) migration to mx-puppet…
spantaleev Dec 22, 2020
15f4cc9
Rename variables (_database_db_name -> _database_name)
spantaleev Dec 22, 2020
815a80c
Fix alignment issues
spantaleev Dec 22, 2020
715bdf2
Add support for automatic (nedb -> Postgres) migration to mx-appservi…
spantaleev Dec 22, 2020
9b95e19
Auto-restart matrix-appservice-irc after (nedb -> Postgres) migration
spantaleev Dec 22, 2020
8675ded
Add support for automatic (nedb -> Postgres) migration to matrix-apps…
spantaleev Dec 22, 2020
ad1425e
Add pgloader self-building support (for ARM)
spantaleev Dec 23, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
244 changes: 244 additions & 0 deletions group_vars/matrix_servers

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions roles/matrix-bot-matrix-reminder-bot/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,34 @@ matrix_bot_matrix_reminder_bot_systemd_required_services_list: ['docker.service'
matrix_bot_matrix_reminder_bot_systemd_wanted_services_list: []


# Database-related configuration fields.
#
# To use SQLite, stick to these defaults.
#
# To use Postgres:
# - change the engine (`matrix_bot_matrix_reminder_bot_database_engine: 'postgres'`)
# - adjust your database credentials via the `matrix_bot_matrix_reminder_bot_database_*` variables
matrix_bot_matrix_reminder_bot_database_engine: 'sqlite'

matrix_bot_matrix_reminder_bot_sqlite_database_path_local: "{{ matrix_bot_matrix_reminder_bot_data_path }}/bot.db"
matrix_bot_matrix_reminder_bot_sqlite_database_path_in_container: "/data/bot.db"

matrix_bot_matrix_reminder_bot_database_username: 'matrix_reminder_bot'
matrix_bot_matrix_reminder_bot_database_password: 'some-password'
matrix_bot_matrix_reminder_bot_database_hostname: 'matrix-postgres'
matrix_bot_matrix_reminder_bot_database_port: 5432
matrix_bot_matrix_reminder_bot_database_name: 'matrix_reminder_bot'

matrix_bot_matrix_reminder_bot_database_connection_string: 'postgres://{{ matrix_bot_matrix_reminder_bot_database_username }}:{{ matrix_bot_matrix_reminder_bot_database_password }}@{{ matrix_bot_matrix_reminder_bot_database_hostname }}:{{ matrix_bot_matrix_reminder_bot_database_port }}/{{ matrix_bot_matrix_reminder_bot_database_name }}'

matrix_bot_matrix_reminder_bot_storage_database: "{{
{
'sqlite': ('sqlite://' + matrix_bot_matrix_reminder_bot_sqlite_database_path_in_container),
'postgres': matrix_bot_matrix_reminder_bot_database_connection_string,
}[matrix_bot_matrix_reminder_bot_database_engine]
}}"


# The bot's username. This user needs to be created manually beforehand.
# Also see `matrix_bot_matrix_reminder_bot_user_password`.
matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: "bot.matrix-reminder-bot"
Expand Down
9 changes: 8 additions & 1 deletion roles/matrix-bot-matrix-reminder-bot/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@
- setup-all
- setup-bot-matrix-reminder-bot

- import_tasks: "{{ role_path }}/tasks/setup.yml"
- import_tasks: "{{ role_path }}/tasks/setup_install.yml"
when: "run_setup|bool and matrix_bot_matrix_reminder_bot_enabled|bool"
tags:
- setup-all
- setup-bot-matrix-reminder-bot

- import_tasks: "{{ role_path }}/tasks/setup_uninstall.yml"
when: "run_setup|bool and not matrix_bot_matrix_reminder_bot_enabled|bool"
tags:
- setup-all
- setup-bot-matrix-reminder-bot
88 changes: 0 additions & 88 deletions roles/matrix-bot-matrix-reminder-bot/tasks/setup.yml

This file was deleted.

73 changes: 73 additions & 0 deletions roles/matrix-bot-matrix-reminder-bot/tasks/setup_install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---

- set_fact:
matrix_bot_matrix_reminder_bot_requires_restart: false

- block:
- name: Check if an SQLite database already exists
stat:
path: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}"
register: matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result

- block:
- set_fact:
matrix_postgres_db_migration_request:
src: "{{ matrix_bot_matrix_reminder_bot_sqlite_database_path_local }}"
dst: "{{ matrix_bot_matrix_reminder_bot_database_connection_string }}"
caller: "{{ role_path|basename }}"
engine_variable_name: 'matrix_bot_matrix_reminder_bot_database_engine'
engine_old: 'sqlite'
systemd_services_to_stop: ['matrix-bot-matrix-reminder-bot.service']

- import_tasks: "roles/matrix-postgres/tasks/util/migrate_db_to_postgres.yml"

- set_fact:
matrix_bot_matrix_reminder_bot_requires_restart: true
when: "matrix_bot_matrix_reminder_bot_sqlite_database_path_local_stat_result.stat.exists|bool"
when: "matrix_bot_matrix_reminder_bot_database_engine == 'postgres'"

- name: Ensure matrix-reminder-bot paths exist
file:
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
with_items:
- { path: "{{ matrix_bot_matrix_reminder_bot_config_path }}", when: true }
- { path: "{{ matrix_bot_matrix_reminder_bot_data_path }}", when: true }
- { path: "{{ matrix_bot_matrix_reminder_bot_data_store_path }}", when: true }
when: "item.when|bool"

- name: Ensure matrix-reminder-bot image is pulled
docker_image:
name: "{{ matrix_bot_matrix_reminder_bot_docker_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_bot_matrix_reminder_bot_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_matrix_reminder_bot_docker_image_force_pull }}"

- name: Ensure matrix-reminder-bot config installed
copy:
content: "{{ matrix_bot_matrix_reminder_bot_configuration|to_nice_yaml }}"
dest: "{{ matrix_bot_matrix_reminder_bot_config_path }}/config.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"

- name: Ensure matrix-bot-matrix-reminder-bot.service installed
template:
src: "{{ role_path }}/templates/systemd/matrix-bot-matrix-reminder-bot.service.j2"
dest: "{{ matrix_systemd_path }}/matrix-bot-matrix-reminder-bot.service"
mode: 0644
register: matrix_bot_matrix_reminder_bot_systemd_service_result

- name: Ensure systemd reloaded after matrix-bot-matrix-reminder-bot.service installation
service:
daemon_reload: yes
when: "matrix_bot_matrix_reminder_bot_systemd_service_result.changed|bool"

- name: Ensure matrix-bot-matrix-reminder-bot.service restarted, if necessary
service:
name: "matrix-bot-matrix-reminder-bot.service"
state: restarted
when: "matrix_bot_matrix_reminder_bot_requires_restart|bool"
35 changes: 35 additions & 0 deletions roles/matrix-bot-matrix-reminder-bot/tasks/setup_uninstall.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---

- name: Check existence of matrix-matrix-reminder-bot service
stat:
path: "{{ matrix_systemd_path }}/matrix-bot-matrix-reminder-bot.service"
register: matrix_bot_matrix_reminder_bot_service_stat

- name: Ensure matrix-matrix-reminder-bot is stopped
service:
name: matrix-matrix-reminder-bot
state: stopped
daemon_reload: yes
register: stopping_result
when: "matrix_bot_matrix_reminder_bot_service_stat.stat.exists|bool"

- name: Ensure matrix-bot-matrix-reminder-bot.service doesn't exist
file:
path: "{{ matrix_systemd_path }}/matrix-bot-matrix-reminder-bot.service"
state: absent
when: "matrix_bot_matrix_reminder_bot_service_stat.stat.exists|bool"

- name: Ensure systemd reloaded after matrix-bot-matrix-reminder-bot.service removal
service:
daemon_reload: yes
when: "matrix_bot_matrix_reminder_bot_service_stat.stat.exists|bool"

- name: Ensure Matrix matrix-reminder-bot paths don't exist
file:
path: "{{ matrix_bot_matrix_reminder_bot_base_path }}"
state: absent

- name: Ensure matrix-reminder-bot Docker image doesn't exist
docker_image:
name: "{{ matrix_bot_matrix_reminder_bot_docker_image }}"
state: absent
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ storage:
# For Postgres, this would look like:
# database: "postgres://username:password@localhost/dbname?sslmode=disable"
#database: "postgres://matrix-reminder-bot:remindme@localhost/matrix-reminder-bot?sslmode=disable"
database: "sqlite:///data/bot.db"
database: {{ matrix_bot_matrix_reminder_bot_storage_database|to_json }}
# The path to a directory for internal bot storage
# containing encryption keys, sync tokens, etc.
store_path: "/data/store"
Expand Down
24 changes: 24 additions & 0 deletions roles/matrix-bridge-appservice-discord/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,30 @@ matrix_appservice_discord_bridge_homeserverUrl: "{{ matrix_homeserver_url }}"
matrix_appservice_discord_bridge_disablePresence: false
matrix_appservice_discord_bridge_enableSelfServiceBridging: false

# Database-related configuration fields.
#
# To use SQLite, stick to these defaults.
#
# To use Postgres:
# - change the engine (`matrix_appservice_discord_database_engine: 'postgres'`)
# - adjust your database credentials via the `matrix_appservice_discord_postgres_*` variables
matrix_appservice_discord_database_engine: 'sqlite'

matrix_appservice_discord_sqlite_database_path_local: "{{ matrix_appservice_discord_data_path }}/discord.db"
matrix_appservice_discord_sqlite_database_path_in_container: "/data/discord.db"

matrix_appservice_discord_database_username: 'matrix_appservice_discord'
matrix_appservice_discord_database_password: 'some-password'
matrix_appservice_discord_database_hostname: 'matrix-postgres'
matrix_appservice_discord_database_port: 5432
matrix_appservice_discord_database_name: 'matrix_appservice_discord'

# These 2 variables are what actually ends up in the bridge configuration.
# It's best if you don't change them directly, but rather redefine the sub-variables that constitute them.
matrix_appservice_discord_database_filename: "{{ matrix_appservice_discord_sqlite_database_path_in_container }}"
matrix_appservice_discord_database_connString: 'postgresql://{{ matrix_appservice_discord_database_username }}:{{ matrix_appservice_discord_database_password }}@{{ matrix_appservice_discord_database_hostname }}:{{ matrix_appservice_discord_database_port }}/{{ matrix_appservice_discord_database_name }}'


# Tells whether the bot should make use of "Privileged Gateway Intents".
#
# Enabling this means that you need to enable it for the bot (Discord application) as well,
Expand Down
32 changes: 32 additions & 0 deletions roles/matrix-bridge-appservice-discord/tasks/setup_install.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
---

- set_fact:
matrix_appservice_discord_requires_restart: false

- block:
- name: Check if an SQLite database already exists
stat:
path: "{{ matrix_appservice_discord_sqlite_database_path_local }}"
register: matrix_appservice_discord_sqlite_database_path_local_stat_result

- block:
- set_fact:
matrix_postgres_db_migration_request:
src: "{{ matrix_appservice_discord_sqlite_database_path_local }}"
dst: "{{ matrix_appservice_discord_database_connString }}"
caller: "{{ role_path|basename }}"
engine_variable_name: 'matrix_appservice_discord_database_engine'
engine_old: 'sqlite'
systemd_services_to_stop: ['matrix-appservice-discord.service']

- import_tasks: "roles/matrix-postgres/tasks/util/migrate_db_to_postgres.yml"

- set_fact:
matrix_appservice_discord_requires_restart: true
when: "matrix_appservice_discord_sqlite_database_path_local_stat_result.stat.exists|bool"
when: "matrix_appservice_discord_database_engine == 'postgres'"

- name: Ensure Appservice Discord image is pulled
docker_image:
name: "{{ matrix_appservice_discord_docker_image }}"
Expand Down Expand Up @@ -80,3 +106,9 @@
service:
daemon_reload: yes
when: "matrix_appservice_discord_systemd_service_result.changed"

- name: Ensure matrix-appservice-discord.service restarted, if necessary
service:
name: "matrix-appservice-discord.service"
state: restarted
when: "matrix_appservice_discord_requires_restart|bool"
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@
when: "item.old in vars"
with_items:
- {'old': 'matrix_appservice_discord_container_expose_client_server_api_port', 'new': '<superseded by matrix_appservice_discord_container_http_host_bind_port>'}

- name: Require a valid database engine
fail: msg="`matrix_appservice_discord_database_engine` needs to be either 'sqlite' or 'postgres'"
when: "matrix_appservice_discord_database_engine not in ['sqlite', 'postgres']"
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,11 @@ database:
# If you are migrating, see https://github.com/Half-Shot/matrix-appservice-discord/blob/master/docs/howto.md#migrate-to-postgres-from-sqlite
# WARNING: You will almost certainly be fine with sqlite unless your bridge
# is in heavy demand and you suffer from IO slowness.
filename: "/data/discord.db"
# connString: "postgresql://user:password@localhost/database_name"
{% if matrix_appservice_discord_database_engine == 'sqlite' %}
filename: {{ matrix_appservice_discord_database_filename|to_json }}
{% else %}
connString: {{ matrix_appservice_discord_database_connString|to_json }}
jdreichmann marked this conversation as resolved.
Show resolved Hide resolved
{% endif %}
room:
# Set the default visibility of alias rooms, defaults to "public".
# One of: "public", "private"
Expand Down
19 changes: 19 additions & 0 deletions roles/matrix-bridge-appservice-irc/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,25 @@ matrix_appservice_irc_homeserver_domain: '{{ matrix_domain }}'
matrix_appservice_irc_homeserver_enablePresence: true
matrix_appservice_irc_appservice_address: 'http://matrix-appservice-irc:9999'

matrix_appservice_irc_database_engine: nedb
matrix_appservice_irc_database_username: matrix_appservice_irc
matrix_appservice_irc_database_password: ~
matrix_appservice_irc_database_hostname: 'matrix-postgres'
matrix_appservice_irc_database_port: 5432
matrix_appservice_irc_database_name: matrix_appservice_irc

# This is just the Postgres connection string, if Postgres is used.
# Naming clashes with `matrix_appservice_irc_database_connectionString` somewhat.
matrix_appservice_irc_database_connection_string: 'postgresql://{{ matrix_appservice_irc_database_username }}:{{ matrix_appservice_irc_database_password }}@{{ matrix_appservice_irc_database_hostname }}:{{ matrix_appservice_irc_database_port }}/{{ matrix_appservice_irc_database_name }}?sslmode=disable'

# This is what actually goes into `database.connectionString` for the bridge.
matrix_appservice_irc_database_connectionString: "{{
{
'nedb': 'nedb:///data',
'postgres': matrix_appservice_irc_database_connection_string,
}[matrix_appservice_irc_database_engine]
}}"

matrix_appservice_irc_ircService_servers: []

# Example of `matrix_appservice_irc_ircService_servers` with one server (and all its options):
Expand Down
Loading