Commit graph

22 commits

Author SHA1 Message Date
38375dcebb chore: migrate agent repo references from GitHub to Codeberg
Updates all docs, UI copy, release checker, proto go_package,
container image refs, and tests to point at
codeberg.org/towerops-agent/towerops-agent. Also deletes stray
empty package.json/package-lock.json (Phoenix uses esbuild — no
npm) and an unused test_encode_decode.exs scratch file.
2026-05-07 07:44:48 -05:00
495b1a75b2
Add GeoIP import HTTP tests 2026-03-10 16:02:49 -05:00
1d98cda79d
fix: configure Watchtower to only monitor agent container
Add WATCHTOWER_SCOPE=towerops environment variable to generated
docker-compose templates. This prevents Watchtower from monitoring
unrelated containers on the same Docker host (e.g., Dokku apps).

Without scope filtering, Watchtower would attempt to monitor all
containers with watchtower.enable=true label, causing warnings
for missing images and unnecessary monitoring overhead.
2026-03-06 12:38:44 -06:00
de986bddf6
Prevent Oban polling/monitoring job stacking per device
When the Oban queue backs up, the 60-second uniqueness window expires
and duplicate jobs stack up per device. Switch to period: :infinity so
only one poll/monitor job exists per device at any time. Add replace
option to supersede stale scheduled jobs with updated scheduled_at.
Remove :executing from unique states so self-scheduling works while
the current job runs. Set max_attempts: 1 since retrying stale polls
is pointless.

Also fix all credo --strict issues across the codebase.
2026-02-16 16:37:48 -06:00
866715fdcc Hide MikroTik API/SSH features from UI
Temporarily disable all MikroTik-related UI elements using false guards.
Code is preserved and can be re-enabled by removing the guards.

Hidden: org settings tab/panel, device form config section,
device show backups/timeline tabs, site form config section,
help page nav item.
2026-02-15 17:18:55 -06:00
555a09d34b ui: remove flash message on password generation 2026-02-15 08:48:36 -06:00
243b773e39 i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
a028695d3b
format 2026-02-14 13:57:25 -06:00
596b404baf docs: add Network Insights, Network Map, API Tokens, REST API, and GraphQL API sections to help page 2026-02-14 13:32:48 -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
bb4ff232e3 feat: add PagerDuty Events API v2 integration with 2-way alert sync 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
b897330a7e docs: add integrations and org settings sections to in-app help page 2026-02-14 11:28:57 -06:00
aa0e7f3d05
help update 2026-02-04 17:56:48 -06:00
1a054fd598
make sites optional 2026-02-04 13:05:32 -06:00
5b84844e97
doc update 2026-02-03 09:07:06 -06:00
aaf8c38b78
handle mikrotik ssh 2026-02-02 16:42:18 -06:00
b30f2cf5af
filter more honeybadger alerts, format dates to users time zone, email template cleanup 2026-02-01 09:27:42 -06:00
feed25080c
add HIBP password check 2026-02-01 08:57:01 -06:00
4bcac595ad about wording 2026-01-31 13:22:38 -06:00
8e739283ad refactoring 2026-01-29 10:03:43 -06:00
19a818647b
documentation updates 2026-01-26 16:36:52 -06:00