redroid-mrnumber/service
Natalie c5c124faa1 feat(deploy): trigger service deploys to the redroid box (systemd), not plum (launchd)
Per the corrected .infra.yaml, the trigger service is a PROD unit that runs ON the
redroid box (next to the Android container → local adb), with plum as dev-only. Replace
the (wrong) macOS LaunchAgent with the box-native pattern, mirroring @redroid's
deploy-droplet.sh / mrnumber-ocr.service:
- deploy/mr-number-service.service: systemd unit (multi-user.target, EnvironmentFile for
  tokens, MR_NUMBER_DEVICE=localhost:5555, __BUN__ resolved at deploy time).
- deploy/deploy-service.sh: prereq-checks the box (bun/python3/redroid_client/adb), scp's
  service+client to /opt/mr-number-service, installs the unit, seeds a 0600 env template,
  enables only once tokens are filled (no crashloop). Does NOT mint tokens.
- service/run: drop launchd installer; plain dev launcher (loads cocotte-secrets).
- install.sh: plum = dev setup only; points prod at deploy-service.sh.
- CLAUDE.md/README: box-deploy ownership split (@redroid owns the box; we own our unit).

Syntax-checked; box SSH (:22) unreachable from this env so not yet run against the box.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 17:19:40 -04:00
..
bun.lock chore(service): commit bun.lock 2026-06-29 13:58:19 -04:00
config.ts feat(service): inbound trigger service — POST /api/screening/requests + durable queue + worker 2026-06-29 13:57:54 -04:00
index.ts fix(security): harden trigger service against argv flag smuggling via ref 2026-06-29 14:04:26 -04:00
package.json feat(service): inbound trigger service — POST /api/screening/requests + durable queue + worker 2026-06-29 13:57:54 -04:00
queue.test.ts feat(service): inbound trigger service — POST /api/screening/requests + durable queue + worker 2026-06-29 13:57:54 -04:00
queue.ts feat(service): inbound trigger service — POST /api/screening/requests + durable queue + worker 2026-06-29 13:57:54 -04:00
run feat(deploy): trigger service deploys to the redroid box (systemd), not plum (launchd) 2026-06-29 17:19:40 -04:00
tsconfig.json feat(service): inbound trigger service — POST /api/screening/requests + durable queue + worker 2026-06-29 13:57:54 -04:00
validate.test.ts fix(security): harden trigger service against argv flag smuggling via ref 2026-06-29 14:04:26 -04:00
validate.ts fix(security): harden trigger service against argv flag smuggling via ref 2026-06-29 14:04:26 -04:00
worker.ts fix(security): harden trigger service against argv flag smuggling via ref 2026-06-29 14:04:26 -04:00