disinto-ops/vault/pending/disinto-caddy-ssh-key.md

30 lines
1.4 KiB
Markdown
Raw Normal View History

2026-04-14 20:18:12 +00:00
# Request: Caddy host SSH key for engagement data collection
## What
Provision a dedicated SSH keypair with `command=` restriction on the Caddy host serving disinto.ai. This key allows the edge container to fetch access logs for engagement measurement.
## Why
Blocks #745 (collect-engagement formula) and #426 (website observability).
The factory cannot make disinto.ai an observable without reading access logs from the Caddy host.
Waiting since 2026-04-14.
## Human action
1. Generate keypair: `ssh-keygen -t ed25519 -f caddy-collect -N '' -C 'disinto-collect-engagement'`
2. Install public key on Caddy host in `~/.ssh/authorized_keys` with restriction:
```
command="cat /var/log/caddy/access.log",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-ed25519 AAAA... disinto-collect-engagement
```
3. Ensure Caddy is configured for JSON structured access log format
4. Add private key as `CADDY_SSH_KEY` to `.env.vault.enc`
5. Add Caddy host address as `CADDY_HOST` to `.env.vault.enc`
6. Test: `ssh -i caddy-collect user@caddy-host` should output the access log and disconnect
## Factory will then
- Run `collect-engagement` formula daily via edge container cron
- Commit evidence JSON to `evidence/engagement/YYYY-MM-DD.json` in ops repo
- Planner uses evidence data to assess landing page effectiveness
## Unblocks
- #745 — collect-engagement formula + container script
- #426 — website observability (parent vision issue)