Просмотр исходного кода

renamed ansible variables to matrix_bot_maubot_*

pull/622/head
Sabine Laszakovits 4 лет назад
committed by Stuart Mumford
Родитель
Сommit
aa413dc933
6 измененных файлов: 93 добавлений и 93 удалений
  1. +10
    -10
      group_vars/matrix_servers
  2. +36
    -36
      roles/matrix-maubot/defaults/main.yml
  3. +1
    -1
      roles/matrix-maubot/tasks/main.yml
  4. +27
    -27
      roles/matrix-maubot/tasks/setup.yml
  5. +6
    -6
      roles/matrix-maubot/templates/matrix-maubot.service.j2
  6. +13
    -13
      roles/matrix-maubot/templates/maubot_config.yaml.j2

+ 10
- 10
group_vars/matrix_servers Просмотреть файл

@@ -1182,9 +1182,9 @@ matrix_backup_borg_systemd_required_services_list: |
# #
###################################################################### ######################################################################


matrix_maubot_enabled: false
matrix_bot_maubot_enabled: false


matrix_maubot_systemd_required_services_list: |
matrix_bot_maubot_systemd_required_services_list: |
{{ {{
['docker.service'] ['docker.service']
+ +
@@ -1195,11 +1195,11 @@ matrix_maubot_systemd_required_services_list: |
(['matrix-nginx-proxy.service'] if matrix_nginx_proxy_enabled else []) (['matrix-nginx-proxy.service'] if matrix_nginx_proxy_enabled else [])
}} }}


matrix_maubot_registration_shared_secret: "{{ matrix_synapse_registration_shared_secret }}"
matrix_maubot_shared_secret: true
matrix_bot_maubot_registration_shared_secret: "{{ matrix_synapse_registration_shared_secret }}"
matrix_bot_maubot_shared_secret: true


matrix_maubot_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
matrix_maubot_database_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'maubot.db') | to_uuid }}"
matrix_bot_maubot_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
matrix_bot_maubot_database_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'maubot.db') | to_uuid }}"


###################################################################### ######################################################################
# #
@@ -1754,10 +1754,10 @@ matrix_postgres_additional_databases: |
}] if (matrix_ma1sd_enabled and matrix_ma1sd_database_engine == 'postgres' and matrix_ma1sd_database_hostname == 'matrix-postgres') else []) }] if (matrix_ma1sd_enabled and matrix_ma1sd_database_engine == 'postgres' and matrix_ma1sd_database_hostname == 'matrix-postgres') else [])
+ +
([{ ([{
'name': matrix_maubot_database_name,
'username': matrix_maubot_database_username,
'password': matrix_maubot_database_password,
}] if (matrix_maubot_enabled and matrix_maubot_database_engine == 'postgres' and matrix_maubot_database_hostname == 'matrix-postgres') else [])
'name': matrix_bot_maubot_database_name,
'username': matrix_bot_maubot_database_username,
'password': matrix_bot_maubot_database_password,
}] if (matrix_bot_maubot_enabled and matrix_bot_maubot_database_engine == 'postgres' and matrix_bot_maubot_database_hostname == 'matrix-postgres') else [])
+ +
([{ ([{
'name': matrix_bot_matrix_reminder_bot_database_name, 'name': matrix_bot_matrix_reminder_bot_database_name,


+ 36
- 36
roles/matrix-maubot/defaults/main.yml Просмотреть файл

@@ -1,41 +1,41 @@
matrix_maubot_enabled: true
matrix_maubot_host_data_dir: "{{ matrix_base_data_path }}/maubot/data"
matrix_maubot_host_config_dir: "{{ matrix_base_data_path }}/maubot/config"
matrix_maubot_container_data_dir: "/data"
matrix_maubot_container_config_dir: "/root/.config/"
matrix_maubot_config_filename: "config.yaml"
matrix_maubot_config_path: "{{ matrix_maubot_host_data_dir + '/' + matrix_maubot_config_filename }}"
matrix_maubot_systemd_required_services_list: ['docker.service']
matrix_maubot_systemd_wanted_services_list: []
matrix_maubot_container_extra_arguments: []
matrix_maubot_database_engine: "sqlite"
matrix_maubot_sqlite_database_path_local: "maubot.db"
matrix_maubot_sqlite_database_path_in_container: "/{{ matrix_maubot_container_data_dir }}/{{ matrix_maubot_sqlite_database_path_local }}"
matrix_maubot_database_username: 'matrix_bot_maubot'
matrix_maubot_database_password: 'some-password'
matrix_maubot_database_hostname: 'matrix-postgres'
matrix_maubot_database_port: 5432
matrix_maubot_database_name: 'matrix_bot_maubot'
matrix_maubot_database_connection_string: 'postgres://{{ matrix_maubot_database_username }}:{{ matrix_maubot_database_password }}@{{ matrix_maubot_database_hostname }}:{{ matrix_maubot_database_port }}/{{ matrix_maubot_database_name }}'
matrix_maubot_storage_database: "{{
matrix_bot_maubot_enabled: true
matrix_bot_maubot_host_data_dir: "{{ matrix_base_data_path }}/maubot/data"
matrix_bot_maubot_host_config_dir: "{{ matrix_base_data_path }}/maubot/config"
matrix_bot_maubot_container_data_dir: "/data"
matrix_bot_maubot_container_config_dir: "/root/.config/"
matrix_bot_maubot_config_filename: "config.yaml"
matrix_bot_maubot_config_path: "{{ matrix_bot_maubot_host_data_dir + '/' + matrix_bot_maubot_config_filename }}"
matrix_bot_maubot_systemd_required_services_list: ['docker.service']
matrix_bot_maubot_systemd_wanted_services_list: []
matrix_bot_maubot_container_extra_arguments: []
matrix_bot_maubot_database_engine: "sqlite"
matrix_bot_maubot_sqlite_database_path_local: "maubot.db"
matrix_bot_maubot_sqlite_database_path_in_container: "/{{ matrix_bot_maubot_container_data_dir }}/{{ matrix_bot_maubot_sqlite_database_path_local }}"
matrix_bot_maubot_database_username: 'matrix_bot_maubot'
matrix_bot_maubot_database_password: 'some-password'
matrix_bot_maubot_database_hostname: 'matrix-postgres'
matrix_bot_maubot_database_port: 5432
matrix_bot_maubot_database_name: 'matrix_bot_maubot'
matrix_bot_maubot_database_connection_string: 'postgres://{{ matrix_bot_maubot_database_username }}:{{ matrix_bot_maubot_database_password }}@{{ matrix_bot_maubot_database_hostname }}:{{ matrix_bot_maubot_database_port }}/{{ matrix_bot_maubot_database_name }}'
matrix_bot_maubot_storage_database: "{{
{ {
'sqlite': ('sqlite://' + matrix_maubot_sqlite_database_path_in_container),
'postgres': matrix_maubot_database_connection_string,
}[matrix_maubot_database_engine]
'sqlite': ('sqlite://' + matrix_bot_maubot_sqlite_database_path_in_container),
'postgres': matrix_bot_maubot_database_connection_string,
}[matrix_bot_maubot_database_engine]
}}" }}"


matrix_maubot_management_port: 29316
matrix_maubot_management_hostname: "0.0.0.0"
matrix_bot_maubot_management_port: 29316
matrix_bot_maubot_management_hostname: "0.0.0.0"


matrix_maubot_shared_secret: false
matrix_maubot_registration_shared_secret:
matrix_maubot_cs_url: "{{ matrix_homeserver_container_url }}"
matrix_maubot_admins: {}
matrix_bot_maubot_shared_secret: false
matrix_bot_maubot_registration_shared_secret:
matrix_bot_maubot_cs_url: "{{ matrix_homeserver_container_url }}"
matrix_bot_maubot_admins: {}


matrix_maubot_docker_image: dock.mau.dev/maubot/maubot:latest
matrix_maubot_docker_image_force_pull: "{{ matrix_maubot_docker_image.endswith(':latest') }}"
matrix_bot_maubot_docker_image: dock.mau.dev/maubot/maubot:latest
matrix_bot_maubot_docker_image_force_pull: "{{ matrix_bot_maubot_docker_image.endswith(':latest') }}"

+ 1
- 1
roles/matrix-maubot/tasks/main.yml Просмотреть файл

@@ -1,5 +1,5 @@
- import_tasks: "{{ role_path }}/tasks/setup.yml" - import_tasks: "{{ role_path }}/tasks/setup.yml"
when: "run_setup|bool and matrix_maubot_enabled|bool"
when: "run_setup|bool and matrix_bot_maubot_enabled|bool"
tags: tags:
- setup-all - setup-all
- setup-bot-maubot - setup-bot-maubot

+ 27
- 27
roles/matrix-maubot/tasks/setup.yml Просмотреть файл

@@ -1,43 +1,43 @@
--- ---
- name: Create Config Dir - name: Create Config Dir
file: file:
path: "{{ matrix_maubot_host_data_dir }}"
path: "{{ matrix_bot_maubot_host_data_dir }}"
state: directory state: directory
mode: 0755 mode: 0755
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
when: matrix_maubot_enabled|bool
when: matrix_bot_maubot_enabled|bool


- name: Create User Config Dir - name: Create User Config Dir
file: file:
path: "{{ matrix_maubot_host_config_dir }}"
path: "{{ matrix_bot_maubot_host_config_dir }}"
state: directory state: directory
mode: 0755 mode: 0755
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
when: matrix_maubot_enabled|bool and matrix_maubot_host_config_dir|bool
when: matrix_bot_maubot_enabled|bool and matrix_bot_maubot_host_config_dir|bool


- name: Create Config File - name: Create Config File
template: template:
src: "{{ role_path }}/templates/maubot_config.yaml.j2" src: "{{ role_path }}/templates/maubot_config.yaml.j2"
dest: "{{ matrix_maubot_config_path }}"
dest: "{{ matrix_bot_maubot_config_path }}"
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
mode: "u=rwx" mode: "u=rwx"
when: matrix_maubot_enabled|bool
when: matrix_bot_maubot_enabled|bool


- name: Ensure Maubot image is pulled - name: Ensure Maubot image is pulled
docker_image: docker_image:
name: "{{ matrix_maubot_docker_image }}"
name: "{{ matrix_bot_maubot_docker_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_maubot_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_maubot_docker_image_force_pull }}"
when: matrix_maubot_enabled|bool
force_source: "{{ matrix_bot_maubot_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_maubot_docker_image_force_pull }}"
when: matrix_bot_maubot_enabled|bool


- name: Ensure matrix-maubot.service installed - name: Ensure matrix-maubot.service installed
template: template:
src: "{{ role_path }}/templates/matrix-maubot.service.j2" src: "{{ role_path }}/templates/matrix-maubot.service.j2"
dest: "/etc/systemd/system/matrix-maubot.service" dest: "/etc/systemd/system/matrix-maubot.service"
mode: 0644 mode: 0644
register: matrix_maubot_systemd_service_result
when: matrix_maubot_enabled|bool
register: matrix_bot_maubot_systemd_service_result
when: matrix_bot_maubot_enabled|bool


- set_fact: - set_fact:
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-maubot'] }}" matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-maubot'] }}"
@@ -49,27 +49,27 @@
but it's pointless since the matrix-nginx-proxy role had already executed. but it's pointless since the matrix-nginx-proxy role had already executed.
To fix this, please change the order of roles in your plabook, To fix this, please change the order of roles in your plabook,
so that the matrix-nginx-proxy role would run after the matrix-maubot role. so that the matrix-nginx-proxy role would run after the matrix-maubot role.
when: matrix_nginx_proxy_role_executed|default(False)|bool and matrix_maubot_enabled|bool
when: matrix_nginx_proxy_role_executed|default(False)|bool and matrix_bot_maubot_enabled|bool


- name: Generate Maubot proxying configuration for matrix-nginx-proxy - name: Generate Maubot proxying configuration for matrix-nginx-proxy
set_fact: set_fact:
matrix_maubot_matrix_nginx_proxy_configuration: |
matrix_bot_maubot_matrix_nginx_proxy_configuration: |
location /_matrix/maubot { location /_matrix/maubot {
{% if matrix_nginx_proxy_enabled|default(False) %} {% if matrix_nginx_proxy_enabled|default(False) %}
{# Use the embedded DNS resolver in Docker containers to discover the service #} {# Use the embedded DNS resolver in Docker containers to discover the service #}
resolver 127.0.0.11 valid=5s; resolver 127.0.0.11 valid=5s;
set $backend "matrix-maubot:{{ matrix_maubot_management_port }}";
set $backend "matrix-maubot:{{ matrix_bot_maubot_management_port }}";
proxy_pass http://$backend; proxy_pass http://$backend;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
{% else %} {% else %}
{# Generic configuration for use outside of our container setup #} {# Generic configuration for use outside of our container setup #}
proxy_pass http://127.0.0.1:{{ matrix_maubot_management_port }};
proxy_pass http://127.0.0.1:{{ matrix_bot_maubot_management_port }};
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
{% endif %} {% endif %}
} }
when: matrix_maubot_enabled|bool
when: matrix_bot_maubot_enabled|bool


- name: Register Maubot's proxying configuration with matrix-nginx-proxy - name: Register Maubot's proxying configuration with matrix-nginx-proxy
set_fact: set_fact:
@@ -77,9 +77,9 @@
{{ {{
matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks|default([]) matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks|default([])
+ +
[matrix_maubot_matrix_nginx_proxy_configuration]
[matrix_bot_maubot_matrix_nginx_proxy_configuration]
}} }}
when: matrix_maubot_enabled|bool
when: matrix_bot_maubot_enabled|bool


- name: Warn about reverse-proxying if matrix-nginx-proxy not used - name: Warn about reverse-proxying if matrix-nginx-proxy not used
debug: debug:
@@ -88,7 +88,7 @@
reverse proxy. reverse proxy.
Please make sure that you're proxying the `/_matrix/maubot` Please make sure that you're proxying the `/_matrix/maubot`
URL endpoint to the matrix-maubot container. URL endpoint to the matrix-maubot container.
when: "matrix_maubot_enabled|bool and matrix_nginx_proxy_enabled is not defined"
when: "matrix_bot_maubot_enabled|bool and matrix_nginx_proxy_enabled is not defined"


# #
# Tasks related to getting rid of the maubot (if it was previously enabled) # Tasks related to getting rid of the maubot (if it was previously enabled)
@@ -97,8 +97,8 @@
- name: Check existence of matrix-maubot service - name: Check existence of matrix-maubot service
stat: stat:
path: "/etc/systemd/system/matrix-maubot.service" path: "/etc/systemd/system/matrix-maubot.service"
register: matrix_maubot_service_stat
when: "not matrix_maubot_enabled|bool"
register: matrix_bot_maubot_service_stat
when: "not matrix_bot_maubot_enabled|bool"


- name: Ensure matrix-maubot is stopped - name: Ensure matrix-maubot is stopped
service: service:
@@ -106,21 +106,21 @@
state: stopped state: stopped
daemon_reload: yes daemon_reload: yes
register: stopping_result register: stopping_result
when: "not matrix_maubot_enabled|bool and matrix_maubot_service_stat.stat.exists"
when: "not matrix_bot_maubot_enabled|bool and matrix_bot_maubot_service_stat.stat.exists"


- name: Ensure matrix-maubot.service doesn't exist - name: Ensure matrix-maubot.service doesn't exist
file: file:
path: "/etc/systemd/system/matrix-maubot.service" path: "/etc/systemd/system/matrix-maubot.service"
state: absent state: absent
when: "not matrix_maubot_enabled|bool and matrix_maubot_service_stat.stat.exists"
when: "not matrix_bot_maubot_enabled|bool and matrix_bot_maubot_service_stat.stat.exists"


- name: Ensure systemd reloaded after matrix-maubot.service removal - name: Ensure systemd reloaded after matrix-maubot.service removal
service: service:
daemon_reload: yes daemon_reload: yes
when: "not matrix_maubot_enabled|bool and matrix_maubot_service_stat.stat.exists"
when: "not matrix_bot_maubot_enabled|bool and matrix_bot_maubot_service_stat.stat.exists"


- name: Ensure maubot Docker image doesn't exist - name: Ensure maubot Docker image doesn't exist
docker_image: docker_image:
name: "{{ matrix_maubot_docker_image }}"
name: "{{ matrix_bot_maubot_docker_image }}"
state: absent state: absent
when: "not matrix_maubot_enabled|bool"
when: "not matrix_bot_maubot_enabled|bool"

+ 6
- 6
roles/matrix-maubot/templates/matrix-maubot.service.j2 Просмотреть файл

@@ -1,11 +1,11 @@
#jinja2: lstrip_blocks: "True" #jinja2: lstrip_blocks: "True"
[Unit] [Unit]
Description=Matrix Maubot Description=Matrix Maubot
{% for service in matrix_maubot_systemd_required_services_list %}
{% for service in matrix_bot_maubot_systemd_required_services_list %}
Requires={{ service }} Requires={{ service }}
After={{ service }} After={{ service }}
{% endfor %} {% endfor %}
{% for service in matrix_maubot_systemd_wanted_services_list %}
{% for service in matrix_bot_maubot_systemd_wanted_services_list %}
Wants={{ service }} Wants={{ service }}
{% endfor %} {% endfor %}


@@ -23,12 +23,12 @@ ExecStart=/usr/bin/docker run --rm --name matrix-maubot \
-e GID={{ matrix_user_gid }} \ -e GID={{ matrix_user_gid }} \
--network={{ matrix_docker_network }} \ --network={{ matrix_docker_network }} \
-p 29316:29316 \ -p 29316:29316 \
-v {{ matrix_maubot_host_data_dir }}:{{ matrix_maubot_container_data_dir }}:z \
-v {{ matrix_maubot_host_config_dir }}:{{ matrix_maubot_container_config_dir }}:z \
{% for arg in matrix_maubot_container_extra_arguments %}
-v {{ matrix_bot_maubot_host_data_dir }}:{{ matrix_bot_maubot_container_data_dir }}:z \
-v {{ matrix_bot_maubot_host_config_dir }}:{{ matrix_bot_maubot_container_config_dir }}:z \
{% for arg in matrix_bot_maubot_container_extra_arguments %}
{{ arg }} \ {{ arg }} \
{% endfor %} {% endfor %}
{{ matrix_maubot_docker_image }}
{{ matrix_bot_maubot_docker_image }}


ExecStop=-/usr/bin/docker kill matrix-maubot ExecStop=-/usr/bin/docker kill matrix-maubot
ExecStop=-/usr/bin/docker rm matrix-maubot ExecStop=-/usr/bin/docker rm matrix-maubot


+ 13
- 13
roles/matrix-maubot/templates/maubot_config.yaml.j2 Просмотреть файл

@@ -3,7 +3,7 @@
# Format examples: # Format examples:
# SQLite: sqlite:///filename.db # SQLite: sqlite:///filename.db
# Postgres: postgres://username:password@hostname/dbname # Postgres: postgres://username:password@hostname/dbname
database: {{ matrix_maubot_storage_database|to_json }}
database: {{ matrix_bot_maubot_storage_database|to_json }}


# Database for encryption data. # Database for encryption data.
crypto_database: crypto_database:
@@ -16,26 +16,26 @@ crypto_database:
# #
# WARNING: The pickle database is dangerous and should not be used in production. # WARNING: The pickle database is dangerous and should not be used in production.
type: default type: default
postgres_uri: {{ matrix_maubot_storage_database|to_json }}
pickle_dir: {{ matrix_maubot_container_data_dir }}/crypto
postgres_uri: {{ matrix_bot_maubot_storage_database|to_json }}
pickle_dir: {{ matrix_bot_maubot_container_data_dir }}/crypto


plugin_directories: plugin_directories:
# The directory where uploaded new plugins should be stored. # The directory where uploaded new plugins should be stored.
upload: {{ matrix_maubot_container_data_dir }}/plugins
upload: {{ matrix_bot_maubot_container_data_dir }}/plugins
# The directories from which plugins should be loaded. # The directories from which plugins should be loaded.
# Duplicate plugin IDs will be moved to the trash. # Duplicate plugin IDs will be moved to the trash.
load: load:
- {{ matrix_maubot_container_data_dir }}/plugins
- {{ matrix_bot_maubot_container_data_dir }}/plugins
# The directory where old plugin versions and conflicting plugins should be moved. # The directory where old plugin versions and conflicting plugins should be moved.
# Set to "delete" to delete files immediately. # Set to "delete" to delete files immediately.
trash: {{ matrix_maubot_container_data_dir }}/trash
trash: {{ matrix_bot_maubot_container_data_dir }}/trash
# The directory where plugin databases should be stored. # The directory where plugin databases should be stored.
db: {{ matrix_maubot_container_data_dir }}/plugins
db: {{ matrix_bot_maubot_container_data_dir }}/plugins


server: server:
# The IP and port to listen to. # The IP and port to listen to.
hostname: {{ matrix_maubot_management_hostname }}
port: {{ matrix_maubot_management_port }}
hostname: {{ matrix_bot_maubot_management_hostname }}
port: {{ matrix_bot_maubot_management_port }}
# The base management API path. # The base management API path.
base_path: /_matrix/maubot/v1 base_path: /_matrix/maubot/v1
# The base path for the UI. # The base path for the UI.
@@ -49,19 +49,19 @@ server:
# Set to "generate" to generate and save a new token at startup. # Set to "generate" to generate and save a new token at startup.
unshared_secret: generate unshared_secret: generate


{% if matrix_maubot_shared_secret %}
{% if matrix_bot_maubot_shared_secret %}
# Shared registration secrets to allow registering new users from the management UI # Shared registration secrets to allow registering new users from the management UI
registration_secrets: registration_secrets:
{{ matrix_domain }}: {{ matrix_domain }}:
# Client-server API URL # Client-server API URL
url: {{ matrix_maubot_cs_url }}
url: {{ matrix_bot_maubot_cs_url }}
# registration_shared_secret from synapse config # registration_shared_secret from synapse config
secret: {{ matrix_maubot_registration_shared_secret }}
secret: {{ matrix_bot_maubot_registration_shared_secret }}
{% endif %} {% endif %}


# List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password # List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password
# to prevent normal login. Root is a special user that can't have a password and will always exist. # to prevent normal login. Root is a special user that can't have a password and will always exist.
admins: {{ matrix_maubot_admins | combine( {"root": ""} ) }}
admins: {{ matrix_bot_maubot_admins | combine( {"root": ""} ) }}


# API feature switches. # API feature switches.
api_features: api_features:


Загрузка…
Отмена
Сохранить