Files
homelab/cluster/applications/signal-cli/deployment.yaml
Hermes Agent service account 653a923fa8 fix(signal-cli): use asamk/signal-cli official image with correct paths
- Switch from non-existent GitLab registry image to official asamk/signal-cli:v0.14.5
- Maintain data path at /home/.local/share/signal-cli (where data was copied from astro-orbiter)
- Remove unnecessary command override, let entrypoint handle signal-cli execution
2026-06-17 23:06:18 -05:00

67 lines
1.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: signal-cli-rest-api
namespace: connections
labels:
app.kubernetes.io/name: signal-cli-rest-api
app.kubernetes.io/component: messaging-gateway
app.kubernetes.io/version: "0.85" # Pin version initially
spec:
replicas: 1 # MUST be 1 - signal-cli state is not multi-instance safe
strategy:
type: Recreate # Avoid PVC split-brain during updates
selector:
matchLabels:
app.kubernetes.io/name: signal-cli-rest-api
template:
metadata:
labels:
app.kubernetes.io/name: signal-cli-rest-api
spec:
hostNetwork: true # Use host network for Signal WebSocket connectivity
containers:
- name: signal-cli
image: asamk/signal-cli:v0.14.5
imagePullPolicy: IfNotPresent
args:
- "--config"
- "/home/.local/share/signal-cli"
- "--account"
- "+126****8840"
- "daemon"
- "--http"
- "0.0.0.0:8080"
ports:
- containerPort: 8080
name: http
protocol: TCP
volumeMounts:
- name: signal-data
mountPath: /home/.local/share/signal-cli
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 2
volumes:
- name: signal-data
persistentVolumeClaim:
claimName: signal-cli-data