towerops/lib/towerops_web
Graham McIntire c7df6a8569
Add CI-triggered mass agent update webhook
POST /api/v1/webhooks/agent-release triggers all connected agents
to self-update via their existing WebSocket channels. Authenticated
with a shared secret (AGENT_WEBHOOK_SECRET env var).

- Add ReleaseChecker.invalidate_cache/0 for fresh GitHub fetch
- Add Agents.list_updatable_agents/0 (enabled + seen < 10min)
- Add Agents.broadcast_mass_update/0 orchestration function
- Add WebhookAuth plug with timing-safe secret comparison
- Add AgentReleaseWebhookController with :webhook pipeline
- Configure AGENT_WEBHOOK_SECRET in dev/test/runtime configs
2026-02-10 13:40:32 -06:00
..
channels Add backward compatibility for PING results from older agents 2026-02-10 13:18:40 -06:00
components Live-ticking relative timestamps on agents page 2026-02-10 10:24:21 -06:00
controllers Add CI-triggered mass agent update webhook 2026-02-10 13:40:32 -06:00
helpers more tests and fixes 2026-02-07 11:50:18 -06:00
live Add agent restart and self-update commands 2026-02-10 13:06:10 -06:00
plugs Add CI-triggered mass agent update webhook 2026-02-10 13:40:32 -06:00
endpoint.ex fix: improve agent polling and SNMP testing 2026-02-05 12:34:28 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
gettext_helpers.ex feat: migrate email templates to gettext (Phase 2 - Emails) 2026-02-02 09:48:30 -06:00
permissions.ex handle mikrotik ssh 2026-02-02 16:42:18 -06:00
plug_exceptions.ex handle exceptions gracefully on api endpoints 2026-02-04 12:18:14 -06:00
router.ex Add CI-triggered mass agent update webhook 2026-02-10 13:40:32 -06:00
telemetry.ex fix: add Oban config to dev.exs and replace Exq telemetry with Oban 2026-01-24 16:39:45 -06:00
user_auth.ex test fixes 2026-02-09 15:30:52 -06:00