update changelogs for gaiia integration

This commit is contained in:
Graham McIntire 2026-02-13 13:29:54 -06:00
parent 55382a7ec6
commit ee277a457e
No known key found for this signature in database
2 changed files with 35 additions and 0 deletions

View file

@ -1,4 +1,30 @@
2026-02-13
feat: complete gaiia integration (stages 3-7)
- Stage 3: Webhook listener for real-time Gaiia events
- POST /api/v1/webhooks/gaiia/:organization_id
- HMAC-SHA256 per-org signature verification
- Handles account.*, billing_subscription.*, inventory_item.* events
- Files: lib/towerops/gaiia/webhooks.ex, lib/towerops_web/controllers/api/v1/gaiia_webhook_controller.ex
- Stage 4: Subscriber-aware device pages
- Gaiia tab on device detail showing inventory item, subscriber, billing subscriptions
- IP address mismatch indicator between Towerops and Gaiia
- Files: lib/towerops_web/live/device_live/show.ex, show.html.heex
- Stage 5: Outage impact analysis
- Two-layer analysis: device-level (inventory→subscriber) and site-level (network site→all subscribers)
- Impact auto-computed on device_down alerts, stored as JSONB on alert record
- Subscriber count and MRR badges on alert list page
- Files: lib/towerops/gaiia/impact_analysis.ex, lib/towerops/alerts.ex, lib/towerops/alerts/alert.ex
- Migration: add gaiia_impact column to alerts table
- Stage 6: Write-back actions (Towerops → Gaiia)
- Ticket creation from alerts via createExternalTicket mutation
- Subscriber notes during outages via createNote mutation
- Inventory item updates (IP, serial, MAC) via updateInventoryItem mutation
- Files: lib/towerops/gaiia/actions.ex, lib/towerops/gaiia/client.ex (mutations added)
- Stage 7: Inventory reconciliation
- Detects ghost devices, untracked devices, data mismatches, missing mappings
- Dedicated LiveView page with summary cards and tabbed discrepancy tables
- Files: lib/towerops/gaiia/reconciliation.ex, lib/towerops_web/live/org/gaiia_reconciliation_live.ex
fix: prevent agent channel graceful shutdowns from being logged as exceptions
- Changed Phoenix Channel stop reasons to use {:shutdown, reason} tuple instead
of bare atoms to signal graceful termination

View file

@ -3,6 +3,15 @@ Devices Tested & Working
* Ubiquiti AC, LTU, AirFiber
* Cambium ePMP
2026-02-13
* Gaiia billing integration - connect subscriber and billing data from Gaiia
* Real-time webhook sync keeps Gaiia data up to date as changes happen
* Subscriber context on device pages - see linked accounts, billing plans, and network site info
* Outage impact analysis - alerts now show affected subscriber count and revenue at risk
* Write-back actions - create Gaiia tickets from alerts, add subscriber notes during outages
* Inventory reconciliation - compare Gaiia inventory against discovered devices to find discrepancies
* Entity mapping UI for linking Gaiia network sites and inventory items to Towerops entities
2026-02-12
* Infrastructure as Code support - manage sites and devices using Terraform
* New unified monitoring checks system combining SNMP auto-discovery with manual service checks