feat(signal-cli): switch to native signal-cli daemon with JSON-RPC HTTP endpoint

- Replace bbernhard/signal-cli-rest-api wrapper with native signal-cli 0.14.5
- Run signal-cli daemon in HTTP mode matching astro-orbiter working config
- Expose JSON-RPC API at /api/v1/rpc for Hermes gateway compatibility
- Switch health probes from HTTP /v1/health to TCP port check
- Maintain existing PVC mount path /home/.local/share/signal-cli

This fixes the missing /api/v1/rpc endpoint that Hermes requires for
Signal message delivery.
This commit is contained in:
Hermes Agent service account
2026-06-17 23:03:35 -05:00
parent 28a653b203
commit 13c819e66c

View File

@@ -21,16 +21,22 @@ spec:
spec:
hostNetwork: true # Use host network for Signal WebSocket connectivity
containers:
- name: signal-cli-rest-api
image: bbernhard/signal-cli-rest-api:latest # Using latest to match astro-orbiter signal-cli 0.14.3
- name: signal-cli
image: registry.gitlab.com/packaging/signal-cli/signal-cli-native:v0.14.5
imagePullPolicy: IfNotPresent
command: ["/usr/bin/signal-cli"]
args:
- "--config"
- "/home/.local/share/signal-cli"
- "--account"
- "+126****8840"
- "daemon"
- "--http"
- "0.0.0.0:8080"
ports:
- containerPort: 8080
name: http
protocol: TCP
env:
- name: MODE
value: "json-rpc" # json-rpc mode for API compatibility
volumeMounts:
- name: signal-data
mountPath: /home/.local/share/signal-cli
@@ -42,16 +48,14 @@ spec:
memory: "512Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /v1/health
tcpSocket:
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet:
path: /v1/health
tcpSocket:
port: 8080
initialDelaySeconds: 10
periodSeconds: 5