Compare commits

...

24 Commits

Author SHA1 Message Date
9d1244c7a1 remove patch from image tag 2024-04-18 01:07:36 -06:00
0dc50bf88f change default cluster name to start with release 2024-04-17 20:01:47 -06:00
75accbbf87 use semver function to pull major version into cluster name 2024-04-17 20:00:06 -06:00
19fbd95a79 change templating for cluster naming 2024-04-17 19:45:08 -06:00
d73c42fd42 change default values 2024-04-17 19:15:54 -06:00
renovate[bot]
6399a8ca97 Update Helm release rabbitmq to v14 (#34)
* Update Helm release rabbitmq to v14

* update chart

* align comments for readability

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: alexlebens <alexanderlebens@gmail.com>
2024-04-17 19:13:57 -06:00
renovate[bot]
580c7da73a Update Helm release redis to v19.1.1 (#18)
* Update Helm release redis to v19.1.1

* update charts

* fix indentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: alexlebens <alexanderlebens@gmail.com>
2024-04-17 19:09:36 -06:00
renovate[bot]
11d47799f1 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.10.7 (#36)
* Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.10.7

* update helm chart

* fix indentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: alexlebens <alexanderlebens@gmail.com>
2024-04-17 19:05:30 -06:00
renovate[bot]
7d825da72d Update linuxserver/code-server Docker tag to v4.23.1 (#35)
* Update linuxserver/code-server Docker tag to v4.23.1

* update helm chart

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: alexlebens <alexanderlebens@gmail.com>
2024-04-17 19:05:16 -06:00
renovate[bot]
adf49292bd Update halfshot/matrix-hookshot Docker tag to v5.3.0 (#38)
* Update halfshot/matrix-hookshot Docker tag to v5.3.0

* update chart

* fix linting errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: alexlebens <alexanderlebens@gmail.com>
2024-04-17 19:03:21 -06:00
renovate[bot]
63e69df14a Update ghcr.io/gethomepage/homepage Docker tag to v0.8.12 (#37)
* Update ghcr.io/gethomepage/homepage Docker tag to v0.8.12

* update chart

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Lebens <alexanderlebens@gmail.com>
2024-04-17 18:55:36 -06:00
7bd8a4525a if oidc is enabled add an ingress path to the backend 2024-04-17 04:42:51 -06:00
a860789056 add env to front deployment about oidc enablement 2024-04-15 03:31:49 -06:00
58f89640a8 fix naming of changed rabbitmq charts 2024-04-15 02:47:45 -06:00
132e086d6d change rabbitmq chart naming to generate proper dns and app names 2024-04-15 02:44:10 -06:00
617505ee99 fix length of app port 2024-04-13 23:37:58 -06:00
34a21702ab fix http service value 2024-04-13 23:32:48 -06:00
15d3253af9 fix events app port to service and port 2024-04-13 23:28:03 -06:00
90970ef172 fix events health endpoint 2024-04-13 23:19:59 -06:00
0d6f789ffd increment chart version 2024-04-13 23:14:21 -06:00
f968776cd0 fix trello importer switch for async container 2024-04-13 23:13:44 -06:00
0b2beb08b7 fix indentation of events deployment 2024-04-13 23:11:44 -06:00
8fae31a679 properly enable/disable trello importer 2024-04-13 23:07:20 -06:00
f67ac05610 fix indentation 2024-04-13 23:05:03 -06:00
24 changed files with 550 additions and 513 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: home-assistant name: home-assistant
version: 0.1.9 version: 0.1.10
description: Chart for Home Assistant description: Chart for Home Assistant
keywords: keywords:
- home-automation - home-automation

View File

@@ -56,7 +56,7 @@ codeserver:
enabled: false enabled: false
image: image:
repository: linuxserver/code-server repository: linuxserver/code-server
tag: 4.23.0 tag: 4.23.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
TZ: UTC TZ: UTC

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: homepage name: homepage
version: 0.0.10 version: 0.0.11
description: Chart for benphelps homepage description: Chart for benphelps homepage
keywords: keywords:
- dashboard - dashboard
@@ -9,4 +9,4 @@ sources:
maintainers: maintainers:
- name: alexlebens - name: alexlebens
icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png
appVersion: v0.8.11 appVersion: v0.8.12

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: ghcr.io/gethomepage/homepage repository: ghcr.io/gethomepage/homepage
tag: v0.8.11 tag: v0.8.12
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: env:
envFrom: envFrom:

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: matrix-hookshot name: matrix-hookshot
version: 0.1.0 version: 0.1.1
description: Chart for Matrix Hookshot description: Chart for Matrix Hookshot
keywords: keywords:
- matrix - matrix
@@ -11,4 +11,4 @@ sources:
maintainers: maintainers:
- name: alexlebens - name: alexlebens
icon: https://avatars.githubusercontent.com/u/8418310?s=48&v=4 icon: https://avatars.githubusercontent.com/u/8418310?s=48&v=4
appVersion: "5.2.1" appVersion: "5.3.0"

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: halfshot/matrix-hookshot repository: halfshot/matrix-hookshot
tag: "5.2.1" tag: "5.3.0"
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: {} env: {}
envFrom: [] envFrom: []
@@ -81,7 +81,7 @@ hookshot:
resources: resources:
- widgets - widgets
#github: # github:
# # (Optional) Configure this to enable GitHub support # # (Optional) Configure this to enable GitHub support
# auth: # auth:
# # Authentication for the GitHub App. # # Authentication for the GitHub App.
@@ -104,7 +104,7 @@ hookshot:
# # (Optional) Prefix used when creating ghost users for GitHub accounts. # # (Optional) Prefix used when creating ghost users for GitHub accounts.
# _github_ # _github_
#gitlab: # gitlab:
# # (Optional) Configure this to enable GitLab support # # (Optional) Configure this to enable GitLab support
# instances: # instances:
# gitlab.com: # gitlab.com:
@@ -119,7 +119,7 @@ hookshot:
# # (Optional) Aggregate comments by waiting this many miliseconds before posting them to Matrix. Defaults to 5000 (5 seconds) # # (Optional) Aggregate comments by waiting this many miliseconds before posting them to Matrix. Defaults to 5000 (5 seconds)
# 5000 # 5000
#figma: # figma:
# # (Optional) Configure this to enable Figma support # # (Optional) Configure this to enable Figma support
# publicUrl: https://example.com/hookshot/ # publicUrl: https://example.com/hookshot/
# instances: # instances:
@@ -128,7 +128,7 @@ hookshot:
# accessToken: your-personal-access-token # accessToken: your-personal-access-token
# passcode: your-webhook-passcode # passcode: your-webhook-passcode
#jira: # jira:
# # (Optional) Configure this to enable Jira support. Only specify `url` if you are using a On Premise install (i.e. not atlassian.com) # # (Optional) Configure this to enable Jira support. Only specify `url` if you are using a On Premise install (i.e. not atlassian.com)
# webhook: # webhook:
# # Webhook settings for JIRA # # Webhook settings for JIRA
@@ -139,7 +139,7 @@ hookshot:
# client_secret: bar # client_secret: bar
# redirect_uri: https://example.com/oauth/ # redirect_uri: https://example.com/oauth/
#generic: # generic:
# # (Optional) Support for generic webhook events. # # (Optional) Support for generic webhook events.
# #'allowJsTransformationFunctions' will allow users to write short transformation snippets in code, and thus is unsafe in untrusted environments # #'allowJsTransformationFunctions' will allow users to write short transformation snippets in code, and thus is unsafe in untrusted environments
@@ -150,23 +150,23 @@ hookshot:
# allowJsTransformationFunctions: false # allowJsTransformationFunctions: false
# waitForComplete: false # waitForComplete: false
#feeds: # feeds:
# # (Optional) Configure this to enable RSS/Atom feed support # # (Optional) Configure this to enable RSS/Atom feed support
# enabled: false # enabled: false
# pollConcurrency: 4 # pollConcurrency: 4
# pollIntervalSeconds: 600 # pollIntervalSeconds: 600
# pollTimeoutSeconds: 30 # pollTimeoutSeconds: 30
#provisioning: # provisioning:
# # (Optional) Provisioning API for integration managers # # (Optional) Provisioning API for integration managers
# secret: "!secretToken" # secret: "!secretToken"
#bot: # bot:
# # (Optional) Define profile information for the bot user # # (Optional) Define profile information for the bot user
# displayname: Hookshot Bot # displayname: Hookshot Bot
# avatar: mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d # avatar: mxc://half-shot.uk/2876e89ccade4cb615e210c458e2a7a6883fe17d
#serviceBots: # serviceBots:
# # (Optional) Define additional bot users for specific services # # (Optional) Define additional bot users for specific services
# - localpart: feeds # - localpart: feeds
# displayname: Feeds # displayname: Feeds
@@ -174,21 +174,21 @@ hookshot:
# prefix: "!feeds" # prefix: "!feeds"
# service: feeds # service: feeds
#metrics: # metrics:
# # (Optional) Prometheus metrics support # # (Optional) Prometheus metrics support
# enabled: true # enabled: true
#cache: # cache:
# # (Optional) Cache options for large scale deployments. # # (Optional) Cache options for large scale deployments.
# # For encryption to work, this must be configured. # # For encryption to work, this must be configured.
# redisUri: redis://localhost:6379 # redisUri: redis://localhost:6379
#queue: # queue:
# # (Optional) Message queue configuration options for large scale deployments. # # (Optional) Message queue configuration options for large scale deployments.
# # For encryption to work, this must not be configured. # # For encryption to work, this must not be configured.
# redisUri: redis://localhost:6379 # redisUri: redis://localhost:6379
#widgets: # widgets:
# # (Optional) EXPERIMENTAL support for complimentary widgets # # (Optional) EXPERIMENTAL support for complimentary widgets
# addToAdminRooms: false # addToAdminRooms: false
# disallowedIpRanges: # disallowedIpRanges:
@@ -217,12 +217,12 @@ hookshot:
# branding: # branding:
# widgetTitle: Hookshot Configuration # widgetTitle: Hookshot Configuration
#sentry: # sentry:
# # (Optional) Configure Sentry error reporting # # (Optional) Configure Sentry error reporting
# dsn: https://examplePublicKey@o0.ingest.sentry.io/0 # dsn: https://examplePublicKey@o0.ingest.sentry.io/0
# environment: production # environment: production
#permissions: # permissions:
# # (Optional) Permissions for using the bridge. See docs/setup.md#permissions for help # # (Optional) Permissions for using the bridge. See docs/setup.md#permissions for help
# - actor: example.com # - actor: example.com
# services: # services:

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: mautrix-whatsapp name: mautrix-whatsapp
version: 0.0.2 version: 0.0.3
description: Chart for Matrix Whatsapp Bridge description: Chart for Matrix Whatsapp Bridge
keywords: keywords:
- matrix - matrix
@@ -12,4 +12,4 @@ sources:
maintainers: maintainers:
- name: alexlebens - name: alexlebens
icon: https://avatars.githubusercontent.com/u/88519669?s=48&v=4 icon: https://avatars.githubusercontent.com/u/88519669?s=48&v=4
appVersion: v0.10.6 appVersion: v0.10.7

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate strategy: Recreate
image: image:
repository: dock.mau.dev/mautrix/whatsapp repository: dock.mau.dev/mautrix/whatsapp
tag: v0.10.6 tag: v0.10.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
env: {} env: {}
envFrom: [] envFrom: []
@@ -45,479 +45,477 @@ persistence:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 500Mi size: 500Mi
# Reference the following for examples # Reference the following for examples
# https://github.com/mautrix/whatsapp/blob/main/example-config.yaml # https://github.com/mautrix/whatsapp/blob/main/example-config.yaml
mautrixWhatsapp: mautrixWhatsapp:
# config.yml contents # config.yml contents
existingSecret: "" existingSecret: ""
config: config:
# Homeserver details. # Homeserver details.
homeserver: homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
address: https://matrix.example.com address: https://matrix.example.com
# The domain of the homeserver (also known as server_name, used for MXIDs, etc). # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: example.com domain: example.com
# What software is the homeserver running? # What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
software: standard software: standard
# The URL to push real-time bridge status to. # The URL to push real-time bridge status to.
# If set, the bridge will make POST requests to this URL whenever a user's whatsapp connection state changes. # If set, the bridge will make POST requests to this URL whenever a user's whatsapp connection state changes.
# The bridge will use the appservice as_token to authorize requests. # The bridge will use the appservice as_token to authorize requests.
status_endpoint: null status_endpoint: null
# Endpoint for reporting per-message status. # Endpoint for reporting per-message status.
message_send_checkpoint_endpoint: null message_send_checkpoint_endpoint: null
# Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246? # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246?
async_media: false async_media: false
# Should the bridge use a websocket for connecting to the homeserver? # Should the bridge use a websocket for connecting to the homeserver?
# The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy, # The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy,
# mautrix-asmux (deprecated), and hungryserv (proprietary). # mautrix-asmux (deprecated), and hungryserv (proprietary).
websocket: false websocket: false
# How often should the websocket be pinged? Pinging will be disabled if this is zero. # How often should the websocket be pinged? Pinging will be disabled if this is zero.
ping_interval_seconds: 0 ping_interval_seconds: 0
# Application service host/registration related details. # Application service host/registration related details.
# Changing these values requires regeneration of the registration. # Changing these values requires regeneration of the registration.
appservice: appservice:
# The address that the homeserver can use to connect to this appservice. # The address that the homeserver can use to connect to this appservice.
address: http://localhost:29318 address: http://localhost:29318
# The hostname and port where this appservice should listen. # The hostname and port where this appservice should listen.
hostname: 0.0.0.0 hostname: 0.0.0.0
port: 29318 port: 29318
# Database config. # Database config.
database: database:
# The database type. "sqlite3-fk-wal" and "postgres" are supported. # The database type. "sqlite3-fk-wal" and "postgres" are supported.
type: postgres type: postgres
# The database URI. # The database URI.
# SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended. # SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended.
# https://github.com/mattn/go-sqlite3#connection-string # https://github.com/mattn/go-sqlite3#connection-string
# Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
# To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql # To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
uri: postgres://user:password@host/database?sslmode=disable uri: postgres://user:password@host/database?sslmode=disable
# Maximum number of connections. Mostly relevant for Postgres. # Maximum number of connections. Mostly relevant for Postgres.
max_open_conns: 20 max_open_conns: 20
max_idle_conns: 2 max_idle_conns: 2
# Maximum connection idle time and lifetime before they're closed. Disabled if null. # Maximum connection idle time and lifetime before they're closed. Disabled if null.
# Parsed with https://pkg.go.dev/time#ParseDuration # Parsed with https://pkg.go.dev/time#ParseDuration
max_conn_idle_time: null max_conn_idle_time: null
max_conn_lifetime: null max_conn_lifetime: null
# The unique ID of this appservice. # The unique ID of this appservice.
id: whatsapp id: whatsapp
# Appservice bot details. # Appservice bot details.
bot: bot:
# Username of the appservice bot. # Username of the appservice bot.
username: whatsappbot username: whatsappbot
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
# to leave display name/avatar as-is. # to leave display name/avatar as-is.
displayname: WhatsApp bridge bot displayname: WhatsApp bridge bot
avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr
# Whether or not to receive ephemeral events via appservice transactions. # Whether or not to receive ephemeral events via appservice transactions.
# Requires MSC2409 support (i.e. Synapse 1.22+). # Requires MSC2409 support (i.e. Synapse 1.22+).
ephemeral_events: true ephemeral_events: true
# Should incoming events be handled asynchronously? # Should incoming events be handled asynchronously?
# This may be necessary for large public instances with lots of messages going through. # This may be necessary for large public instances with lots of messages going through.
# However, messages will not be guaranteed to be bridged in the same order they were sent in. # However, messages will not be guaranteed to be bridged in the same order they were sent in.
async_transactions: false async_transactions: false
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
as_token: "This value is generated when generating the registration" as_token: "This value is generated when generating the registration"
hs_token: "This value is generated when generating the registration" hs_token: "This value is generated when generating the registration"
# Segment-compatible analytics endpoint for tracking some events, like provisioning API login and encryption errors. # Segment-compatible analytics endpoint for tracking some events, like provisioning API login and encryption errors.
analytics: analytics:
# Hostname of the tracking server. The path is hardcoded to /v1/track # Hostname of the tracking server. The path is hardcoded to /v1/track
host: api.segment.io host: api.segment.io
# API key to send with tracking requests. Tracking is disabled if this is null. # API key to send with tracking requests. Tracking is disabled if this is null.
token: null token: null
# Optional user ID for tracking events. If null, defaults to using Matrix user ID. # Optional user ID for tracking events. If null, defaults to using Matrix user ID.
user_id: null user_id: null
# Prometheus config. # Prometheus config.
metrics: metrics:
# Enable prometheus metrics? # Enable prometheus metrics?
enabled: false enabled: false
# IP and port where the metrics listener should be. The path is always /metrics # IP and port where the metrics listener should be. The path is always /metrics
listen: 127.0.0.1:8001 listen: 127.0.0.1:8001
# Config for things that are directly sent to WhatsApp. # Config for things that are directly sent to WhatsApp.
whatsapp: whatsapp:
# Device name that's shown in the "WhatsApp Web" section in the mobile app. # Device name that's shown in the "WhatsApp Web" section in the mobile app.
os_name: Mautrix-WhatsApp bridge os_name: Mautrix-WhatsApp bridge
# Browser name that determines the logo shown in the mobile app. # Browser name that determines the logo shown in the mobile app.
# Must be "unknown" for a generic icon or a valid browser name if you want a specific icon. # Must be "unknown" for a generic icon or a valid browser name if you want a specific icon.
# List of valid browser names: https://github.com/tulir/whatsmeow/blob/efc632c008604016ddde63bfcfca8de4e5304da9/binary/proto/def.proto#L43-L64 # List of valid browser names: https://github.com/tulir/whatsmeow/blob/efc632c008604016ddde63bfcfca8de4e5304da9/binary/proto/def.proto#L43-L64
browser_name: unknown browser_name: unknown
# Bridge config # Bridge config
bridge: bridge:
# Localpart template of MXIDs for WhatsApp users. # Localpart template of MXIDs for WhatsApp users.
# {{.}} is replaced with the phone number of the WhatsApp user. # {{.}} is replaced with the phone number of the WhatsApp user.
username_template: whatsapp_{{.}} username_template: whatsapp_{{.}}
# Displayname template for WhatsApp users. # Displayname template for WhatsApp users.
# {{.PushName}} - nickname set by the WhatsApp user # {{.PushName}} - nickname set by the WhatsApp user
# {{.BusinessName}} - validated WhatsApp business name # {{.BusinessName}} - validated WhatsApp business name
# {{.Phone}} - phone number (international format) # {{.Phone}} - phone number (international format)
# The following variables are also available, but will cause problems on multi-user instances: # The following variables are also available, but will cause problems on multi-user instances:
# {{.FullName}} - full name from contact list # {{.FullName}} - full name from contact list
# {{.FirstName}} - first name from contact list # {{.FirstName}} - first name from contact list
displayname_template: "{{or .BusinessName .PushName .JID}} (WA)" displayname_template: "{{or .BusinessName .PushName .JID}} (WA)"
# Should the bridge create a space for each logged-in user and add bridged rooms to it? # Should the bridge create a space for each logged-in user and add bridged rooms to it?
# Users who logged in before turning this on should run `!wa sync space` to create and fill the space for the first time. # Users who logged in before turning this on should run `!wa sync space` to create and fill the space for the first time.
personal_filtering_spaces: false personal_filtering_spaces: false
# Should the bridge send a read receipt from the bridge bot when a message has been sent to WhatsApp? # Should the bridge send a read receipt from the bridge bot when a message has been sent to WhatsApp?
delivery_receipts: false delivery_receipts: false
# Whether the bridge should send the message status as a custom com.beeper.message_send_status event. # Whether the bridge should send the message status as a custom com.beeper.message_send_status event.
message_status_events: false message_status_events: false
# Whether the bridge should send error notices via m.notice events when a message fails to bridge. # Whether the bridge should send error notices via m.notice events when a message fails to bridge.
message_error_notices: true message_error_notices: true
# Should incoming calls send a message to the Matrix room? # Should incoming calls send a message to the Matrix room?
call_start_notices: true call_start_notices: true
# Should another user's cryptographic identity changing send a message to Matrix? # Should another user's cryptographic identity changing send a message to Matrix?
identity_change_notices: false identity_change_notices: false
portal_message_buffer: 128 portal_message_buffer: 128
# Settings for handling history sync payloads. # Settings for handling history sync payloads.
history_sync: history_sync:
# Enable backfilling history sync payloads from WhatsApp? # Enable backfilling history sync payloads from WhatsApp?
backfill: true backfill: true
# The maximum number of initial conversations that should be synced. # The maximum number of initial conversations that should be synced.
# Other conversations will be backfilled on demand when receiving a message or when initiating a direct chat. # Other conversations will be backfilled on demand when receiving a message or when initiating a direct chat.
max_initial_conversations: -1 max_initial_conversations: -1
# Maximum number of messages to backfill in each conversation. # Maximum number of messages to backfill in each conversation.
# Set to -1 to disable limit. # Set to -1 to disable limit.
message_count: 50 message_count: 50
# Should the bridge request a full sync from the phone when logging in? # Should the bridge request a full sync from the phone when logging in?
# This bumps the size of history syncs from 3 months to 1 year. # This bumps the size of history syncs from 3 months to 1 year.
request_full_sync: false request_full_sync: false
# Configuration parameters that are sent to the phone along with the request full sync flag. # Configuration parameters that are sent to the phone along with the request full sync flag.
# By default (when the values are null or 0), the config isn't sent at all. # By default (when the values are null or 0), the config isn't sent at all.
full_sync_config: full_sync_config:
# Number of days of history to request. # Number of days of history to request.
# The limit seems to be around 3 years, but using higher values doesn't break. # The limit seems to be around 3 years, but using higher values doesn't break.
days_limit: null days_limit: null
# This is presumably the maximum size of the transferred history sync blob, which may affect what the phone includes in the blob. # This is presumably the maximum size of the transferred history sync blob, which may affect what the phone includes in the blob.
size_mb_limit: null size_mb_limit: null
# This is presumably the local storage quota, which may affect what the phone includes in the history sync blob. # This is presumably the local storage quota, which may affect what the phone includes in the history sync blob.
storage_quota_mb: null storage_quota_mb: null
# If this value is greater than 0, then if the conversation's last message was more than # If this value is greater than 0, then if the conversation's last message was more than
# this number of hours ago, then the conversation will automatically be marked it as read. # this number of hours ago, then the conversation will automatically be marked it as read.
# Conversations that have a last message that is less than this number of hours ago will # Conversations that have a last message that is less than this number of hours ago will
# have their unread status synced from WhatsApp. # have their unread status synced from WhatsApp.
unread_hours_threshold: 0 unread_hours_threshold: 0
############################################################################### ###############################################################################
# The settings below are only applicable for backfilling using batch sending, # # The settings below are only applicable for backfilling using batch sending, #
# which is no longer supported in Synapse. # # which is no longer supported in Synapse. #
############################################################################### ###############################################################################
# Settings for media requests. If the media expired, then it will not be on the WA servers. # Settings for media requests. If the media expired, then it will not be on the WA servers.
# Media can always be requested by reacting with the ♻️ (recycle) emoji. # Media can always be requested by reacting with the ♻️ (recycle) emoji.
# These settings determine if the media requests should be done automatically during or after backfill. # These settings determine if the media requests should be done automatically during or after backfill.
media_requests: media_requests:
# Should expired media be automatically requested from the server as part of the backfill process? # Should expired media be automatically requested from the server as part of the backfill process?
auto_request_media: true auto_request_media: true
# Whether to request the media immediately after the media message is backfilled ("immediate") # Whether to request the media immediately after the media message is backfilled ("immediate")
# or at a specific time of the day ("local_time"). # or at a specific time of the day ("local_time").
request_method: immediate request_method: immediate
# If request_method is "local_time", what time should the requests be sent (in minutes after midnight)? # If request_method is "local_time", what time should the requests be sent (in minutes after midnight)?
request_local_time: 120 request_local_time: 120
# Settings for immediate backfills. These backfills should generally be small and their main purpose is # Settings for immediate backfills. These backfills should generally be small and their main purpose is
# to populate each of the initial chats (as configured by max_initial_conversations) with a few messages # to populate each of the initial chats (as configured by max_initial_conversations) with a few messages
# so that you can continue conversations without losing context. # so that you can continue conversations without losing context.
immediate: immediate:
# The number of concurrent backfill workers to create for immediate backfills. # The number of concurrent backfill workers to create for immediate backfills.
# Note that using more than one worker could cause the room list to jump around # Note that using more than one worker could cause the room list to jump around
# since there are no guarantees about the order in which the backfills will complete. # since there are no guarantees about the order in which the backfills will complete.
worker_count: 1 worker_count: 1
# The maximum number of events to backfill initially. # The maximum number of events to backfill initially.
max_events: 10 max_events: 10
# Settings for deferred backfills. The purpose of these backfills are to fill in the rest of # Settings for deferred backfills. The purpose of these backfills are to fill in the rest of
# the chat history that was not covered by the immediate backfills. # the chat history that was not covered by the immediate backfills.
# These backfills generally should happen at a slower pace so as not to overload the homeserver. # These backfills generally should happen at a slower pace so as not to overload the homeserver.
# Each deferred backfill config should define a "stage" of backfill (i.e. the last week of messages). # Each deferred backfill config should define a "stage" of backfill (i.e. the last week of messages).
# The fields are as follows: # The fields are as follows:
# - start_days_ago: the number of days ago to start backfilling from. # - start_days_ago: the number of days ago to start backfilling from.
# To indicate the start of time, use -1. For example, for a week ago, use 7. # To indicate the start of time, use -1. For example, for a week ago, use 7.
# - max_batch_events: the number of events to send per batch. # - max_batch_events: the number of events to send per batch.
# - batch_delay: the number of seconds to wait before backfilling each batch. # - batch_delay: the number of seconds to wait before backfilling each batch.
deferred: deferred:
# Last Week # Last Week
- start_days_ago: 7 - start_days_ago: 7
max_batch_events: 20 max_batch_events: 20
batch_delay: 5 batch_delay: 5
# Last Month # Last Month
- start_days_ago: 30 - start_days_ago: 30
max_batch_events: 50 max_batch_events: 50
batch_delay: 10 batch_delay: 10
# Last 3 months # Last 3 months
- start_days_ago: 90 - start_days_ago: 90
max_batch_events: 100 max_batch_events: 100
batch_delay: 10 batch_delay: 10
# The start of time # The start of time
- start_days_ago: -1 - start_days_ago: -1
max_batch_events: 500 max_batch_events: 500
batch_delay: 10 batch_delay: 10
# Should puppet avatars be fetched from the server even if an avatar is already set? # Should puppet avatars be fetched from the server even if an avatar is already set?
user_avatar_sync: true user_avatar_sync: true
# Should Matrix users leaving groups be bridged to WhatsApp? # Should Matrix users leaving groups be bridged to WhatsApp?
bridge_matrix_leave: true bridge_matrix_leave: true
# Should the bridge update the m.direct account data event when double puppeting is enabled. # Should the bridge update the m.direct account data event when double puppeting is enabled.
# Note that updating the m.direct event is not atomic (except with mautrix-asmux) # Note that updating the m.direct event is not atomic (except with mautrix-asmux)
# and is therefore prone to race conditions. # and is therefore prone to race conditions.
sync_direct_chat_list: false sync_direct_chat_list: false
# Should the bridge use MSC2867 to bridge manual "mark as unread"s from # Should the bridge use MSC2867 to bridge manual "mark as unread"s from
# WhatsApp and set the unread status on initial backfill? # WhatsApp and set the unread status on initial backfill?
# This will only work on clients that support the m.marked_unread or # This will only work on clients that support the m.marked_unread or
# com.famedly.marked_unread room account data. # com.famedly.marked_unread room account data.
sync_manual_marked_unread: true sync_manual_marked_unread: true
# When double puppeting is enabled, users can use `!wa toggle` to change whether # When double puppeting is enabled, users can use `!wa toggle` to change whether
# presence is bridged. This setting sets the default value. # presence is bridged. This setting sets the default value.
# Existing users won't be affected when these are changed. # Existing users won't be affected when these are changed.
default_bridge_presence: true default_bridge_presence: true
# Send the presence as "available" to whatsapp when users start typing on a portal. # Send the presence as "available" to whatsapp when users start typing on a portal.
# This works as a workaround for homeservers that do not support presence, and allows # This works as a workaround for homeservers that do not support presence, and allows
# users to see when the whatsapp user on the other side is typing during a conversation. # users to see when the whatsapp user on the other side is typing during a conversation.
send_presence_on_typing: false send_presence_on_typing: false
# Should the bridge always send "active" delivery receipts (two gray ticks on WhatsApp) # Should the bridge always send "active" delivery receipts (two gray ticks on WhatsApp)
# even if the user isn't marked as online (e.g. when presence bridging isn't enabled)? # even if the user isn't marked as online (e.g. when presence bridging isn't enabled)?
#
# By default, the bridge acts like WhatsApp web, which only sends active delivery
# receipts when it's in the foreground.
force_active_delivery_receipts: false
# Servers to always allow double puppeting from
double_puppet_server_map:
example.com: https://example.com
# Allow using double puppeting from any server with a valid client .well-known file.
double_puppet_allow_discovery: false
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
#
# If set, double puppeting will be enabled automatically for local users
# instead of users having to find an access token and run `login-matrix`
# manually.
login_shared_secret_map:
example.com: foobar
# Whether to explicitly set the avatar and room name for private chat portal rooms.
# If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms.
# If set to `always`, all DM rooms will have explicit names and avatars set.
# If set to `never`, DM rooms will never have names and avatars set.
private_chat_portal_meta: default
# Should group members be synced in parallel? This makes member sync faster
parallel_member_sync: false
# Should Matrix m.notice-type messages be bridged?
bridge_notices: true
# Set this to true to tell the bridge to re-send m.bridge events to all rooms on the next run.
# This field will automatically be changed back to false after it, except if the config file is not writable.
resend_bridge_info: false
# When using double puppeting, should muted chats be muted in Matrix?
mute_bridging: false
# When using double puppeting, should archived chats be moved to a specific tag in Matrix?
# Note that WhatsApp unarchives chats when a message is received, which will also be mirrored to Matrix.
# This can be set to a tag (e.g. m.lowpriority), or null to disable.
archive_tag: null
# Same as above, but for pinned chats. The favorite tag is called m.favourite
pinned_tag: null
# Should mute status and tags only be bridged when the portal room is created?
tag_only_on_create: true
# Should WhatsApp status messages be bridged into a Matrix room?
# Disabling this won't affect already created status broadcast rooms.
enable_status_broadcast: true
# Should sending WhatsApp status messages be allowed?
# This can cause issues if the user has lots of contacts, so it's disabled by default.
disable_status_broadcast_send: true
# Should the status broadcast room be muted and moved into low priority by default?
# This is only applied when creating the room, the user can unmute it later.
mute_status_broadcast: true
# Tag to apply to the status broadcast room.
status_broadcast_tag: m.lowpriority
# Should the bridge use thumbnails from WhatsApp?
# They're disabled by default due to very low resolution.
whatsapp_thumbnail: false
# Allow invite permission for user. User can invite any bots to room with whatsapp
# users (private chat and groups)
allow_user_invite: false
# Whether or not created rooms should have federation enabled.
# If false, created portal rooms will never be federated.
federate_rooms: true
# Should the bridge never send alerts to the bridge management room?
# These are mostly things like the user being logged out.
disable_bridge_alerts: false
# Should the bridge stop if the WhatsApp server says another user connected with the same session?
# This is only safe on single-user bridges.
crash_on_stream_replaced: false
# Should the bridge detect URLs in outgoing messages, ask the homeserver to generate a preview,
# and send it to WhatsApp? URL previews can always be sent using the `com.beeper.linkpreviews`
# key in the event content even if this is disabled.
url_previews: false
# Send captions in the same message as images. This will send data compatible with both MSC2530 and MSC3552.
# This is currently not supported in most clients.
caption_in_message: false
# Send galleries as a single event? This is not an MSC (yet).
beeper_galleries: false
# Should polls be sent using MSC3381 event types?
extev_polls: false
# Should cross-chat replies from WhatsApp be bridged? Most servers and clients don't support this.
cross_room_replies: false
# Disable generating reply fallbacks? Some extremely bad clients still rely on them,
# but they're being phased out and will be completely removed in the future.
disable_reply_fallbacks: false
# Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration
# Null means there's no enforced timeout.
message_handling_timeout:
# Send an error message after this timeout, but keep waiting for the response until the deadline.
# This is counted from the origin_server_ts, so the warning time is consistent regardless of the source of delay.
# If the message is older than this when it reaches the bridge, the message won't be handled at all.
error_after: null
# Drop messages after this timeout. They may still go through if the message got sent to the servers.
# This is counted from the time the bridge starts handling the message.
deadline: 120s
# The prefix for commands. Only required in non-management rooms.
command_prefix: "!wa"
# Messages sent upon joining a management room.
# Markdown is supported. The defaults are listed below.
management_room_text:
# Sent when joining a room.
welcome: "Hello, I'm a WhatsApp bridge bot."
# Sent when joining a management room and the user is already logged in.
welcome_connected: "Use `help` for help."
# Sent when joining a management room and the user is not logged in.
welcome_unconnected: "Use `help` for help or `login` to log in."
# Optional extra text sent when joining a management room.
additional_help: ""
# End-to-bridge encryption support options.
#
# See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
encryption:
# Allow encryption, work in group chat rooms with e2ee enabled
allow: false
# Default to encryption, force-enable encryption in all portals the bridge creates
# This will cause the bridge bot to be in private chats for the encryption to work properly.
default: false
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
appservice: false
# Require encryption, drop any unencrypted messages.
require: false
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
# You must use a client that supports requesting keys from other users to use this feature.
allow_key_sharing: false
# Should users mentions be in the event wire content to enable the server to send push notifications?
plaintext_mentions: false
# Options for deleting megolm sessions from the bridge.
delete_keys:
# Beeper-specific: delete outbound sessions when hungryserv confirms
# that the user has uploaded the key to key backup.
delete_outbound_on_ack: false
# Don't store outbound sessions in the inbound table.
dont_store_outbound: false
# Ratchet megolm sessions forward after decrypting messages.
ratchet_on_decrypt: false
# Delete fully used keys (index >= max_messages) after decrypting messages.
delete_fully_used_on_decrypt: false
# Delete previous megolm sessions from same device when receiving a new one.
delete_prev_on_new_session: false
# Delete megolm sessions received from a device when the device is deleted.
delete_on_device_delete: false
# Periodically delete megolm sessions when 2x max_age has passed since receiving the session.
periodically_delete_expired: false
# Delete inbound megolm sessions that don't have the received_at field used for
# automatic ratcheting and expired session deletion. This is meant as a migration
# to delete old keys prior to the bridge update.
delete_outdated_inbound: false
# What level of device verification should be required from users?
# #
# By default, the bridge acts like WhatsApp web, which only sends active delivery # Valid levels:
# receipts when it's in the foreground. # unverified - Send keys to all device in the room.
force_active_delivery_receipts: false # cross-signed-untrusted - Require valid cross-signing, but trust all cross-signing keys.
# Servers to always allow double puppeting from # cross-signed-tofu - Require valid cross-signing, trust cross-signing keys on first use (and reject changes).
double_puppet_server_map: # cross-signed-verified - Require valid cross-signing, plus a valid user signature from the bridge bot.
example.com: https://example.com # Note that creating user signatures from the bridge bot is not currently possible.
# Allow using double puppeting from any server with a valid client .well-known file. # verified - Require manual per-device verification
double_puppet_allow_discovery: false # (currently only possible by modifying the `trust` column in the `crypto_device` database table).
# Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth verification_levels:
# # Minimum level for which the bridge should send keys to when bridging messages from WhatsApp to Matrix.
# If set, double puppeting will be enabled automatically for local users receive: unverified
# instead of users having to find an access token and run `login-matrix` # Minimum level that the bridge should accept for incoming Matrix messages.
# manually. send: unverified
login_shared_secret_map: # Minimum level that the bridge should require for accepting key requests.
example.com: foobar share: cross-signed-tofu
# Whether to explicitly set the avatar and room name for private chat portal rooms. # Options for Megolm room key rotation. These options allow you to
# If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms. # configure the m.room.encryption event content. See:
# If set to `always`, all DM rooms will have explicit names and avatars set. # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for
# If set to `never`, DM rooms will never have names and avatars set. # more information about that event.
private_chat_portal_meta: default rotation:
# Should group members be synced in parallel? This makes member sync faster # Enable custom Megolm room key rotation settings. Note that these
parallel_member_sync: false # settings will only apply to rooms created after this option is
# Should Matrix m.notice-type messages be bridged? # set.
bridge_notices: true enable_custom: false
# Set this to true to tell the bridge to re-send m.bridge events to all rooms on the next run. # The maximum number of milliseconds a session should be used
# This field will automatically be changed back to false after it, except if the config file is not writable. # before changing it. The Matrix spec recommends 604800000 (a week)
resend_bridge_info: false # as the default.
# When using double puppeting, should muted chats be muted in Matrix? milliseconds: 604800000
mute_bridging: false # The maximum number of messages that should be sent with a given a
# When using double puppeting, should archived chats be moved to a specific tag in Matrix? # session before changing it. The Matrix spec recommends 100 as the
# Note that WhatsApp unarchives chats when a message is received, which will also be mirrored to Matrix. # default.
# This can be set to a tag (e.g. m.lowpriority), or null to disable. messages: 100
archive_tag: null
# Same as above, but for pinned chats. The favorite tag is called m.favourite
pinned_tag: null
# Should mute status and tags only be bridged when the portal room is created?
tag_only_on_create: true
# Should WhatsApp status messages be bridged into a Matrix room?
# Disabling this won't affect already created status broadcast rooms.
enable_status_broadcast: true
# Should sending WhatsApp status messages be allowed?
# This can cause issues if the user has lots of contacts, so it's disabled by default.
disable_status_broadcast_send: true
# Should the status broadcast room be muted and moved into low priority by default?
# This is only applied when creating the room, the user can unmute it later.
mute_status_broadcast: true
# Tag to apply to the status broadcast room.
status_broadcast_tag: m.lowpriority
# Should the bridge use thumbnails from WhatsApp?
# They're disabled by default due to very low resolution.
whatsapp_thumbnail: false
# Allow invite permission for user. User can invite any bots to room with whatsapp
# users (private chat and groups)
allow_user_invite: false
# Whether or not created rooms should have federation enabled.
# If false, created portal rooms will never be federated.
federate_rooms: true
# Should the bridge never send alerts to the bridge management room?
# These are mostly things like the user being logged out.
disable_bridge_alerts: false
# Should the bridge stop if the WhatsApp server says another user connected with the same session?
# This is only safe on single-user bridges.
crash_on_stream_replaced: false
# Should the bridge detect URLs in outgoing messages, ask the homeserver to generate a preview,
# and send it to WhatsApp? URL previews can always be sent using the `com.beeper.linkpreviews`
# key in the event content even if this is disabled.
url_previews: false
# Send captions in the same message as images. This will send data compatible with both MSC2530 and MSC3552.
# This is currently not supported in most clients.
caption_in_message: false
# Send galleries as a single event? This is not an MSC (yet).
beeper_galleries: false
# Should polls be sent using MSC3381 event types?
extev_polls: false
# Should cross-chat replies from WhatsApp be bridged? Most servers and clients don't support this.
cross_room_replies: false
# Disable generating reply fallbacks? Some extremely bad clients still rely on them,
# but they're being phased out and will be completely removed in the future.
disable_reply_fallbacks: false
# Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration
# Null means there's no enforced timeout.
message_handling_timeout:
# Send an error message after this timeout, but keep waiting for the response until the deadline.
# This is counted from the origin_server_ts, so the warning time is consistent regardless of the source of delay.
# If the message is older than this when it reaches the bridge, the message won't be handled at all.
error_after: null
# Drop messages after this timeout. They may still go through if the message got sent to the servers.
# This is counted from the time the bridge starts handling the message.
deadline: 120s
# The prefix for commands. Only required in non-management rooms. # Disable rotating keys when a user's devices change?
command_prefix: "!wa" # You should not enable this option unless you understand all the implications.
disable_device_change_key_rotation: false
# Messages sent upon joining a management room. # Settings for provisioning API
# Markdown is supported. The defaults are listed below. provisioning:
management_room_text: # Prefix for the provisioning API paths.
# Sent when joining a room. prefix: /_matrix/provision
welcome: "Hello, I'm a WhatsApp bridge bot." # Shared secret for authentication. If set to "generate", a random secret will be generated,
# Sent when joining a management room and the user is already logged in. # or if set to "disable", the provisioning API will be disabled.
welcome_connected: "Use `help` for help." shared_secret: generate
# Sent when joining a management room and the user is not logged in. # Enable debug API at /debug with provisioning authentication.
welcome_unconnected: "Use `help` for help or `login` to log in." debug_endpoints: false
# Optional extra text sent when joining a management room.
additional_help: ""
# End-to-bridge encryption support options. # Permissions for using the bridge.
# # Permitted values:
# See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info. # relay - Talk through the relaybot (if enabled), no access otherwise
encryption: # user - Access to use the bridge to chat with a WhatsApp account.
# Allow encryption, work in group chat rooms with e2ee enabled # admin - User level and some additional administration tools
allow: false # Permitted keys:
# Default to encryption, force-enable encryption in all portals the bridge creates # * - All Matrix users
# This will cause the bridge bot to be in private chats for the encryption to work properly. # domain - All users on that homeserver
default: false # mxid - Specific user
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data. permissions:
appservice: false "*": relay
# Require encryption, drop any unencrypted messages. "example.com": user
require: false "@admin:example.com": admin
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
# You must use a client that supports requesting keys from other users to use this feature.
allow_key_sharing: false
# Should users mentions be in the event wire content to enable the server to send push notifications?
plaintext_mentions: false
# Options for deleting megolm sessions from the bridge.
delete_keys:
# Beeper-specific: delete outbound sessions when hungryserv confirms
# that the user has uploaded the key to key backup.
delete_outbound_on_ack: false
# Don't store outbound sessions in the inbound table.
dont_store_outbound: false
# Ratchet megolm sessions forward after decrypting messages.
ratchet_on_decrypt: false
# Delete fully used keys (index >= max_messages) after decrypting messages.
delete_fully_used_on_decrypt: false
# Delete previous megolm sessions from same device when receiving a new one.
delete_prev_on_new_session: false
# Delete megolm sessions received from a device when the device is deleted.
delete_on_device_delete: false
# Periodically delete megolm sessions when 2x max_age has passed since receiving the session.
periodically_delete_expired: false
# Delete inbound megolm sessions that don't have the received_at field used for
# automatic ratcheting and expired session deletion. This is meant as a migration
# to delete old keys prior to the bridge update.
delete_outdated_inbound: false
# What level of device verification should be required from users?
#
# Valid levels:
# unverified - Send keys to all device in the room.
# cross-signed-untrusted - Require valid cross-signing, but trust all cross-signing keys.
# cross-signed-tofu - Require valid cross-signing, trust cross-signing keys on first use (and reject changes).
# cross-signed-verified - Require valid cross-signing, plus a valid user signature from the bridge bot.
# Note that creating user signatures from the bridge bot is not currently possible.
# verified - Require manual per-device verification
# (currently only possible by modifying the `trust` column in the `crypto_device` database table).
verification_levels:
# Minimum level for which the bridge should send keys to when bridging messages from WhatsApp to Matrix.
receive: unverified
# Minimum level that the bridge should accept for incoming Matrix messages.
send: unverified
# Minimum level that the bridge should require for accepting key requests.
share: cross-signed-tofu
# Options for Megolm room key rotation. These options allow you to
# configure the m.room.encryption event content. See:
# https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for
# more information about that event.
rotation:
# Enable custom Megolm room key rotation settings. Note that these
# settings will only apply to rooms created after this option is
# set.
enable_custom: false
# The maximum number of milliseconds a session should be used
# before changing it. The Matrix spec recommends 604800000 (a week)
# as the default.
milliseconds: 604800000
# The maximum number of messages that should be sent with a given a
# session before changing it. The Matrix spec recommends 100 as the
# default.
messages: 100
# Disable rotating keys when a user's devices change? # Settings for relay mode
# You should not enable this option unless you understand all the implications. relay:
disable_device_change_key_rotation: false # Whether relay mode should be allowed. If allowed, `!wa set-relay` can be used to turn any
# authenticated user into a relaybot for that chat.
# Settings for provisioning API enabled: false
provisioning: # Should only admins be allowed to set themselves as relay users?
# Prefix for the provisioning API paths. admin_only: true
prefix: /_matrix/provision # The formats to use when sending messages to WhatsApp via the relaybot.
# Shared secret for authentication. If set to "generate", a random secret will be generated, message_formats:
# or if set to "disable", the provisioning API will be disabled. m.text: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
shared_secret: generate m.notice: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
# Enable debug API at /debug with provisioning authentication. m.emote: "* <b>{{ .Sender.Displayname }}</b> {{ .Message }}"
debug_endpoints: false m.file: "<b>{{ .Sender.Displayname }}</b> sent a file"
m.image: "<b>{{ .Sender.Displayname }}</b> sent an image"
# Permissions for using the bridge. m.audio: "<b>{{ .Sender.Displayname }}</b> sent an audio file"
# Permitted values: m.video: "<b>{{ .Sender.Displayname }}</b> sent a video"
# relay - Talk through the relaybot (if enabled), no access otherwise m.location: "<b>{{ .Sender.Displayname }}</b> sent a location"
# user - Access to use the bridge to chat with a WhatsApp account.
# admin - User level and some additional administration tools
# Permitted keys:
# * - All Matrix users
# domain - All users on that homeserver
# mxid - Specific user
permissions:
"*": relay
"example.com": user
"@admin:example.com": admin
# Settings for relay mode
relay:
# Whether relay mode should be allowed. If allowed, `!wa set-relay` can be used to turn any
# authenticated user into a relaybot for that chat.
enabled: false
# Should only admins be allowed to set themselves as relay users?
admin_only: true
# The formats to use when sending messages to WhatsApp via the relaybot.
message_formats:
m.text: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
m.notice: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}"
m.emote: "* <b>{{ .Sender.Displayname }}</b> {{ .Message }}"
m.file: "<b>{{ .Sender.Displayname }}</b> sent a file"
m.image: "<b>{{ .Sender.Displayname }}</b> sent an image"
m.audio: "<b>{{ .Sender.Displayname }}</b> sent an audio file"
m.video: "<b>{{ .Sender.Displayname }}</b> sent a video"
m.location: "<b>{{ .Sender.Displayname }}</b> sent a location"
# Logging config. See https://github.com/tulir/zeroconfig for details. # Logging config. See https://github.com/tulir/zeroconfig for details.
logging: logging:
min_level: debug min_level: debug
writers: writers:
- type: stdout - type: stdout
format: pretty-colored format: pretty-colored
- type: file - type: file

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: outline name: outline
version: 0.5.0 version: 0.5.1
description: Chart for Outline wiki description: Chart for Outline wiki
keywords: keywords:
- wiki - wiki
@@ -14,5 +14,5 @@ icon: https://avatars.githubusercontent.com/u/1765001?s=48&v=4
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
version: 19.1.0 version: 19.1.1
appVersion: v0.75.2 appVersion: v0.75.2

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: postgres-cluster name: postgres-cluster
version: 2.2.0 version: 2.3.1
description: Chart for cloudnative-pg cluster description: Chart for cloudnative-pg cluster
keywords: keywords:
- database - database

View File

@@ -3,7 +3,7 @@
backup: backup:
retentionPolicy: {{ .Values.backup.retentionPolicy }} retentionPolicy: {{ .Values.backup.retentionPolicy }}
barmanObjectStore: barmanObjectStore:
destinationPath: "s3://{{ .Values.backup.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.name" . }}" destinationPath: "s3://{{ .Values.backup.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.backupName" . }}"
endpointURL: {{ .Values.backup.endpointURL }} endpointURL: {{ .Values.backup.endpointURL }}
{{- if .Values.backup.endpointCA }} {{- if .Values.backup.endpointCA }}
endpointCA: endpointCA:

View File

@@ -63,7 +63,7 @@ externalClusters:
- name: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}" - name: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
barmanObjectStore: barmanObjectStore:
serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}" serverName: "{{ include "cluster.name" . }}-backup-{{ .Values.recovery.recoveryIndex }}"
destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ .Values.recovery.recoveryName }}" destinationPath: "s3://{{ .Values.recovery.endpointBucket }}/{{ .Values.kubernetesClusterName }}/postgresql/{{ include "cluster.recoveryName" . }}"
endpointURL: {{ .Values.recovery.endpointURL }} endpointURL: {{ .Values.recovery.endpointURL }}
{{- with .Values.recovery.endpointCA }} {{- with .Values.recovery.endpointCA }}
endpointCA: endpointCA:

View File

@@ -5,7 +5,7 @@ Expand the name of the chart.
{{- if .Values.nameOverride }} {{- if .Values.nameOverride }}
{{- .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- else }} {{- else }}
{{- printf "postgresql-%s-%s" .Values.cluster.image.majorVersion .Release.Name | trunc 63 | trimSuffix "-" -}} {{- printf "%s-postgresql-%s" .Release.Name ((semver .Values.cluster.image.tag).Major | toString) | trunc 63 | trimSuffix "-" -}}
{{- end }} {{- end }}
{{- end }} {{- end }}
@@ -56,6 +56,18 @@ Generate name for object store credentials
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/*
Generate backup server name
*/}}
{{- define "cluster.backupName" -}}
{{- if .Values.backup.backupName -}}
{{- .Values.backup.backupName -}}
{{- else -}}
{{ include "cluster.name" . }}
{{- end }}
{{- end }}
{{/* {{/*
Generate recovery server name Generate recovery server name
*/}} */}}

View File

@@ -24,7 +24,6 @@ cluster:
image: image:
repository: ghcr.io/cloudnative-pg/postgresql repository: ghcr.io/cloudnative-pg/postgresql
tag: "16.2" tag: "16.2"
majorVersion: "16"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# The UID and GID of the postgres user inside the image # The UID and GID of the postgres user inside the image
@@ -171,6 +170,9 @@ backup:
# Generate external cluster name, creates: postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.backups.backupIndex }}" # Generate external cluster name, creates: postgresql-{{ .Release.Name }}-cluster-backup-index-{{ .Values.backups.backupIndex }}"
backupIndex: 1 backupIndex: 1
# Name of the backup cluster in the object store, defaults to "cluster.name"
backupName: ""
wal: wal:
# WAL compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`. # WAL compression method. One of `` (for no compression), `gzip`, `bzip2` or `snappy`.
compression: snappy compression: snappy

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: taiga name: taiga
version: 0.1.2 version: 0.2.0
description: Chart for Taiga description: Chart for Taiga
keywords: keywords:
- kanban - kanban
@@ -14,11 +14,11 @@ maintainers:
icon: https://avatars.githubusercontent.com/u/6905422?s=200&v=4 icon: https://avatars.githubusercontent.com/u/6905422?s=200&v=4
dependencies: dependencies:
- name: rabbitmq - name: rabbitmq
version: 13.0.3 version: 14.0.1
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
alias: taiga-async-rabbitmq alias: async-rabbitmq
- name: rabbitmq - name: rabbitmq
version: 13.0.3 version: 14.0.1
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
alias: taiga-events-rabbitmq alias: events-rabbitmq
appVersion: 6.7.7 appVersion: 6.7.7

View File

@@ -213,7 +213,7 @@ spec:
value: "False" value: "False"
{{ end }} {{ end }}
{{ if .Values.trelloImporter }} {{ if .Values.trelloImporter.enabled }}
- name: ENABLE_TRELLO_IMPORTER - name: ENABLE_TRELLO_IMPORTER
value: "True" value: "True"
- name: TRELLO_IMPORTER_API_KEY - name: TRELLO_IMPORTER_API_KEY
@@ -232,12 +232,12 @@ spec:
{{ end }} {{ end }}
- name: RABBITMQ_USER - name: RABBITMQ_USER
value: "{{ index .Values "taiga-async-rabbitmq" "auth" "username" }}" value: "{{ index .Values "async-rabbitmq" "auth" "username" }}"
- name: RABBITMQ_PASS - name: RABBITMQ_PASS
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ index .Values "taiga-async-rabbitmq" "auth" "existingPasswordSecret" }} name: {{ index .Values "async-rabbitmq" "auth" "existingPasswordSecret" }}
key: {{ index .Values "taiga-async-rabbitmq" "auth" "existingSecretPasswordKey" }} key: {{ index .Values "async-rabbitmq" "auth" "existingSecretPasswordKey" }}
{{ if .Values.ingress.enabled }} {{ if .Values.ingress.enabled }}
- name: TAIGA_SITES_DOMAIN - name: TAIGA_SITES_DOMAIN
@@ -437,7 +437,7 @@ spec:
value: "False" value: "False"
{{ end }} {{ end }}
{{ if .Values.trelloImporter }} {{ if .Values.trelloImporter.enabled }}
- name: ENABLE_TRELLO_IMPORTER - name: ENABLE_TRELLO_IMPORTER
value: "True" value: "True"
- name: TRELLO_IMPORTER_API_KEY - name: TRELLO_IMPORTER_API_KEY
@@ -456,12 +456,12 @@ spec:
{{ end }} {{ end }}
- name: RABBITMQ_USER - name: RABBITMQ_USER
value: "{{ index .Values "taiga-async-rabbitmq" "auth" "username" }}" value: "{{ index .Values "async-rabbitmq" "auth" "username" }}"
- name: RABBITMQ_PASS - name: RABBITMQ_PASS
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ index .Values "taiga-async-rabbitmq" "auth" "existingPasswordSecret" }} name: {{ index .Values "async-rabbitmq" "auth" "existingPasswordSecret" }}
key: {{ index .Values "taiga-async-rabbitmq" "auth" "existingSecretPasswordKey" }} key: {{ index .Values "async-rabbitmq" "auth" "existingSecretPasswordKey" }}
{{ if .Values.ingress.enabled }} {{ if .Values.ingress.enabled }}
- name: TAIGA_SITES_DOMAIN - name: TAIGA_SITES_DOMAIN

View File

@@ -46,8 +46,8 @@ spec:
securityContext: securityContext:
{{- with .Values.events.securityContext }} {{- with .Values.events.securityContext }}
{{ toYaml . | nindent 8 }} {{ toYaml . | nindent 8 }}
{{- end }} {{- end }}
containers: containers:
- name: {{ template "taiga.fullname" . }}-events - name: {{ template "taiga.fullname" . }}-events
image: "{{ .Values.events.image.repository }}:{{ .Values.events.image.tag }}" image: "{{ .Values.events.image.repository }}:{{ .Values.events.image.tag }}"
imagePullPolicy: {{ .Values.events.image.pullPolicy }} imagePullPolicy: {{ .Values.events.image.pullPolicy }}
@@ -55,7 +55,10 @@ spec:
{{ toYaml .Values.events.resources | nindent 12 }} {{ toYaml .Values.events.resources | nindent 12 }}
ports: ports:
- name: taiga-events - name: taiga-events
containerPort: {{ .Values.events.service.port }} containerPort: {{ .Values.events.service.http.port }}
protocol: TCP
- name: taiga-app
containerPort: {{ .Values.events.service.app.port }}
protocol: TCP protocol: TCP
env: env:
- name: TAIGA_SECRET_KEY - name: TAIGA_SECRET_KEY
@@ -64,18 +67,20 @@ spec:
name: "{{ .Values.secretKey.existingSecretName }}" name: "{{ .Values.secretKey.existingSecretName }}"
key: "{{ .Values.secretKey.existingSecretKey }}" key: "{{ .Values.secretKey.existingSecretKey }}"
- name: RABBITMQ_USER - name: RABBITMQ_USER
value: "{{ index .Values "taiga-events-rabbitmq" "auth" "username" }}" value: "{{ index .Values "events-rabbitmq" "auth" "username" }}"
- name: RABBITMQ_PASS - name: RABBITMQ_PASS
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ index .Values "taiga-events-rabbitmq" "auth" "existingPasswordSecret" }} name: {{ index .Values "events-rabbitmq" "auth" "existingPasswordSecret" }}
key: {{ index .Values "taiga-events-rabbitmq" "auth" "existingSecretPasswordKey" }} key: {{ index .Values "events-rabbitmq" "auth" "existingSecretPasswordKey" }}
- name: APP_PORT
value: "{{ .Values.events.service.app.port }}"
{{- if .Values.events.livenessProbe.enabled }} {{- if .Values.events.livenessProbe.enabled }}
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /admin/login/ path: /healthz
port: {{ .Values.events.service.port }} port: {{ .Values.events.service.app.port }}
initialDelaySeconds: {{ .Values.events.livenessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.events.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.events.livenessProbe.periodSeconds }} periodSeconds: {{ .Values.events.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.events.livenessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.events.livenessProbe.timeoutSeconds }}
@@ -86,8 +91,8 @@ spec:
{{- if .Values.events.readinessProbe.enabled }} {{- if .Values.events.readinessProbe.enabled }}
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /admin/login/ path: /healthz
port: {{ .Values.events.service.port }} port: {{ .Values.events.service.app.port }}
initialDelaySeconds: {{ .Values.events.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.events.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.events.readinessProbe.periodSeconds }} periodSeconds: {{ .Values.events.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.events.readinessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.events.readinessProbe.timeoutSeconds }}

View File

@@ -72,6 +72,8 @@ spec:
value: "false" value: "false"
- name: ENABLE_GITLAB_AUTH - name: ENABLE_GITLAB_AUTH
value: "false" value: "false"
- name: ENABLE_OIDC
value: "{{ .Values.oidc.enabled }}"
- name: ENABLE_SLACK - name: ENABLE_SLACK
value: "{{ .Values.enableSlack }}" value: "{{ .Values.enableSlack }}"
- name: ENABLE_GITHUB_IMPORTER - name: ENABLE_GITHUB_IMPORTER

View File

@@ -48,6 +48,15 @@ spec:
port: port:
name: taiga-back name: taiga-back
pathType: ImplementationSpecific pathType: ImplementationSpecific
{{ if .Values.oidc.enabled }}
- path: /oidc
backend:
service:
name: "{{ template "taiga.fullname" . }}-back"
port:
name: taiga-back
pathType: ImplementationSpecific
{{- end }}
- path: /events - path: /events
backend: backend:
service: service:

View File

@@ -55,10 +55,14 @@ metadata:
spec: spec:
type: {{ .Values.events.service.type }} type: {{ .Values.events.service.type }}
ports: ports:
- port: {{ .Values.events.service.port }} - port: {{ .Values.events.service.http.port }}
targetPort: taiga-events targetPort: taiga-events
protocol: TCP protocol: TCP
name: taiga-events name: taiga-events
- port: {{ .Values.events.service.app.port }}
targetPort: taiga-app
protocol: TCP
name: taiga-app
selector: selector:
{{- include "taiga.events.matchLabels" . | nindent 4 }} {{- include "taiga.events.matchLabels" . | nindent 4 }}
{{- with .Values.events.service.extraSelectorLabels }} {{- with .Values.events.service.extraSelectorLabels }}

View File

@@ -82,15 +82,15 @@ postgresql:
oidc: oidc:
enabled: false enabled: false
existingSecretName: "" existingSecretName: ""
scopesKey: "" # "openid profile email" scopesKey: "" # "openid profile email"
signatureAlgorithmKey: "" # "RS256" signatureAlgorithmKey: "" # "RS256"
clientIdKey: "" # <generate from auth provider> clientIdKey: "" # <generate from auth provider>
clientSecretKey: "" # <generate from auth provider> clientSecretKey: "" # <generate from auth provider>
baseUrlKey: "" # "https://id.fedoraproject.org/openidc" baseUrlKey: "" # "https://id.fedoraproject.org/openidc"
jwksEndpointKey: "" # "https://id.fedoraproject.org/openidc/Jwks" jwksEndpointKey: "" # "https://id.fedoraproject.org/openidc/Jwks"
authorizationEndpointKey: "" # "https://id.fedoraproject.org/openidc/Authorization" authorizationEndpointKey: "" # "https://id.fedoraproject.org/openidc/Authorization"
tokenEndpointKey: "" # "https://id.fedoraproject.org/openidc/Token" tokenEndpointKey: "" # "https://id.fedoraproject.org/openidc/Token"
userEndpointKey: "" # "https://id.fedoraproject.org/openidc/UserInfo" userEndpointKey: "" # "https://id.fedoraproject.org/openidc/UserInfo"
## SMTP mail delivery configuration ## SMTP mail delivery configuration
## ref: https://taigaio.github.io/taiga-doc/dist/setup-production.html ## ref: https://taigaio.github.io/taiga-doc/dist/setup-production.html
@@ -347,7 +347,7 @@ async:
## Async Rabbitmq ## Async Rabbitmq
## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema ## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema
## ##
taiga-async-rabbitmq: async-rabbitmq:
auth: auth:
## @param auth.username RabbitMQ application username ## @param auth.username RabbitMQ application username
## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables ## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables
@@ -487,13 +487,18 @@ events:
# -- Allow adding additional match labels # -- Allow adding additional match labels
extraSelectorLabels: {} extraSelectorLabels: {}
# -- HTTP port number http:
port: 8888 # -- HTTP port number
port: 8888
app:
# -- HTTP port number
port: 3023
## Events Rabbitmq ## Events Rabbitmq
## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema ## https://artifacthub.io/packages/helm/bitnami/rabbitmq?modal=values-schema
## ##
taiga-events-rabbitmq: events-rabbitmq:
auth: auth:
## @param auth.username RabbitMQ application username ## @param auth.username RabbitMQ application username
## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables ## ref: https://github.com/bitnami/containers/tree/main/bitnami/rabbitmq#environment-variables

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: tubearchivist name: tubearchivist
version: 0.2.0 version: 0.2.2
description: Chart for Tube Archivist description: Chart for Tube Archivist
keywords: keywords:
- download - download
@@ -14,7 +14,7 @@ maintainers:
icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4 icon: https://avatars.githubusercontent.com/u/102734415?s=48&v=4
dependencies: dependencies:
- name: redis - name: redis
version: 19.1.0 version: 19.1.1
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
- name: elasticsearch - name: elasticsearch
version: 20.0.4 version: 20.0.4

View File

@@ -20,18 +20,18 @@ service:
port: 8000 port: 8000
ingress: ingress:
enabled: false enabled: false
className: className: ""
annotations: annotations: ""
host: host: ""
persistence: persistence:
cache: cache:
enabled: false enabled: false
storageClassName: default storageClassName: ""
storageSize: 5Gi storageSize: 5Gi
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
volumeMode: Filesystem volumeMode: Filesystem
youtube: youtube:
claimName: claimName: ""
redis: redis:
image: image:
repository: redis/redis-stack-server repository: redis/redis-stack-server
@@ -48,17 +48,17 @@ redis:
loadmodule /opt/redis-stack/lib/rejson.so loadmodule /opt/redis-stack/lib/rejson.so
elasticsearch: elasticsearch:
global: global:
storageClass: default storageClass: ""
extraEnvVars: extraEnvVars:
- name: "discovery.type" - name: "discovery.type"
value: "single-node" value: "single-node"
- name: xpack.security.enabled - name: xpack.security.enabled
value: "true" value: "true"
extraEnvVarsSecret: extraEnvVarsSecret: []
extraConfig: extraConfig:
path: path:
repo: /usr/share/elasticsearch/data/snapshot repo: /usr/share/elasticsearch/data/snapshot
extraVolumes: extraVolumes: []
extraVolumeMounts: extraVolumeMounts:
- name: snapshot - name: snapshot
mountPath: /usr/share/elasticsearch/data/snapshot mountPath: /usr/share/elasticsearch/data/snapshot