Automated Manifest Update (#2484)

This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow.

Reviewed-on: #2484
Co-authored-by: gitea-bot <gitea-bot@alexlebens.net>
Co-committed-by: gitea-bot <gitea-bot@alexlebens.net>
This commit was merged in pull request #2484.
This commit is contained in:
2025-12-13 18:39:09 +00:00
committed by Alex Lebens
parent bb7df109b5
commit c352b478a8
8 changed files with 206 additions and 2 deletions

View File

@@ -30,4 +30,4 @@ data:
root:
level: INFO
handlers: [console]
homeserver.yaml: "# NOTE:\n# Secrets are stored in separate configs to better fit K8s concepts\n\n## Server ##\n\nserver_name: \"alexlebens.dev\"\npublic_baseurl: \"https://matrix.alexlebens.dev\"\npid_file: /homeserver.pid\nweb_client: False\nsoft_file_limit: 0\nlog_config: \"/synapse/config/log.yaml\"\nreport_stats: false\n\ninstance_map:\n main:\n host: matrix-synapse-replication\n port: 9093\n\n## Ports ##\n\nlisteners:\n - port: 8008\n tls: false\n bind_addresses: [\"::\"]\n type: http\n x_forwarded: true\n\n resources:\n - names: \n - client\n - federation\n compress: false\n\n - port: 9090\n tls: false\n bind_addresses: [\"::\"]\n type: http\n\n resources:\n - names: [metrics]\n compress: false\n\n - port: 9093\n tls: false\n bind_addresses: [\"::\"]\n type: http\n\n resources:\n - names: [replication]\n compress: false\n\n## Files ##\n\nmedia_store_path: \"/synapse/data/media\"\nuploads_path: \"/synapse/data/uploads\"\n\n## Registration ##\n\nenable_registration: true\n\n## Metrics ###\n\nenable_metrics: true\n\n## Signing Keys ##\n\nsigning_key_path: \"/synapse/keys/signing.key\"\n\n# The trusted servers to download signing keys from.\ntrusted_key_servers:\n []\n\n## Workers ##\n\n## Extra config ##\n\napp_service_config_files:\n- /synapse/config/conf.d/hookshot-registration.yaml\n- /synapse/config/conf.d/double-puppet-registration.yaml\nenable_metrics: true\nenable_registration_without_verification: true\nexperimental_features:\n msc2409_to_device_messages_enabled: true\n msc3202_device_masquerading: true\n msc3202_transaction_extensions: true\npassword_config:\n enabled: false\nsso:\n client_whitelist:\n - https://chat.alexlebens.dev/\n update_profile_information: true\n"
homeserver.yaml: "# NOTE:\n# Secrets are stored in separate configs to better fit K8s concepts\n\n## Server ##\n\nserver_name: \"alexlebens.dev\"\npublic_baseurl: \"https://matrix.alexlebens.dev\"\npid_file: /homeserver.pid\nweb_client: False\nsoft_file_limit: 0\nlog_config: \"/synapse/config/log.yaml\"\nreport_stats: false\n\ninstance_map:\n main:\n host: matrix-synapse-replication\n port: 9093\n\n## Ports ##\n\nlisteners:\n - port: 8008\n tls: false\n bind_addresses: [\"::\"]\n type: http\n x_forwarded: true\n\n resources:\n - names: \n - client\n - federation\n compress: false\n\n - port: 9090\n tls: false\n bind_addresses: [\"::\"]\n type: http\n\n resources:\n - names: [metrics]\n compress: false\n\n - port: 9093\n tls: false\n bind_addresses: [\"::\"]\n type: http\n\n resources:\n - names: [replication]\n compress: false\n\n## Files ##\n\nmedia_store_path: \"/synapse/data/media\"\nuploads_path: \"/synapse/data/uploads\"\n\n## Registration ##\n\nenable_registration: true\n\n## Metrics ###\n\nenable_metrics: true\n\n## Signing Keys ##\n\nsigning_key_path: \"/synapse/keys/signing.key\"\n\n# The trusted servers to download signing keys from.\ntrusted_key_servers:\n []\n\n## Workers ##\n\n## Extra config ##\n\napp_service_config_files:\n- /synapse/config/conf.d/hookshot-registration.yaml\n- /synapse/config/conf.d/double-puppet-registration.yaml\n- /synapse/config/conf.d/mautrix-whatsapp-registration.yaml\nenable_metrics: true\nenable_registration_without_verification: true\nexperimental_features:\n msc2409_to_device_messages_enabled: true\n msc3202_device_masquerading: true\n msc3202_transaction_extensions: true\npassword_config:\n enabled: false\nsso:\n client_whitelist:\n - https://chat.alexlebens.dev/\n update_profile_information: true\n"

View File

@@ -0,0 +1,14 @@
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: matrix-synapse-postgresql-18-cluster-mautrix-whatsapp-database
namespace: matrix-synapse
labels:
app.kubernetes.io/name: matrix-synapse-postgresql-18-cluster-mautrix-whatsapp-database
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: matrix-synapse
spec:
cluster:
name: matrix-synapse-postgresql-18-cluster
name: mautrix-whatsapp
owner: app

View File

@@ -21,7 +21,7 @@ spec:
template:
metadata:
annotations:
checksum/config: 5cdcaa22281b3795ff0c638e0d23230afa08e6766e14428967437e6dbc79c65a
checksum/config: dd867cbb882daaa24b433564e5063ecb025704d60f6cfbaad99d07e1a44e5c25
checksum/secrets: 77c25644da166bfcea38f650cda8968f95f472cde7bd328de2f211ded12b73d0
labels:
app.kubernetes.io/name: matrix-synapse
@@ -124,6 +124,10 @@ spec:
name: matrix-hookshot-config-secret
readOnly: true
subPath: hookshot-registration.yaml
- mountPath: /synapse/config/conf.d/mautrix-whatsapp-registration.yaml
name: mautrix-whatsapp-config-secret
readOnly: true
subPath: mautrix-whatsapp-registration.yaml
- mountPath: /synapse/config/conf.d/double-puppet-registration.yaml
name: double-puppet-registration-secret
readOnly: true
@@ -158,6 +162,9 @@ spec:
- name: matrix-hookshot-config-secret
secret:
secretName: matrix-hookshot-config-secret
- name: mautrix-whatsapp-config-secret
secret:
secretName: mautrix-whatsapp-config-secret
- name: double-puppet-registration-secret
secret:
secretName: double-puppet-registration-secret

View File

@@ -0,0 +1,28 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: mautrix-whatsapp-config-secret
namespace: matrix-synapse
labels:
app.kubernetes.io/name: mautrix-whatsapp-config-secret
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/part-of: matrix-synapse
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: config.yaml
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/matrix-synapse/mautrix-whatsapp
metadataPolicy: None
property: config
- secretKey: mautrix-whatsapp-registration.yaml
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/matrix-synapse/mautrix-whatsapp
metadataPolicy: None
property: registration

View File

@@ -0,0 +1,54 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: mautrix-whatsapp-data-backup-secret
namespace: matrix-synapse
labels:
app.kubernetes.io/name: matrix-synapse
app.kubernetes.io/instance: matrix-synapse
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
target:
template:
mergePolicy: Merge
engineVersion: v2
data:
RESTIC_REPOSITORY: "{{ .BUCKET_ENDPOINT }}/matrix-synapse/mautrix-whatsapp-data"
data:
- secretKey: BUCKET_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/volsync/restic/config
metadataPolicy: None
property: S3_BUCKET_ENDPOINT
- secretKey: RESTIC_PASSWORD
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/volsync/restic/config
metadataPolicy: None
property: RESTIC_PASSWORD
- secretKey: AWS_DEFAULT_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/volsync/restic/config
metadataPolicy: None
property: AWS_DEFAULT_REGION
- secretKey: AWS_ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /digital-ocean/home-infra/volsync-backups
metadataPolicy: None
property: access_key
- secretKey: AWS_SECRET_ACCESS_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /digital-ocean/home-infra/volsync-backups
metadataPolicy: None
property: secret_key

View File

@@ -0,0 +1,19 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mautrix-whatsapp
labels:
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: mautrix-whatsapp
helm.sh/chart: mautrix-whatsapp-4.5.0
annotations:
helm.sh/resource-policy: keep
namespace: matrix-synapse
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "500Mi"
storageClassName: "ceph-block"

View File

@@ -0,0 +1,22 @@
apiVersion: v1
kind: Service
metadata:
name: mautrix-whatsapp
labels:
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: mautrix-whatsapp
app.kubernetes.io/service: mautrix-whatsapp
helm.sh/chart: mautrix-whatsapp-4.5.0
namespace: matrix-synapse
spec:
type: ClusterIP
ports:
- port: 29318
targetPort: 29318
protocol: TCP
name: http
selector:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/name: mautrix-whatsapp

View File

@@ -0,0 +1,60 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mautrix-whatsapp
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: mautrix-whatsapp
helm.sh/chart: mautrix-whatsapp-4.5.0
namespace: matrix-synapse
spec:
revisionHistoryLimit: 3
replicas: 1
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
selector:
matchLabels:
app.kubernetes.io/controller: main
app.kubernetes.io/name: mautrix-whatsapp
app.kubernetes.io/instance: matrix-synapse
serviceName: mautrix-whatsapp
template:
metadata:
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: matrix-synapse
app.kubernetes.io/name: mautrix-whatsapp
spec:
enableServiceLinks: false
serviceAccountName: default
automountServiceAccountToken: true
hostIPC: false
hostNetwork: false
hostPID: false
dnsPolicy: ClusterFirst
containers:
- image: dock.mau.dev/mautrix/whatsapp:v0.2511.0
imagePullPolicy: IfNotPresent
name: main
resources:
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- mountPath: /data/config.yaml
mountPropagation: None
name: config
readOnly: true
subPath: config.yaml
- mountPath: /data
name: data
volumes:
- name: config
secret:
secretName: mautrix-whatsapp-config-secret
- name: data
persistentVolumeClaim:
claimName: mautrix-whatsapp