Commit graph

1599 commits

Author SHA1 Message Date
fbcf26656e
fix compile warning 2026-02-15 12:38:27 -06:00
FluxCD
eb26f704a4 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771180511-cbf0fa7 [skip ci] 2026-02-15 18:37:40 +00:00
cbf0fa74ac
add insight worker cron jobs to dev config 2026-02-15 12:34:41 -06:00
FluxCD
1d7eff6afd chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771180131-91dd7ad [skip ci] 2026-02-15 18:32:38 +00:00
FluxCD
a8195038dc chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771179864-74332e2 [skip ci] 2026-02-15 18:28:38 +00:00
91dd7ad985
fix: allow site_id on device create regardless of use_sites setting
The API was silently stripping site_id when use_sites was false, causing
the Terraform provider to report inconsistent state after apply.
2026-02-15 12:28:06 -06:00
74332e2203
fix: Gaiia and Preseem sync bugs from API response mismatches
- Billing subscription and inventory item status fields are scalars, not objects
- IP blocks use "block" key, not "subnet"
- Strip nil variables from GraphQL pagination (Gaiia returns null for after:null)
- Handle nil root keys in paginated responses gracefully
- Handle empty string response from Preseem scores endpoint
2026-02-15 12:23:47 -06:00
FluxCD
c1b7ee7b6f chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771178187-c790794 [skip ci] 2026-02-15 18:00:35 +00:00
c790794191 Fix tests, credo issues, and Gaiia sync bugs
- Fix CLOAK_KEY placeholder in nix shell (invalid base64)
- Fix error HTML test assertion to match actual template
- Fix Gaiia sync: read 'subnet' field instead of 'block' for IP blocks
- Fix Gaiia sync: extract nested status name from subscription objects
- Fix security headers tests for environment detection
- Fix mobile auth tests to use raw_token
- Fix LiveView test assertions to match actual template content
- Fix SNMP config test expectations for test environment
- Refactor: resolve all Credo complexity/nesting issues
  - Extract helper functions in NetBox sync, VISP sync, Sonar sync
  - Flatten nested conditionals in settings, integrations, alerts
  - Use with/validate_present pattern for connection testing
2026-02-15 11:55:49 -06:00
FluxCD
3675952c5e chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771168999-172b830 [skip ci] 2026-02-15 15:27:11 +00:00
172b830b6b ui: add org settings and user settings to mobile nav 2026-02-15 09:22:48 -06:00
FluxCD
258e01af28 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771168445-34fe5d7 [skip ci] 2026-02-15 15:18:09 +00:00
34fe5d7e49 Security fixes: mask credentials in logs/API, fix cookie/CSP/LIKE injection/webhooks
CRITICAL fixes:
- Mask SNMP community string in agent channel logs (CRITICAL-1)
- Remove snmpv3 passwords from REST API responses, return _set booleans (CRITICAL-2)
- Replace snmp_community with snmp_community_set in GraphQL type (CRITICAL-3)

HIGH fixes:
- Fix cookie same_site from invalid 'Towerops' to 'Lax' (HIGH-4)
- Remove unsafe-eval from CSP script-src (HIGH-6)
- Block GraphQL introspection queries in production (HIGH-7)
- Sanitize LIKE wildcards in SNMP device name search (HIGH-8)
- Reject webhooks when no secret configured instead of accepting (HIGH-9)

MEDIUM fixes:
- Hash mobile session tokens (SHA-256) before DB storage (MEDIUM-10)
- Apply security headers in all environments, not just prod (MEDIUM-14)
- Add GraphQL query complexity limit (500) in production (MEDIUM-16)
- Fix X-Frame-Options to DENY to match frame-ancestors 'none' (MEDIUM-13)
2026-02-15 09:09:04 -06:00
FluxCD
51d31d4b7b chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771167438-669dec5 [skip ci] 2026-02-15 15:01:06 +00:00
669dec5d89 proto: sync agent.proto with towerops-agent
- Add transport field to SnmpDevice and SnmpConfig
- Add arch field to AgentHeartbeat (already in .pb.ex)
- Add Check, CheckResult, CheckList messages for service checks (HTTP/TCP/DNS)
- Add checks field to AgentConfig
- Add CheckResult to Metric oneof
- Sync proto source with compiled .pb.ex
2026-02-15 08:56:48 -06:00
FluxCD
221be57592 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771166947-555a09d [skip ci] 2026-02-15 14:53:04 +00:00
555a09d34b ui: remove flash message on password generation 2026-02-15 08:48:36 -06:00
FluxCD
d4e8e4a16c chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771166522-d857a38 [skip ci] 2026-02-15 14:45:03 +00:00
FluxCD
84e09021fc chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771165677-d857a38 [skip ci] 2026-02-15 14:42:46 +00:00
d857a38ca3 feat: group integrations by category with exclusive billing provider selection
Billing (Gaiia, Sonar, Splynx, VISP) - choose one
QoE Monitoring (Preseem)
Incident Management (PagerDuty)
Infrastructure & IPAM (NetBox)

Prevents enabling multiple billing providers simultaneously.
2026-02-15 08:27:27 -06:00
FluxCD
fd6d4a8394 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771165412-ff5bd6b [skip ci] 2026-02-15 14:26:01 +00:00
FluxCD
ff5bd6b0f4 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771165227-e97e5d1 2026-02-15 14:23:03 +00:00
FluxCD
e97e5d17f3 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771165047-46f31e1 2026-02-15 14:19:59 +00:00
d9b85b18d3 fix: add [skip ci] to flux image update commits to break CI loop 2026-02-15 08:18:06 -06:00
FluxCD
46f31e1306 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771164872-5f1557e 2026-02-15 14:16:59 +00:00
FluxCD
5f1557e2d4 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771164686-18d16b3 2026-02-15 14:14:03 +00:00
FluxCD
18d16b3d6f chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771164507-94f1433 2026-02-15 14:10:58 +00:00
FluxCD
94f1433550 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771164324-75fe8d4 2026-02-15 14:07:59 +00:00
FluxCD
75fe8d48ab chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771164149-929dbb4 2026-02-15 14:04:57 +00:00
FluxCD
929dbb4a1b chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163966-d6a1be4 2026-02-15 14:02:00 +00:00
FluxCD
d6a1be47db chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163784-4e021b4 2026-02-15 13:58:57 +00:00
FluxCD
4e021b45f4 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163606-329d5b8 2026-02-15 13:55:56 +00:00
FluxCD
329d5b8a83 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163424-415a706 2026-02-15 13:52:56 +00:00
FluxCD
415a70688e chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163242-083b6a8 2026-02-15 13:49:55 +00:00
FluxCD
083b6a862e chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771163062-b0112aa 2026-02-15 13:46:53 +00:00
FluxCD
b0112aa0e3 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771162881-81415b1 2026-02-15 13:43:54 +00:00
FluxCD
81415b1f28 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771162701-ef56f86 2026-02-15 13:40:54 +00:00
FluxCD
ef56f86f61 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771162521-d5120fb 2026-02-15 13:37:52 +00:00
FluxCD
d5120fbf84 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771162340-0da5774 2026-02-15 13:34:51 +00:00
FluxCD
0da57747a0 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771162157-9cab6e3 2026-02-15 13:31:52 +00:00
FluxCD
9cab6e33ba chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161977-060c856 2026-02-15 13:28:50 +00:00
FluxCD
060c8567a0 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161798-c2340bc 2026-02-15 13:25:50 +00:00
FluxCD
c2340bc0d9 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161619-72df87e 2026-02-15 13:22:49 +00:00
FluxCD
72df87ece7 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161436-37e1004 2026-02-15 13:19:50 +00:00
FluxCD
37e100412c chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161259-e14b3d7 2026-02-15 13:16:48 +00:00
FluxCD
e14b3d78d8 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771161075-2be3e79 2026-02-15 13:13:49 +00:00
FluxCD
2be3e79c1c chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771160897-2373be5 2026-02-15 13:10:47 +00:00
FluxCD
2373be5417 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771160718-02d7086 2026-02-15 13:07:47 +00:00
FluxCD
02d7086d76 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771160532-fa22480 2026-02-15 13:04:47 +00:00
FluxCD
fa2248050e chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771160354-aa343e4 2026-02-15 13:01:45 +00:00