2022-02-05 22:32:54 +02:00
---
2022-01-03 22:22:42 +02:00
# A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.
2022-03-02 21:58:11 +02:00
# https://github.com/matrix-org/matrix-hookshot
2022-01-03 22:22:42 +02:00
matrix_hookshot_enabled : true
2022-04-03 12:10:46 +02:00
matrix_hookshot_container_image_self_build : false
matrix_hookshot_container_image_self_build_repo : "https://github.com/matrix-org/matrix-hookshot.git"
matrix_hookshot_container_image_self_build_branch : "{{ 'main' if matrix_hookshot_version == 'latest' else matrix_hookshot_version }}"
2022-03-30 14:18:21 +02:00
matrix_hookshot_version : 1.3 .0
2022-04-03 12:10:46 +02:00
2022-04-05 14:42:38 +02:00
matrix_hookshot_docker_image : "{{ matrix_hookshot_docker_image_name_prefix }}halfshot/matrix-hookshot:{{ matrix_hookshot_version }}"
2022-04-03 12:10:46 +02:00
matrix_hookshot_docker_image_name_prefix : "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_container_global_registry_prefix }}"
2022-01-03 22:22:42 +02:00
matrix_hookshot_docker_image_force_pull : "{{ matrix_hookshot_docker_image.endswith(':latest') }}"
matrix_hookshot_base_path : "{{ matrix_base_data_path }}/hookshot"
2022-04-03 12:10:46 +02:00
matrix_hookshot_docker_src_files_path : "{{ matrix_hookshot_base_path }}/docker-src"
2022-01-03 22:22:42 +02:00
matrix_hookshot_homeserver_address : "{{ matrix_homeserver_container_url }}"
2022-01-08 17:51:52 +02:00
matrix_hookshot_container_url : 'matrix-hookshot'
2022-01-03 22:22:42 +02:00
matrix_hookshot_public_endpoint : /hookshot
2022-01-30 20:05:49 +02:00
# There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
2022-01-06 19:55:36 +02:00
matrix_hookshot_appservice_port : 9993
matrix_hookshot_appservice_endpoint : "{{ matrix_hookshot_public_endpoint }}/_matrix/app"
2022-01-30 20:05:49 +02:00
# Metrics work only in conjunction with matrix_synapse_metrics_enabled etc
2022-01-03 22:22:42 +02:00
matrix_hookshot_metrics_enabled : true
2022-01-30 20:05:49 +02:00
# There is no need to edit ports.
# Read the documentation to learn about using hookshot metrics with external Prometheus
# If you still want something different, use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
2022-01-03 22:22:42 +02:00
matrix_hookshot_metrics_port : 9001
2022-01-06 19:55:36 +02:00
matrix_hookshot_metrics_endpoint : "{{ matrix_hookshot_public_endpoint }}/metrics"
2022-01-03 22:22:42 +02:00
2022-01-30 20:05:49 +02:00
# There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
2022-01-03 22:22:42 +02:00
matrix_hookshot_webhook_port : 9000
2022-01-06 19:55:36 +02:00
matrix_hookshot_webhook_endpoint : "{{ matrix_hookshot_public_endpoint }}/webhooks"
2022-01-03 22:22:42 +02:00
2022-01-11 01:19:29 +02:00
2022-01-30 20:05:49 +02:00
# You need to create a GitHub app to enable this and fill in the empty variables below
2022-03-02 21:58:11 +02:00
# https://matrix-org.github.io/matrix-hookshot/setup/github.html
2022-01-06 19:55:36 +02:00
matrix_hookshot_github_enabled : false
matrix_hookshot_github_appid : ''
2022-01-30 20:05:49 +02:00
# Set this variable to the contents of the generated and downloaded GitHub private key:
2022-01-23 17:10:25 +02:00
# matrix_hookshot_github_private_key: |
# -----BEGIN RSA PRIVATE KEY-----
# 0123456789ABCDEF...
# -----END RSA PRIVATE KEY-----
2022-01-30 20:05:49 +02:00
# Alternatively, leave it empty and do it manually or use matrix-aux instead, see docs/matrix-bridge-hookshot.md for info.
2022-01-23 17:10:25 +02:00
matrix_hookshot_github_private_key : ''
matrix_hookshot_github_private_key_file : 'private-key.pem'
2022-02-05 22:32:54 +02:00
matrix_hookshot_github_secret : '' # "Webhook secret" on the GitHub App page
2022-01-06 19:55:36 +02:00
matrix_hookshot_github_oauth_enabled : false
2022-01-30 20:05:49 +02:00
# You need to configure oauth settings only when you have enabled oauth (optional)
2022-02-05 22:32:54 +02:00
matrix_hookshot_github_oauth_id : '' # "Client ID" on the GitHub App page
matrix_hookshot_github_oauth_secret : '' # "Client Secret" on the GitHub App page
2022-01-30 20:05:49 +02:00
# Default value of matrix_hookshot_github_oauth_endpoint: "/hookshot/webhooks/oauth"
2022-01-06 19:55:36 +02:00
matrix_hookshot_github_oauth_endpoint : "{{ matrix_hookshot_webhook_endpoint }}/oauth"
2022-01-12 03:15:37 +02:00
matrix_hookshot_github_oauth_uri : "https://{{ matrix_server_fqn_matrix }}{{ matrix_hookshot_github_oauth_endpoint }}"
2022-03-02 21:58:11 +02:00
# These are the default settings mentioned here and don't need to be modified: https://matrix-org.github.io/matrix-hookshot/usage/room_configuration/github_repo.html#configuration
2022-01-06 19:55:36 +02:00
matrix_hookshot_github_ignore_hooks : "{}"
2022-01-03 22:22:42 +02:00
matrix_hookshot_github_command_prefix : '!gh'
matrix_hookshot_github_show_issue_room_link : false
2022-01-06 19:55:36 +02:00
matrix_hookshot_github_pr_diff : "{enabled: false, maxLines: 5}"
2022-01-03 22:22:42 +02:00
matrix_hookshot_github_including_labels : ''
matrix_hookshot_github_excluding_labels : ''
2022-01-11 01:19:29 +02:00
2022-01-03 22:22:42 +02:00
matrix_hookshot_gitlab_enabled : true
2022-01-30 20:05:49 +02:00
# Optionally add your instances, e.g.
2022-01-11 01:19:29 +02:00
# matrix_hookshot_gitlab_instances:
# gitlab.com:
# url: https://gitlab.com
# mygitlab:
# url: https://gitlab.example.org
2022-01-03 22:22:42 +02:00
matrix_hookshot_gitlab_instances :
gitlab.com :
url : https://gitlab.com
2022-01-30 20:05:49 +02:00
# This will be the "Secret token" you have to enter into all GitLab instances for authentication
2022-01-03 22:22:42 +02:00
matrix_hookshot_gitlab_secret : ''
2022-01-11 01:19:29 +02:00
2022-01-06 19:55:36 +02:00
matrix_hookshot_jira_enabled : false
2022-03-02 21:58:11 +02:00
# Get the these values from https://matrix-org.github.io/matrix-hookshot/setup/jira.html#jira-oauth
2022-01-03 22:22:42 +02:00
matrix_hookshot_jira_secret : ''
2022-01-11 01:19:29 +02:00
matrix_hookshot_jira_oauth_enabled : false
2022-01-03 22:22:42 +02:00
matrix_hookshot_jira_oauth_id : ''
matrix_hookshot_jira_oauth_secret : ''
2022-01-30 20:05:49 +02:00
# Default value of matrix_hookshot_jira_oauth_endpoint: "/hookshot/webhooks/jira/oauth"
2022-01-06 19:55:36 +02:00
matrix_hookshot_jira_oauth_endpoint : "{{ matrix_hookshot_webhook_endpoint }}/jira/oauth"
2022-01-03 22:22:42 +02:00
matrix_hookshot_jira_oauth_uri : "{{ matrix_server_fqn_matrix }}{{ matrix_hookshot_jira_oauth_endpoint }}"
2022-01-11 01:19:29 +02:00
2022-01-30 20:05:49 +02:00
# No need to change these
2022-01-03 22:22:42 +02:00
matrix_hookshot_generic_enabled : true
2022-01-30 20:05:49 +02:00
# Default value of matrix_hookshot_generic_endpoint: "/hookshot/webhooks"
2022-01-06 19:55:36 +02:00
matrix_hookshot_generic_endpoint : "{{ matrix_hookshot_webhook_endpoint }}"
2022-02-16 20:51:00 +02:00
# urlprefix gets updated with protocol & port in group_vars/matrix_servers
2022-01-06 19:55:36 +02:00
matrix_hookshot_generic_urlprefix : "{{ matrix_server_fqn_matrix }}{{ matrix_hookshot_generic_endpoint }}"
2022-01-03 22:22:42 +02:00
matrix_hookshot_generic_allow_js_transformation_functions : false
2022-01-30 20:05:49 +02:00
# If you're also using matrix-appservice-webhooks, take care that these prefixes don't overlap
2022-01-14 20:24:37 +02:00
matrix_hookshot_generic_user_id_prefix : '_webhooks_'
2022-01-03 22:22:42 +02:00
2022-01-11 01:19:29 +02:00
2022-01-06 19:55:36 +02:00
matrix_hookshot_figma_enabled : false
2022-01-30 20:05:49 +02:00
# Default value of matrix_hookshot_figma_endpoint: "/hookshot/webhooks/figma/webhook"
2022-01-06 19:55:36 +02:00
matrix_hookshot_figma_endpoint : "{{ matrix_hookshot_webhook_endpoint }}/figma/webhook"
matrix_hookshot_figma_publicUrl : "{{ matrix_server_fqn_matrix }}{{ matrix_hookshot_figma_endpoint }}"
2022-01-30 20:05:49 +02:00
# To bridge figma webhooks, you need to configure one of multiple instances like this:
2022-01-06 19:55:36 +02:00
# matrix_hookshot_figma_instances:
# your-instance:
# teamId: your-team-id
# accessToken: your-personal-access-token
# passcode: your-webhook-passcode
2022-01-11 01:19:29 +02:00
2022-01-30 20:05:49 +02:00
# There is no need to edit ports. use matrix_hookshot_container_http_host_bind_ports below to expose ports instead.
2022-01-06 19:55:36 +02:00
matrix_hookshot_provisioning_port : 9002
2022-01-03 22:22:42 +02:00
matrix_hookshot_provisioning_secret : ''
2022-01-30 20:05:49 +02:00
# Provisioning will be automatically enabled if dimension is enabled and you have provided a provisioning secret, unless you override it
2022-01-11 01:19:29 +02:00
matrix_hookshot_provisioning_enabled : false
2022-01-06 19:55:36 +02:00
matrix_hookshot_provisioning_endpoint : "{{ matrix_hookshot_public_endpoint }}/v1"
2022-03-02 21:58:11 +02:00
# You can configure access to the bridge as documented here https://matrix-org.github.io/matrix-hookshot/setup.html#permissions
2022-01-14 20:21:05 +02:00
# When empty, the default permissions are applied.
# Example:
# matrix_hookshot_permissions:
# - actor: *
# services:
# - service: *
# level: commands
# - actor: example.com
# services:
# - service: "*"
# level: admin
matrix_hookshot_permissions : [ ]
2022-01-11 01:19:29 +02:00
2022-01-06 19:55:36 +02:00
matrix_hookshot_bot_displayname : Hookshot Bot
matrix_hookshot_bot_avatar : 'mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d'
2022-01-03 22:22:42 +02:00
# A list of extra arguments to pass to the container
matrix_hookshot_container_extra_arguments : [ ]
# List of systemd services that service depends on.
matrix_hookshot_systemd_required_services_list : [ 'docker.service' ]
# List of systemd services that service wants
matrix_hookshot_systemd_wanted_services_list : [ ]
2022-01-06 19:55:36 +02:00
# List of ports to bind to the host to expose them directly.
# Ports will automatically be bound to localhost if matrix_nginx_proxy_enabled is false.
# Setting this variable will override that behaviour in either case.
# Supply docker port bind arguments in a list like this:
#
# matrix_hookshot_container_http_host_bind_ports:
# - "127.0.0.1:9999:{{ matrix_hookshot_metrics_port }}"
#
# Above example will bind the metrics port in the container to port 9999 on localhost.
matrix_hookshot_container_http_host_bind_ports : [ ]
2022-01-30 20:05:49 +02:00
# These tokens will be set automatically
2022-01-03 22:22:42 +02:00
matrix_hookshot_appservice_token : ''
matrix_hookshot_homeserver_token : ''
# Default configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it.
#
# For a more advanced customization, you can extend the default (see `matrixhookshot_configuration_extension_yaml`)
# or completely replace this variable with your own template.
matrix_hookshot_configuration_yaml : "{{ lookup('template', 'templates/config.yml.j2') }}"
matrix_hookshot_configuration_extension_yaml : |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_hookshot_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_hookshot_configuration_yaml`.
matrix_hookshot_configuration_extension : "{{ matrix_hookshot_configuration_extension_yaml|from_yaml if matrix_hookshot_configuration_extension_yaml|from_yaml is mapping else {} }}"
# Holds the final configuration (a combination of the default and its extension).
# You most likely don't need to touch this variable. Instead, see `matrix_hookshot_configuration_yaml`.
matrix_hookshot_configuration : "{{ matrix_hookshot_configuration_yaml|from_yaml|combine(matrix_hookshot_configuration_extension, recursive=True) }}"
# Default registration template which covers the generic use case.
# You can customize it by controlling the various variables inside it.
#
# For a more advanced customization, you can extend the default (see `matrixhookshot_registration_extension_yaml`)
# or completely replace this variable with your own template.
matrix_hookshot_registration_yaml : "{{ lookup('template', 'templates/registration.yml.j2') }}"
matrix_hookshot_registration_extension_yaml : |
# Your custom YAML registration goes here.
# This registration extends the default starting registration (`matrix_hookshot_registration_yaml`).
#
# You can override individual variables from the default registration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_hookshot_registration_yaml`.
matrix_hookshot_registration_extension : "{{ matrix_hookshot_registration_extension_yaml|from_yaml if matrix_hookshot_registration_extension_yaml|from_yaml is mapping else {} }}"
# Holds the final registration (a combination of the default and its extension).
# You most likely don't need to touch this variable. Instead, see `matrix_hookshot_registration_yaml`.
matrix_hookshot_registration : "{{ matrix_hookshot_registration_yaml|from_yaml|combine(matrix_hookshot_registration_extension, recursive=True) }}"