37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# Beszel to althing
|
|
|
|
`beszel-althing.service` runs on nh3-dev as lkraven, listening at
|
|
`10.100.10.50:8096`. Beszel sends Shoutrrr generic JSON to `/beszel`; the
|
|
bridge invokes the supported `postbox send` command with the body on stdin.
|
|
It uses the established infra-ops automation identity and sends to infra-ops.
|
|
|
|
Deploy from the repository root:
|
|
|
|
```sh
|
|
scripts/elway infra-ops@10.100.10.50 --playbook playbooks/beszel-althing.yaml
|
|
```
|
|
|
|
The service accepts requests only from ana-docker and local diagnostic
|
|
addresses. There is no public listener or new althing handle. It reports
|
|
success only after postbox returns a delivery receipt. Failures return HTTP
|
|
502 and appear in the system journal; there is no hidden retry queue. A
|
|
post-office outage can therefore lose an alert, and needs independent health
|
|
monitoring if guaranteed delivery during such outages becomes a requirement.
|
|
|
|
```sh
|
|
systemctl status beszel-althing
|
|
sudo -n journalctl -u beszel-althing --since '1 hour ago'
|
|
curl -fsS http://10.100.10.50:8096/healthz
|
|
```
|
|
|
|
`/healthz` checks the bridge process, not the downstream inbox. End-to-end
|
|
verification requires a real Beszel threshold transition plus its althing
|
|
receipt. The first verified alert is recorded in `stacks/beszel/README.md`.
|
|
|
|
To reroute later, change `BESZEL_ALERT_RECIPIENT` in the canonical unit to
|
|
`miranda`, deploy, and trigger another end-to-end test. Leave `ALTHING_HANDLE`
|
|
as infra-ops so the sender remains identifiable as infrastructure automation.
|
|
The operator explicitly chose infra-ops for now.
|
|
|
|
Run `python3 -m unittest discover -s services/beszel-althing -p 'test_*.py'`.
|