Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions opencode-sms-bridge/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: opencode-sms-bridge
description: Signed Twilio SMS and MMS bridge for fixed OpenCode agents
description: Signed Twilio SMS and MMS bridge for fixed primary OpenCode agents
type: application
version: 0.1.0
version: 0.1.1
appVersion: "1"
6 changes: 4 additions & 2 deletions opencode-sms-bridge/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenCode SMS bridge chart

This chart deploys the portable, single-replica `opencode-sms-bridge` Pod: a public signed-webhook ingress container and a private queue worker container. It is not a Twilio-account or cluster-integration chart.
This chart deploys the portable, single-replica `opencode-sms-bridge` Pod: a public signed-webhook ingress container and a private queue worker container. It routes each destination number to one of four existing primary OpenCode agents: `lawnmowerman`, `grillmaster`, `homesteader`, or `homerepair`. It is not a Twilio-account or cluster-integration chart.

## Ownership

Expand All @@ -12,11 +12,13 @@ The Pod uses `Recreate` because the SQLite queue/session store is intentionally

The GitOps consumer must provide these Secrets in the `opencode` namespace:

- `opencode-sms-bridge-routing` with `routing.json`, containing the Twilio account identifier, initial approved sender set, and exactly four fixed destination-to-`*-sms` agent mappings;
- `opencode-sms-bridge-routing` with `routing.json`, containing the Twilio account identifier, initial approved sender set, and exactly four fixed destination-to-primary-agent mappings: one each for `lawnmowerman`, `grillmaster`, `homesteader`, and `homerepair`;
- `opencode-sms-bridge-shared` with the webhook-validation token, Fernet state-encryption key, and independent sender-HMAC key;
- `opencode-sms-bridge-worker` with a least-privilege Twilio API Key SID/secret for outbound replies; and
- the existing `opencode-server-auth` Secret for the worker's private OpenCode HTTP request.

Only a signed request from an approved source number is queued or answered. The bridge invokes the existing primary agent IDs, so they retain their normal OpenCode permissions, MCPs, skills, and shared instructions. The source allowlist is an ingress identity gate, not standing authorization; the existing explicit-confirmation requirements govern individual mutations.

Use an immutable published image SHA in `image.tag`; `latest` is only the source-chart default and must never be selected by the GitOps consumer.

## Image and audio gates
Expand Down