FluxCD
57c32bfc87
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771110019-f59db95
2026-02-14 23:04:21 +00:00
FluxCD
db6ac2eeb4
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771109865-d09bfb8
2026-02-14 23:00:20 +00:00
f59db9565c
Gaiia webhook: clean rewrite per exact docs, detailed logging on failure
2026-02-14 16:57:55 -06:00
FluxCD
d09bfb88eb
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771109597-2c55ab5
2026-02-14 22:57:20 +00:00
2c55ab5b77
Gaiia webhook: accept even when signature fails, log details for debugging
2026-02-14 16:52:25 -06:00
FluxCD
f395c8cea1
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771109384-08bb3d2
2026-02-14 22:52:16 +00:00
FluxCD
08bb3d238b
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771109204-acbc3be
2026-02-14 22:49:18 +00:00
FluxCD
acbc3be947
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771109026-219a22a
2026-02-14 22:46:16 +00:00
FluxCD
219a22a8af
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771108845-0b81912
2026-02-14 22:43:21 +00:00
FluxCD
0b81912f3c
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771108662-a60ba5e
2026-02-14 22:40:16 +00:00
FluxCD
a60ba5eb78
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771108431-376c9a6
2026-02-14 22:37:13 +00:00
FluxCD
376c9a6c0f
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771108150-be5fa8f
2026-02-14 22:33:22 +00:00
8f04a3f684
Fix credo: extract PagerDuty HMAC verification to reduce nesting
2026-02-14 16:31:54 -06:00
2709ab4674
Fix integration API key field: read from saved credentials like NetBox
2026-02-14 16:31:05 -06:00
b8a625005c
Fix NetBox config: show saved URL/API token when opening Configure
2026-02-14 16:29:32 -06:00
be5fa8f4d7
Gaiia webhook: proper HMAC verification per docs, optional when no header
2026-02-14 16:28:35 -06:00
FluxCD
370ee35ff7
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771107942-646a8ac
2026-02-14 22:28:13 +00:00
ba895b0ca2
Remove Gaiia webhook secret verification entirely — Gaiia has no signing mechanism
2026-02-14 16:25:56 -06:00
FluxCD
646a8accf3
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771107758-827651c
2026-02-14 22:25:15 +00:00
FluxCD
827651c5ff
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771107479-8a470a9
2026-02-14 22:22:11 +00:00
FluxCD
8a470a9324
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771107220-7a840ef
2026-02-14 22:17:13 +00:00
b8a737ddf4
Fix Gaiia: subnet -> ipRange on NetworkSiteIpBlock
2026-02-14 16:16:44 -06:00
e3c730a8e9
Fix Gaiia readable_id: coerce to string (can be integer)
2026-02-14 16:15:59 -06:00
712174cc47
Fix NetBox test connection: read URL/token from form, not just saved state
2026-02-14 16:15:59 -06:00
FluxCD
7a840ef3c0
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771106946-95d8338
2026-02-14 22:13:11 +00:00
d640fab660
Fix invite form alignment on members tab
2026-02-14 16:12:15 -06:00
b49d177b97
Fix trace page Access on Device struct, limit dashboard insights to 4
2026-02-14 16:10:52 -06:00
bcc93cc1b5
Limit dashboard insights to 4, unlock dokku
2026-02-14 16:10:52 -06:00
FluxCD
b7d07bbba9
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771106794-fb39c5b
2026-02-14 22:09:10 +00:00
95d833874a
Gaiia webhook: verify secret via query param instead of signature header
2026-02-14 16:08:27 -06:00
82dd75d2e9
Fix Gaiia webhook (no signature), sites page with table + insights
2026-02-14 16:07:26 -06:00
3049411337
Dashboard: timezone-aware timestamps, site health as table, remove dead code
2026-02-14 16:07:26 -06:00
2cbf6db8de
Dashboard redesign: tighter layout, table alerts, less wasted space
2026-02-14 16:07:26 -06:00
FluxCD
fb39c5b346
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771106614-b77619b
2026-02-14 22:06:07 +00:00
FluxCD
b77619b453
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771106434-21fd9e0
2026-02-14 22:03:07 +00:00
FluxCD
21fd9e0ff9
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771106253-f125064
2026-02-14 22:00:08 +00:00
FluxCD
f125064507
chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771105984-b7e866e
2026-02-14 21:57:05 +00:00
b7e866e560
Route BuildKit pulls through docker-mirror for caching
2026-02-14 15:50:20 -06:00
24d6a2fd44
Add Docker Hub login to CI for BuildKit rate limit avoidance
2026-02-14 15:49:17 -06:00
05cdc79124
Fix Gaiia webhook: eventName field, payload extraction, add header logging
2026-02-14 15:40:06 -06:00
4610d86043
Use docker-mirror.mcintire.me as pull-through cache for CI builds
2026-02-14 15:28:32 -06:00
ebcba70925
Fix Gaiia GraphQL: SubscriptionStatus is scalar, not object
2026-02-14 15:09:05 -06:00
a91e5f9be5
Dashboard makeover: more breathing room, cleaner layout
...
- Stat cards: 4-column grid with larger text (text-4xl) and rounded-xl
- Split stats into primary (health/uptime/devices/alerts) and secondary rows
- Main content: 2/3 + 1/3 split instead of cramped 3/5 + 2/5
- Increased gaps throughout (gap-5, gap-10, mt-10 between sections)
- Cards use rounded-xl, p-5 for more padding
- Config changes + activity in proper list layout with dividers
- Quick actions moved to bottom with separator
- Filter pills use rounded-full with stronger active state
- Removed 'Command Center' header, cleaner org name + subtitle
- Better empty states with more whitespace
2026-02-14 15:01:49 -06:00
7b72ed3164
PagerDuty two-way sync: webhook receiver for resolve/acknowledge
...
- POST /api/v1/webhooks/pagerduty/:organization_id endpoint
- HMAC-SHA256 signature verification (optional, via webhook_secret)
- incident.resolved → resolve_alert_silent (no re-notify to PagerDuty)
- incident.acknowledged → acknowledge_alert_silent (no re-notify)
- Matches alerts via dedup_key format: towerops-alert-<uuid>
- Webhook secret configurable in org settings PagerDuty panel
- Setup instructions in UI for PagerDuty Generic Webhooks (v3)
2026-02-14 14:58:58 -06:00
b1438204df
Fix Cytoscape.js crash on navigation away from network map
...
- Stop running layout before destroy to prevent async callbacks hitting null renderer
- Set wheelSensitivity to 1 (default) to suppress console warning
2026-02-14 14:53:17 -06:00
29c2039832
Auto-resolve device_up recovery alerts on creation
...
device_up alerts are informational recovery events, not ongoing issues.
Previously they were created without resolved_at, inflating the
unresolved alert count. Now they're born resolved.
Includes a data migration to fix existing stale device_up alerts.
2026-02-14 14:53:17 -06:00
06f9b7e60b
Fix format_response_time crash on non-numeric input
2026-02-14 14:53:17 -06:00
61f803afe5
Add language user setting (default: English)
2026-02-14 14:53:17 -06:00
1cfe306373
format
2026-02-14 14:52:08 -06:00
d1cd608ae9
feat: actionable insights with fix-it buttons, proper pluralization via gettext
...
- Gaiia 'not tracked' insight: Map to Gaiia inventory + View reconciliation buttons
- Gaiia 'ghost' insight: Clean up stale mappings button
- Gaiia 'mismatch' insight: Review mismatches button
- Fixed device(s) → proper ngettext pluralization
- Fixed Towerops → TowerOps capitalization
2026-02-14 14:46:19 -06:00