cluster.fun/manifests/matrix_chart/whatsapp_bridge.yaml

144 lines
3.4 KiB
YAML

apiVersion: v1
kind: Secret
metadata:
name: mautrix-whatsapp-registration
namespace: chat
annotations:
kube-1password: x6lzkpyov4dem5jtk2kimyrnvy
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: registration.yaml
labels:
app.kubernetes.io/name: "mautrix-whatsapp"
component: registration
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:
name: mautrix-whatsapp-config
namespace: chat
annotations:
kube-1password: ji3e2el66bu56bml3kq3ghyojq
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: config.yaml
labels:
app.kubernetes.io/name: "mautrix-whatsapp"
component: config
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
name: mautrix-whatsapp
namespace: chat
labels:
app.kubernetes.io/name: mautrix-whatsapp
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-whatsapp
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mautrix-whatsapp
labels:
app.kubernetes.io/name: mautrix-whatsapp
spec:
revisionHistoryLimit: 3
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: mautrix-whatsapp
template:
metadata:
labels:
app.kubernetes.io/name: mautrix-whatsapp
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-whatsapp-config
mountPath: /secrets/config.yaml
subPath: config.yaml
- name: mautrix-whatsapp-registration
mountPath: /secrets/registration.yaml
subPath: registration.yaml
- name: data
mountPath: /data
containers:
- name: mautrix-whatsapp
image: "dock.mau.dev/mautrix/whatsapp:v0.10.7"
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-whatsapp-config
secret:
secretName: mautrix-whatsapp-config
- name: mautrix-whatsapp-registration
secret:
secretName: mautrix-whatsapp-registration
---