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.11.2" 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 ---