maubot/helm/values.yaml
2024-04-24 14:47:58 +02:00

289 lines
7.9 KiB
YAML

# Default values for maubot.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: dock.mau.dev/maubot/maubot
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: "latest"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Automatically mount a ServiceAccount's API credentials?
automount: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podLabels: {}
podSecurityContext: {}
#fsGroup: 2000
securityContext: {}
#runAsGroup: 2000
#runAsUser: 2000
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# standaloneMode port: 8080
# normalMode port: 29316
service:
type: ClusterIP
port: 29316
ingress:
enabled: false
className: "nginx"
annotations:
# standalone mode does not need 'app-root' redirect
nginx.ingress.kubernetes.io/app-root: /_matrix/maubot
#cert-manager.io/cluster-issuer: "letsencrypt-prod"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
#- secretName: maubot-tls
# hosts:
# - chart-example.local
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
livenessProbe:
httpGet:
path: /_matrix/maubot
port: http
readinessProbe:
httpGet:
path: /_matrix/maubot
port: http
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 2
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
# you want to persist a volume as plugins and their configs are stored there
# this Chart uses longhorn as default storageClass
persistence:
enabled: enabled
accessModes:
- ReadWriteMany
size: 10Gi
storageClassName:
# Additional volumes on the output Deployment definition.
volumes:
- name: maubot-data
persistentVolumeClaim:
claimName: maubot-data
- name: maubot-config
configMap:
name: "maubot-config"
defaultMode: 0660
# - name: foo
# secret:
# secretName: mysecret
# optional: false
# Additional volumeMounts on the output Deployment definition.
volumeMounts:
- name: maubot-data
mountPath: "/data"
- name: maubot-config
mountPath: "/config.yaml"
subPath: config.yaml
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
nodeSelector: {}
tolerations: []
affinity: {}
# configure either Standalone or Normal mode values
######## Standalone mode config values ########
standaloneMode:
enabled: false
configSA:
user:
# full bot mxid
id: "@bot:example.com"
# homeserver you're registering this bot at
# this is the `server_name` from your homeserver.yaml
homeserver: https://example.com
# you need to use maubot-cli to get an access token *and* device_id
# getting these from element is NOT possible as they will be bootstrapped to a client
# which makes it unusable for maubot
access_token:
device_id:
# needs to be true for almost any use case
sync: true
# Receive appservice transactions? This will add a /_matrix/app/v1/transactions endpoint on
# the HTTP server configured below. The base_path will not be applied for the /transactions path.
appservice: false
# hs_token is needed when `appservice` is true
hs_token:
autojoin: true
displayname: 'Mau Bot'
# needs to be an `mxc://` url to an existing image on a matrix server
avatar_url: mxc://maunium.net/AKwRzQkTbggfVZGEqexbYLIO
ignore_initial_sync: true
ignore_first_sync: false
server:
hostname: 0.0.0.0
port: 8080
# The public URL where the resources are available
public_url: https://example.com
# where the plugin's web resources will be served
# Unlike the normal mode,the webserver is dedicated for a single bot in standalone mode, so the default path
# is just /. If you want to emulate normal mode, set this to /_matrix/maubot/plugin/something
base_path: /
database:
# SQLite: sqlite:filename.db
# Postgres: postgresql://username:password@hostname/dbname
type: 'sqlite:bot.db'
# For sqlite, min_size is used as the connection thread pool size and max_size is ignored.
opts:
min: 10
max: 20
# for additional "plugins" aka other bots within the maubot framework
plugin_config:
has_config: false
# Who is allowed to use the bot?
whitelist:
- "@user:example.com"
# The prefix for the main command without the !
command_prefix: myBotCommand
# python logging configuration
logging:
format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"
loggers:
# DEBUG | INFO | WARN | ERROR | CRITICAL
maubot: DEBUG
mau: DEBUG
aiohttp: INFO
root:
level: DEBUG
handlers: console
######## Normal mode config values ########
normalMode:
enabled: true
configN:
# SQLite: sqlite:filename.db
# Postgres: postgresql://username:password@hostname/dbname
#
# IF SQLite is used enter plugin_database path for sqlite
database:
type: sqlite:/data/maubot.db
# For sqlite, min_size is used as the connection thread pool size and max_size is ignored.
opts:
min: 10
max: 20
# Separate database URL for the crypto database. "default" means use the same database as above.
crypto_database: default
plugin_directories:
upload: /data/plugins
load:
- /data/plugins
# set to "delete" to delete immediately
trash: /data/trash
plugin_databases:
# possible values: './plugins' OR null (default in template), but must use postgres
sqlite: /data/dbs
# possible values: 'default' (default in template) OR null
postgres:
max_conn_per_plugin: 3
# Overrides for the default database_opts when using a non-"default" postgres connection string.
postgres_opts: {}
server:
hostname: 0.0.0.0
port: 29316
public_url: https://example.com
ui_base_path: /_matrix/maubot
plugin_base_path: /_matrix/maubot/plugin/
override_resource_path: false
# The shared secret to sign API access tokens.
# Set to "generate" to generate and save a new token at startup.
unshared_secret: generate
homeservers:
server_name: matrix.org
# Client-server API URL
url: https://matrix-client.matrix.org
# registration_shared_secret from synapse config
# You can leave this empty if you don't have access to the homeserver.
# When this is empty, `mbc auth --register` won't work, but `mbc auth` (login) will.
secret: null
admins:
# leave password empty to prevent normal login
# passwords need to be bcrypt'ed https://bcrypt-generator.com
#username: "password"
api_feature:
login: true
plugin: true
plugin_upload: true
instance: true
instance_database: true
client: true
client_proxy: true
client_auth: true
dev_open: false
log: true
# python logging configuration
logging:
c_format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"
n_format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"
loggers:
# DEBUG | INFO | WARN | ERROR | CRITICAL
maubot: DEBUG
mau: DEBUG
aiohttp: INFO
root:
level: DEBUG
handlers: file,console