Commit graph

1225 commits

Author SHA1 Message Date
FluxCD
7c9d014c6b chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771096497-ecfa150 2026-02-14 19:17:35 +00:00
FluxCD
ecfa1500ec chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771096328-99da7e0 2026-02-14 19:14:33 +00:00
FluxCD
99da7e0299 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771096058-5df5c97 2026-02-14 19:11:33 +00:00
FluxCD
933cb7fc5f chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771095731-cb0c6e7 2026-02-14 19:08:24 +00:00
5df5c97c45 feat: add geographic location to sites with geocoding, address fields, and Leaflet.js network map 2026-02-14 13:07:14 -06:00
2ea849d622 feat: add developer and product links to marketing footer 2026-02-14 13:07:14 -06:00
74f112642d feat: make network insights actionable with affected device links and metadata 2026-02-14 13:07:14 -06:00
3284f0bce6 fix: increase walker concurrent test timeout, prefix unused vars, add heex to dialyzer ignore 2026-02-14 13:07:14 -06:00
FluxCD
cb0c6e79fb chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771095546-66ea0e2 2026-02-14 19:01:44 +00:00
FluxCD
66ea0e256b chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771095367-61dfe82 2026-02-14 18:58:42 +00:00
FluxCD
61dfe82ca9 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771095194-d26a070 2026-02-14 18:55:44 +00:00
FluxCD
d26a0701cb chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771094551-f837178 2026-02-14 18:52:49 +00:00
FluxCD
f8371783cf chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771094368-530bf01 2026-02-14 18:42:07 +00:00
FluxCD
530bf01bba chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771094191-9f0211f 2026-02-14 18:39:04 +00:00
FluxCD
9f0211f140 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771094000-c59a852 2026-02-14 18:36:07 +00:00
c59a852e22
fix: resolve typing violation and ETS cache race in tests
- Use pattern match assertion in towerops_native_test to satisfy type checker
- Clear ETS whitelist cache in brute_force_test setup to prevent cross-test leakage
2026-02-14 12:32:43 -06:00
146f5745cf
fix: resolve compilation errors, test failures, and credo issues
- Escape HEEx template braces in GraphQL/API docs with raw(~S[...])
- Fix test assertions for updated marketing copy and UI text
- Extract helper functions in GraphQL resolvers to reduce nesting depth
- Create shared ErrorHelpers module for API controllers
- Fix ETS race condition in brute force whitelist cache for async tests
- Fix property test generators to use ASCII instead of printable unicode
- Add alert_severity helper to site_live/show
- Update accounts fixtures for explicit user confirmation
2026-02-14 12:23:10 -06:00
FluxCD
ed7542b94a chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771090131-e9e1a29 2026-02-14 17:31:28 +00:00
eb76f9475e feat: add GraphQL API with Absinthe, full schema, resolvers, and documentation 2026-02-14 11:28:57 -06:00
59a786d8de docs: add API documentation for all new endpoints 2026-02-14 11:28:57 -06:00
9d437a8119 ux: improve PagerDuty integration clarity
- Replace terse helper text with step-by-step setup guide in config form
- Add what-gets-synced breakdown when PagerDuty is enabled
- Clear visual hierarchy with numbered steps and inline callout
2026-02-14 11:28:57 -06:00
bb4ff232e3 feat: add PagerDuty Events API v2 integration with 2-way alert sync 2026-02-14 11:28:57 -06:00
a8339797fa feat: expand REST API with alerts, agents, org settings, members, integrations, metrics, activity endpoints 2026-02-14 11:28:57 -06:00
685e131cb9 copy: emphasize 'first 10 devices always free' across marketing page 2026-02-14 11:28:57 -06:00
75f64d0109 docs: add concrete docker-compose example to remote pollers help section
Show the actual docker-compose.yml with agent + watchtower setup.
Emphasize lightweight nature and auto-updates.
2026-02-14 11:28:57 -06:00
ab6968eb50 copy: 'You have LibreNMS' instead of 'You've got' 2026-02-14 11:28:57 -06:00
301c3c1803 fix: simplify pricing to single plan — 10 free devices, $3/device/month after
All features available to everyone. No tiered plans.
2026-02-14 11:28:57 -06:00
2c45b09588 fix: remove business plan, change pro CTA to 'get started free' 2026-02-14 11:28:57 -06:00
cd6fe453a5 fix: use hi@towerops.net consistently (was hello@ on home page) 2026-02-14 11:28:57 -06:00
f326eb5dd4 feat: require email verification before first login
- Remove auto-confirmation on registration (register_user and register_user_with_organization)
- Add deliver_user_confirmation_instructions/2 and confirm_user/1 to Accounts context
- Add verify_email_token_query/2 and by_user_and_contexts_query/2 to UserToken
- Make deliver_confirmation_email public in UserNotifier
- Send confirmation email after registration in both flows
- Block unconfirmed users at password login with helpful message
- Add UserConfirmationController with confirm/resend routes
- Add resend confirmation link to login page
- Update test fixtures to confirm users after registration
2026-02-14 11:28:57 -06:00
b897330a7e docs: add integrations and org settings sections to in-app help page 2026-02-14 11:28:57 -06:00
397271ce03 docs: update nix guide for TimescaleDB, add org settings and device monitoring docs
- nix.md: TimescaleDB now enabled for both dev and test databases
- nix.md: added troubleshooting section for TimescaleDB reinitialization
- New: docs/features/organization-settings.md (tabbed interface, all tabs documented)
- New: docs/features/device-monitoring.md (schema field reference, activity feed fields, SNMP socket management)
2026-02-14 11:28:57 -06:00
6d8c3f932b test: add stream_data property tests for org settings and integrations
- Organization changeset: name length, SNMP port range, version enum, SNMPv3 fields
- Integration changeset: sync interval validation, provider enum
- Settings LiveView: tab routing with garbage params, arbitrary name/port/community input
- All capped at max_runs: 10-50 for fast execution
2026-02-14 11:28:57 -06:00
dbed25b366 test: add stream_data property-based tests for org settings 2026-02-14 11:28:57 -06:00
95ce9ad06d refactor: org settings into tabbed interface with integrations 2026-02-14 11:28:57 -06:00
6fd643a380 feat: add TimescaleDB to nix dev shell
- Use postgresql_16.withPackages to include timescaledb extension
- Add shared_preload_libraries to PostgreSQL config
- Enable TimescaleDB for both dev and test databases
- Disable TimescaleDB telemetry in dev
2026-02-14 11:28:57 -06:00
FluxCD
e9e1a29684 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089953-61cfd3c 2026-02-14 17:28:25 +00:00
FluxCD
61cfd3c0d3 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089769-d9de116 2026-02-14 17:25:29 +00:00
FluxCD
d9de116a7e chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089591-661ed97 2026-02-14 17:22:27 +00:00
FluxCD
661ed97622 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089406-67a0b10 2026-02-14 17:19:27 +00:00
FluxCD
67a0b10ea5 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089224-e8449f6 2026-02-14 17:16:24 +00:00
FluxCD
e8449f67e5 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771089049-3e5dce3 2026-02-14 17:13:23 +00:00
FluxCD
3e5dce35a0 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771088871-4e2910a 2026-02-14 17:10:24 +00:00
FluxCD
4e2910a1b2 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771088688-dd25098 2026-02-14 17:07:23 +00:00
b47b00d9e0
fix: exclude cert-manager and traefik resources from FluxCD kustomization
These CRDs are not available for FluxCD dry-run validation, causing the
kustomization to fail. Apply certificate.yaml and ingressroute.yaml
manually instead.
2026-02-14 11:05:20 -06:00
FluxCD
dd250980ea chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771088502-3a9fffe 2026-02-14 17:04:25 +00:00
FluxCD
3a9fffe147 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771088322-7464376 2026-02-14 17:01:20 +00:00
FluxCD
746437644b chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771088140-0c99535 2026-02-14 16:58:16 +00:00
FluxCD
0c99535682 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771087964-d16bee5 2026-02-14 16:55:16 +00:00
FluxCD
d16bee59d8 chore: update towerops image to git.mcintire.me/graham/towerops-web:main-1771086677-8d00a04 2026-02-14 16:52:18 +00:00