diff --git a/manifests/matrix_chart/matrix_chart.yaml b/manifests/matrix_chart/matrix_chart.yaml index 9ebf733..7f265a0 100644 --- a/manifests/matrix_chart/matrix_chart.yaml +++ b/manifests/matrix_chart/matrix_chart.yaml @@ -489,6 +489,9 @@ spec: - name: mautrix-whatsapp-registration mountPath: /data/mautrix-whatsapp-registration.yaml subPath: registration.yaml + - name: mautrix-signal-registration + mountPath: /data/mautrix-signal-registration.yaml + subPath: registration.yaml - name: synapse-config-logging mountPath: /data/matrix.cluster.fun.log.config subPath: matrix.cluster.fun.log.config @@ -535,6 +538,9 @@ spec: - name: mautrix-whatsapp-registration secret: secretName: mautrix-whatsapp-registration + - name: mautrix-signal-registration + secret: + secretName: mautrix-signal-registration - name: signing-key persistentVolumeClaim: claimName: chat-matrix-signing-key diff --git a/manifests/matrix_chart/signal_bridge.yaml b/manifests/matrix_chart/signal_bridge.yaml new file mode 100644 index 0000000..32e4f42 --- /dev/null +++ b/manifests/matrix_chart/signal_bridge.yaml @@ -0,0 +1,143 @@ +apiVersion: v1 +kind: Secret +metadata: + name: mautrix-signal-registration + namespace: chat + annotations: + kube-1password: z6tylu2br724gttcpfyi5egaui + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: registration.yaml + labels: + app.kubernetes.io/name: "mautrix-signal" + component: registration +type: Opaque + +--- + +apiVersion: v1 +kind: Secret +metadata: + name: mautrix-signal-config + namespace: chat + annotations: + kube-1password: 5vfaorcudozlq4clkzgmzzszqe + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: config.yaml + labels: + app.kubernetes.io/name: "mautrix-signal" + component: config +type: Opaque + +--- + +apiVersion: v1 +kind: Service +metadata: + name: mautrix-signal + namespace: chat + labels: + app.kubernetes.io/name: mautrix-signal + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/metrics" + prometheus.io/port: "9000" +spec: + type: ClusterIP + ports: + - port: 29318 + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: mautrix-signal + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mautrix-signal + labels: + app.kubernetes.io/name: mautrix-signal +spec: + revisionHistoryLimit: 3 + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/name: mautrix-signal + template: + metadata: + labels: + app.kubernetes.io/name: mautrix-signal + spec: + serviceAccountName: default + automountServiceAccountToken: true + dnsPolicy: ClusterFirst + enableServiceLinks: true + initContainers: + - name: config-copy + image: bash:latest + imagePullPolicy: IfNotPresent + args: + - -c + - | + cp /secrets/* /data/ + volumeMounts: + - name: mautrix-signal-config + mountPath: /secrets/config.yaml + subPath: config.yaml + - name: mautrix-signal-registration + mountPath: /secrets/registration.yaml + subPath: registration.yaml + - name: data + mountPath: /data + containers: + - name: mautrix-signal + image: "dock.mau.dev/mautrix/signal:v0.3.0" + imagePullPolicy: IfNotPresent + env: + - name: "TZ" + value: "UTC" + ports: + - name: http + containerPort: 29318 + protocol: TCP + - name: metrics + containerPort: 9000 + protocol: TCP + volumeMounts: + - name: data + mountPath: /data + livenessProbe: + tcpSocket: + port: 29318 + initialDelaySeconds: 0 + failureThreshold: 3 + timeoutSeconds: 1 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 29318 + initialDelaySeconds: 0 + failureThreshold: 3 + timeoutSeconds: 1 + periodSeconds: 10 + startupProbe: + tcpSocket: + port: 29318 + initialDelaySeconds: 0 + failureThreshold: 30 + timeoutSeconds: 1 + periodSeconds: 5 + volumes: + - name: data + emptyDir: {} + - name: mautrix-signal-config + secret: + secretName: mautrix-signal-config + - name: mautrix-signal-registration + secret: + secretName: mautrix-signal-registration +---