diff --git a/pillar/role/matrix.sls b/pillar/role/matrix.sls index 708ba47..bfce315 100644 --- a/pillar/role/matrix.sls +++ b/pillar/role/matrix.sls @@ -6,26 +6,26 @@ include: profile: matrix: - database_host: postgresql.infra.opensuse.org + database_host: localhost database_name: matrix database_user: matrix appservices: discord: repo: https://github.com/Half-Shot/matrix-appservice-discord.git - port: 9001 client_id: 672058964707377152 appservice_id: 330d1b6dcdf6a2217454f8227d2a960030d341a8baca5fa5c40f4081b6f40acd build: True + script: /usr/bin/node build/src/discordas.js -c config.yaml -f discord-registration.yaml -p 9001 webhook: repo: https://github.com/turt2live/matrix-appservice-webhooks - port: 9002 appservice_id: f4de7550133374c703c4cd64c5898cf1b82b65d4a5c2aca93863ee1fb859df91 build: False + script: /usr/bin/node index.js -c config.yaml -f webhook-registration.yaml -p 9002 irc: repo: https://github.com/matrix-org/matrix-appservice-irc - port: 9003 appservice_id: 1deb544b666b3aba1d9d49d3d4785eeb2fb2befa24e0743c91e6290866003c33 build: True + script: /usr/bin/node app.js -c config.yaml -f irc-registration.yaml -p 9003 telegram: appservice_id: oepzkscngbyqvopzn773ns7whfxyfslgjhy7mumy7syurqp3f4kvb4sgufz9nfsw api_id: 1331253 @@ -53,7 +53,6 @@ nginx: - text/css - application/x-javascript - application/javascript - - expires: $expires - location /: - index: - index.html @@ -62,16 +61,37 @@ nginx: - add_header: Access-Control-Allow-Origin "*" - access_log: /var/log/nginx/chat.access.log combined - error_log: /var/log/nginx/chat.error.log + enabled: True + dimension.opensuse.org: + config: - server: - server_name: dimension.opensuse.org - listen: - 80 - - root: /var/www/html - - index: index.html - location /: - - proxy_set_header X-Forwarded-For: $proxy_add_x_forwarded_for + - proxy_set_header: X-Forwarded-For $remote_addr - proxy_pass: http://localhost:8184 enabled: True + matrix.opensuse.org: + config: + - server: + - server_name: matrix.opensuse.org + - listen: + - 80 + - location /_matrix: + - proxy_set_header: X-Forwarded-For $remote_addr + - proxy_pass: http://localhost:8008 + enabled: True + webhook.opensuse.org: + config: + - server: + - server_name: webhook.opensuse.org + - listen: + - 80 + - location /: + - proxy_set_header: X-Forwarded-For $remote_addr + - proxy_pass: http://localhost:9002 + enabled: True sudoers: included_files: diff --git a/pillar/secrets/role/matrix.sls b/pillar/secrets/role/matrix.sls index b491398..df84d42 100644 --- a/pillar/secrets/role/matrix.sls +++ b/pillar/secrets/role/matrix.sls @@ -1653,6 +1653,191 @@ profile: rtLjx7e1A+WsoJznXw6biIoeL/kmlQTMcJM= =VdGx -----END PGP MESSAGE----- + shared_secret: | + -----BEGIN PGP MESSAGE----- + + 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 + =ycdk + -----END PGP MESSAGE----- + dimension: + access_token: | + -----BEGIN PGP MESSAGE----- + + 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 + YEXGAVs6ysKxrksoZMIgGbERdtbjKcU= + =CbPL + -----END PGP MESSAGE----- postgres: diff --git a/salt/profile/matrix/appservice.sls b/salt/profile/matrix/appservice.sls index 512a898..9ec9907 100644 --- a/salt/profile/matrix/appservice.sls +++ b/salt/profile/matrix/appservice.sls @@ -82,7 +82,7 @@ synapse_appservice_{{ dir }}_file: - template: jinja - context: dir: {{ dir }} - port: {{ data.get('port') }} + script: {{ data.get('script') }} - source: salt://profile/matrix/files/appservice.service - require_in: - service: {{ dir }}_service diff --git a/salt/profile/matrix/dimension.sls b/salt/profile/matrix/dimension.sls index 4f9f29a..543a826 100644 --- a/salt/profile/matrix/dimension.sls +++ b/salt/profile/matrix/dimension.sls @@ -22,21 +22,21 @@ dimension_conf_file: - watch_in: - module: dimension_restart -dimension_boostrap: - cmd.run: - - name: npm install - - cwd: /var/lib/matrix-synapse/dimension - - runas: synapse - - env: - - NODE_VERSION: 10 +# dimension_boostrap: +# cmd.run: +# - name: npm install +# - cwd: /var/lib/matrix-synapse/dimension +# - runas: synapse +# - env: +# - NODE_VERSION: 10 -dimension_build: - cmd.run: - - name: npm run build - - cwd: /var/lib/matrix-synapse/dimension - - runas: synapse - - env: - - NODE_VERSION: 10 +# dimension_build: +# cmd.run: +# - name: npm run build +# - cwd: /var/lib/matrix-synapse/dimension +# - runas: synapse +# - env: +# - NODE_VERSION: 10 dimension_systemd_file: file.managed: diff --git a/salt/profile/matrix/files/appservice-webhook.yaml b/salt/profile/matrix/files/appservice-webhook.yaml index 8bf1e86..176cab6 100644 --- a/salt/profile/matrix/files/appservice-webhook.yaml +++ b/salt/profile/matrix/files/appservice-webhook.yaml @@ -7,7 +7,7 @@ namespaces: regex: '@_webhook.*' aliases: [] rooms: [] -url: 'http://localhost:9002' # you may need to change this (this should point at the bridge) +url: 'http://localhost:9002' sender_localpart: _webhook rate_limited: false protocols: null diff --git a/salt/profile/matrix/files/appservice.service b/salt/profile/matrix/files/appservice.service index 2efe2ea..fcd8d26 100644 --- a/salt/profile/matrix/files/appservice.service +++ b/salt/profile/matrix/files/appservice.service @@ -10,7 +10,7 @@ User=synapse Group=synapse WorkingDirectory=/var/lib/matrix-synapse/{{ dir }}/ Environment="NODE_VERSION=10" -ExecStart=/usr/bin/npm start -c config.yaml -f {{ dir }}-registration.yaml -p {{ port }} +ExecStart={{ script }} [Install] WantedBy=multi-user.target diff --git a/salt/profile/matrix/files/config-dimension.yaml b/salt/profile/matrix/files/config-dimension.yaml index e1b1016..dc2b834 100644 --- a/salt/profile/matrix/files/config-dimension.yaml +++ b/salt/profile/matrix/files/config-dimension.yaml @@ -27,7 +27,7 @@ homeserver: # for tracking custom sticker pack updates. This should be a user configured on the homeserver # and be dedicated to Dimension (create a user named "dimension" on your homeserver). For # information on how to acquire an access token, visit https://t2bot.io/docs/access_tokens - # accessToken: "something" + accessToken: "{{ pillar['profile']['matrix']['dimension']['access_token'] }}" # These users can modify the integrations this Dimension supports. # To access the admin interface, open Dimension in Riot and click the settings icon. diff --git a/salt/profile/matrix/files/config-discord.yaml b/salt/profile/matrix/files/config-discord.yaml index 66e4a69..74bd281 100644 --- a/salt/profile/matrix/files/config-discord.yaml +++ b/salt/profile/matrix/files/config-discord.yaml @@ -23,7 +23,7 @@ bridge: disableDeletionForwarding: false # Enable users to bridge rooms using !discord commands. See # https://t2bot.io/discord for instructions. - enableSelfServiceBridging: false + enableSelfServiceBridging: true # Disable sending of read receipts for Matrix events which have been # successfully bridged to Discord. disableReadReceipts: false diff --git a/salt/profile/matrix/files/config-irc.yaml b/salt/profile/matrix/files/config-irc.yaml index c095d91..631296b 100644 --- a/salt/profile/matrix/files/config-irc.yaml +++ b/salt/profile/matrix/files/config-irc.yaml @@ -3,7 +3,7 @@ homeserver: # The URL to the home server for client-server API calls, also used to form the # media URLs as displayed in bridged IRC channels: - url: "https://matrix.opensuse.org:8448" + url: "https://matrix.opensuse.org" # # The URL of the homeserver hosting media files. This is only used to transform # mxc URIs to http URIs when bridging m.room.[file|image] events. Optional. By @@ -34,11 +34,11 @@ homeserver: # Which port should the appservice bind to. Takes priority over the one provided in the # command line! Optional. - # bindPort: 9999 + bindPort: 9003 # Use this option to force the appservice to listen on another hostname for transactions. # This is NOT your synapse hostname. E.g. use 127.0.0.1 to only listen locally. Optional. - # bindHostname: 0.0.0.0 + bindHostname: 127.0.0.1 # Configuration specific to the IRC service ircService: @@ -63,7 +63,7 @@ ircService: # URL to an icon used as the network icon whenever this network appear in # a network list. (Like in the riot room directory, for instance.) - # icon: https://example.com/images/hash.png + icon: https://static.opensuse.org/chat/integrations/irc.png # The port to connect to. Optional. port: 6697 @@ -432,9 +432,9 @@ ircService: # GET /_matrix/provision/unlink # GET /_matrix/provision/listlinks # - # provisioning: + provisioning: # True to enable the provisioning HTTP endpoint. Default: false. - # enabled: false + enabled: true # The number of seconds to wait before giving up on getting a response from # an IRC channel operator. If the channel operator does not respond within the # allotted time period, the provisioning request will fail. diff --git a/salt/profile/matrix/files/config-riot.json b/salt/profile/matrix/files/config-riot.json index f5c9da2..e3efb37 100644 --- a/salt/profile/matrix/files/config-riot.json +++ b/salt/profile/matrix/files/config-riot.json @@ -3,25 +3,28 @@ "m.homeserver": { "base_url": "https://matrix.opensuse.org", "server_name": "opensuse.org" - }, - "m.identity_server": { - "base_url": "https://vector.im" } }, - "disable_custom_urls": false, + "disable_custom_urls": true, "disable_guests": false, "disable_login_language_selector": false, - "disable_3pid_login": false, - "brand": "Riot", - "integrations_ui_url": "https://scalar.vector.im/", - "integrations_rest_url": "https://scalar.vector.im/api", - "integrations_widgets_urls": [ - "https://scalar.vector.im/_matrix/integrations/v1", - "https://scalar.vector.im/api", - "https://scalar-staging.vector.im/_matrix/integrations/v1", - "https://scalar-staging.vector.im/api", - "https://scalar-staging.riot.im/scalar/api" - ], + "disable_3pid_login": true, + "brand": "openSUSE Chat", + "branding": { + "welcomeBackgroundUrl": "//static.opensuse.org/chat/pine.png", + "authHeaderLogoUrl": "//static.opensuse.org/chat/openSUSE-Chat-black-text.svg", + "authFooterLinks": [ + {"hosted by openSUSE": "https://opensuse.org"}, + {"powered by Matrix": "https://matrix.org"} + ] + }, + "embeddedPages": { + "welcomeUrl": "//static.opensuse.org/chat/welcome.html" + }, + "integrations_ui_url": "https://dimension.opensuse.org/riot", + "integrations_rest_url": "https://dimension.opensuse.org/api/v1/scalar", + "integrations_widgets_urls": ["https://dimension.opensuse.org/widgets"], + "integrations_jitsi_widget_url": "https://dimension.opensuse.org/widgets/jitsi", "bug_report_endpoint_url": "https://riot.im/bugreports/submit", "defaultCountryCode": "GB", "showLabsSettings": true, @@ -38,21 +41,12 @@ "opensuse.org" ] }, - "welcomeUserId": "@riot-bot:matrix.org", "piwik": { - "url": "https://beans.opensuse.org/", + "url": "https://beans.opensuse.org/matomo/", "whitelistedHSUrls": ["https://opensuse.org"], - "whitelistedISUrls": ["https://vector.im", "https://opensuse.org"], "siteId": 1 }, - "enable_presence_by_hs_url": { - "https://opensuse.org": false, - "https://matrix.opensuse.org": false - }, - "settingDefaults": { - "breadcrumbs": true - }, "jitsi": { - "preferredDomain": "jitsi.opensuse.org" + "preferredDomain": "meet.opensuse.org" } } diff --git a/salt/profile/matrix/files/config-telegram.yaml b/salt/profile/matrix/files/config-telegram.yaml index 12f6399..33a8727 100644 --- a/salt/profile/matrix/files/config-telegram.yaml +++ b/salt/profile/matrix/files/config-telegram.yaml @@ -15,7 +15,7 @@ appservice: address: http://localhost:29317 # The hostname and port where this appservice should listen. - hostname: 0.0.0.0 + hostname: 127.0.0.1 port: 29317 # The maximum body size of appservice API requests (from the homeserver) in mebibytes # Usually 1 is enough, but on high-traffic bridges you might need to increase this to avoid 413s @@ -49,7 +49,7 @@ appservice: prefix: /_matrix/provision/v1 # The shared secret to authorize users of the API. # Set to "generate" to generate and save a new token. - shared_secret: generate + shared_secret: {{ pillar['profile']['matrix']['telegram']['shared_secret'] }} # The unique ID of this appservice. id: {{ pillar['profile']['matrix']['telegram']['appservice_id'] }} @@ -64,11 +64,11 @@ appservice: # Must be created manually. # # Example: "+telegram:example.com". Set to false to disable. - community_id: "+telegram:opensuse.org" + community_id: +telegram:opensuse.org # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. - as_token: "{{ pillar['profile']['matrix']['telegram']['appservice_token'] }}" - hs_token: "{{ pillar['profile']['matrix']['telegram']['homeserver_token'] }}" + as_token: {{ pillar['profile']['matrix']['telegram']['appservice_token'] }} + hs_token: {{ pillar['profile']['matrix']['telegram']['homeserver_token'] }} # Prometheus telemetry config. Requires prometheus-client to be installed. # metrics: @@ -90,13 +90,13 @@ appservice: bridge: # Localpart template of MXIDs for Telegram users. # {userid} is replaced with the user ID of the Telegram user. - username_template: "telegram_{userid}" + username_template: telegram_{userid} # Localpart template of room aliases for Telegram portal rooms. # {groupname} is replaced with the name part of the public channel/group invite link ( https://t.me/{} ) - alias_template: "telegram_{groupname}" + alias_template: telegram_{groupname} # Displayname template for Telegram users. # {displayname} is replaced with the display name of the Telegram user. - displayname_template: "{displayname} [Telegram]" + displayname_template: {displayname} [Telegram] # Set the preferred order of user identifiers which to use in the Matrix puppet display name. # In the (hopefully unlikely) scenario that none of the given keys are found, the numeric user @@ -166,7 +166,7 @@ bridge: telegram_link_preview: true # Use inline images instead of a separate message for the caption. # N.B. Inline images are not supported on all clients (e.g. Riot iOS). - inline_images: false + inline_images: true # Maximum size of image in megabytes before sending to Telegram as a document. image_as_file_size: 10 # Maximum size of Telegram documents in megabytes to bridge. @@ -228,21 +228,21 @@ bridge: # $sender_mxid - The Matrix ID of the sender (e.g. @exampleuser:example.com) # $message - The message content message_formats: - m.text: "$sender_displayname: $message" - m.notice: "$sender_displayname: $message" - m.emote: "* $sender_displayname $message" - m.file: "$sender_displayname sent a file: $message" - m.image: "$sender_displayname sent an image: $message" - m.audio: "$sender_displayname sent an audio file: $message" - m.video: "$sender_displayname sent a video: $message" - m.location: "$sender_displayname sent a location: $message" + m.text: '$sender_displayname: $message' + m.notice: '$sender_displayname: $message' + m.emote: '* $sender_displayname $message' + m.file: '$sender_displayname sent a file: $message' + m.image: '$sender_displayname sent an image: $message' + m.audio: '$sender_displayname sent an audio file: $message' + m.video: '$sender_displayname sent a video: $message' + m.location: '$sender_displayname sent a location: $message' # Telegram doesn't have built-in emotes, this field specifies how m.emote's from authenticated # users are sent to telegram. All fields in message_formats are supported. Additionally, the # Telegram user info is available in the following variables: # $displayname - Telegram displayname # $username - Telegram username (may not exist) # $mention - Telegram @username or displayname mention (depending on which exists) - emote_format: "* $mention $formatted_body" + emote_format: '* $mention $formatted_body' # The formats to use when sending state events to Telegram via the relay bot. # @@ -251,9 +251,9 @@ bridge: # # Set format to an empty string to disable the messages for that event. state_event_formats: - join: "" - leave: "" - name_change: "" + join: '' + leave: '' + name_change: '' # Filter rooms that can/can't be bridged. Can also be managed using the `filter` and # `filter-mode` management commands. @@ -269,7 +269,7 @@ bridge: list: [] # The prefix for commands. Only required in non-management rooms. - command_prefix: "!tg" + command_prefix: '!tg' # Permissions for using the bridge. # Permitted values: @@ -283,11 +283,8 @@ bridge: # domain - All users on that homeserver # mxid - Specific user permissions: - "*": "relaybot" - # "public.example.com": "user" - # "example.com": "full" - # "@admin:example.com": "admin" - "@hellcp:opensuse.org": "admin" + '*'': 'relaybot' + '@hellcp:opensuse.org': 'admin' # Options related to the message relay Telegram bot. relaybot: @@ -314,9 +311,6 @@ bridge: # Whether or not to ignore incoming events sent by the relay bot. ignore_own_incoming_events: true # List of usernames/user IDs who are also allowed to use the bot commands. - # whitelist: - # - myusername - # - 12345678 # Telegram config telegram: @@ -382,8 +376,8 @@ telegram: # Whether or not to perform DNS resolving remotely. Only for socks/http proxies. rdns: true # Proxy authentication (optional). Put MTProxy secret in password field. - username: "" - password: "" + # username: "" + # password: "" # Python logging configuration. # @@ -394,9 +388,9 @@ logging: formatters: colored: (): mautrix_telegram.util.ColorFormatter - format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" + format: '[%(asctime)s] [%(levelname)s@%(name)s] %(message)s' normal: - format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" + format: '[%(asctime)s] [%(levelname)s@%(name)s] %(message)s' handlers: file: class: logging.handlers.RotatingFileHandler diff --git a/salt/profile/matrix/files/config-webhook.yaml b/salt/profile/matrix/files/config-webhook.yaml index 346d2db..832c658 100644 --- a/salt/profile/matrix/files/config-webhook.yaml +++ b/salt/profile/matrix/files/config-webhook.yaml @@ -1,7 +1,7 @@ # Configuration specific to the application service. All fields (unless otherwise marked) are required. homeserver: # The domain for the client-server API calls. - url: "https://matrix.opensuse.org:8448" + url: "https://matrix.opensuse.org" # The domain part for user IDs on this home server. Usually, but not always, this is the same as the # home server's URL. @@ -15,7 +15,7 @@ webhookBot: # Appearance options for the Matrix bot appearance: displayName: "Webhooks" - avatarUrl: "https://i.imgur.com/IDOBtEJ.png" # webhook icon + avatarUrl: "https://static.opensuse.org/chat/integrations/webhook.png" # webhook icon # Provisioning API options provisioning: diff --git a/salt/profile/matrix/files/dimension.service b/salt/profile/matrix/files/dimension.service index 22cae0d..62456bd 100644 --- a/salt/profile/matrix/files/dimension.service +++ b/salt/profile/matrix/files/dimension.service @@ -9,8 +9,8 @@ RestartSec=3 User=synapse Group=synapse WorkingDirectory=/var/lib/matrix-synapse/dimension/ -Environment="NODE_VERSION=10 NODE_ENV=production" -ExecStart=/usr/bin/npm run start:app +Environment="NODE_ENV=production" +ExecStart=/usr/bin/node build/app/index.js [Install] WantedBy=multi-user.target diff --git a/salt/profile/matrix/files/homeserver.yaml b/salt/profile/matrix/files/homeserver.yaml index 34449e9..2a056ce 100644 --- a/salt/profile/matrix/files/homeserver.yaml +++ b/salt/profile/matrix/files/homeserver.yaml @@ -24,7 +24,7 @@ pid_file: /var/lib/matrix-synapse/homeserver.pid # use synapse with a reverse proxy, this should be the URL to reach # synapse via the proxy. # -public_baseurl: https://opensuse.org/ +public_baseurl: https://matrix.opensuse.org/ # Set the soft limit on the number of file descriptors synapse can use # Zero is used to indicate synapse should set the soft limit to the @@ -1491,7 +1491,7 @@ password_providers: attributes: uid: "uid" mail: "mail" - name: "displayName" + name: "displayname" # #bind_dn: # #bind_password: # #filter: "(objectClass=posixAccount)" diff --git a/salt/profile/matrix/files/telegram.service b/salt/profile/matrix/files/telegram.service index 57f6bb4..da59296 100644 --- a/salt/profile/matrix/files/telegram.service +++ b/salt/profile/matrix/files/telegram.service @@ -9,7 +9,7 @@ RestartSec=3 User=synapse Group=synapse WorkingDirectory=/var/lib/matrix-synapse/telegram/ -ExecStart=/usr/bin/python3 -m mautrix_telegram -c config.yaml -f telegram-registration.yaml +ExecStart=/usr/bin/python3 -m mautrix_telegram -c config.yaml -f telegram-registration.yaml -b /etc/mautrix-telegram/example-config.yaml [Install] WantedBy=multi-user.target diff --git a/salt/profile/matrix/files/valley.jpg b/salt/profile/matrix/files/valley.jpg deleted file mode 100644 index 4732a29..0000000 Binary files a/salt/profile/matrix/files/valley.jpg and /dev/null differ diff --git a/salt/profile/matrix/telegram.sls b/salt/profile/matrix/telegram.sls index 33204a4..11e070b 100644 --- a/salt/profile/matrix/telegram.sls +++ b/salt/profile/matrix/telegram.sls @@ -9,6 +9,14 @@ telegram_pgks: file.directory: - user: synapse +/var/lib/matrix-synapse/telegram/alembic: + file.symlink: + - target: /usr/share/alembic + +/var/lib/matrix-synapse/telegram/alembic.ini: + file.symlink: + - target: /etc/alembic/alembic.ini + telegram_conf_file: file.managed: - name: /var/lib/matrix-synapse/telegram/config.yaml diff --git a/salt/role/matrix.sls b/salt/role/matrix.sls index c61d0cd..3dd5dea 100644 --- a/salt/role/matrix.sls +++ b/salt/role/matrix.sls @@ -4,5 +4,5 @@ include: - profile.matrix.init - profile.matrix.appservice - profile.matrix.telegram - # - profile.matrix.dimension + - profile.matrix.dimension - profile.matrix.config