Commit graph

153 commits

Author SHA1 Message Date
cd45e9ff51
feat: add agent-side ICMP ping health monitoring
Implements health monitoring in the agent using ICMP ping, allowing
devices assigned to local (non-cloud) agents to be monitored.

Changes:
- Add surge-ping library for async ICMP ping operations
- Create ping.rs module with ping_device() function (5s timeout)
- Rename JobType::MONITOR to JobType::PING in protobuf
- Add monitoring_check channels for result communication
- Implement execute_ping_job() to handle PING jobs
- Update TUI to display ping result events

The agent now receives PING jobs from Phoenix, executes ICMP pings,
and sends MonitoringCheck results back for storage in the database.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 13:44:09 -06:00
b29a38edb5
fix security vuln in lru package 2026-02-07 11:55:54 -06:00
cee0788300
format 2026-02-07 11:43:50 -06:00
f5b7e589f2
fix: implement agent IP detection and remove dead poller code
- Implement get_local_ip() using UDP socket trick to resolve local
  interface address without sending traffic, so heartbeat reports
  actual agent IP instead of "unknown"
- Remove dead poller/scheduler/executor and api_client modules that
  referenced non-existent modules and were never compiled
2026-02-07 09:17:47 -06:00
2111453653
Fix TUI 2026-02-06 13:18:23 -06:00
6275562f35
Resolve issues from TUI implementation 2026-02-06 13:08:06 -06:00
a2cef243ee
Handle discovered ip addresses 2026-02-06 12:20:53 -06:00
8c969401fb
fix live and scheduled polling 2026-02-05 12:45:13 -06:00
d44682ce9c
fix: increase SNMP timeout to 120s for SNMPv3 discovery
Discovery with SNMPv3 was completing in 52 seconds, dangerously close
to the 60s timeout. Increasing to 120s provides comfortable headroom
for complete MikroTik OID tree traversal with encryption overhead.
2026-02-05 09:02:05 -06:00
357d1711be
fix: increase SNMP timeout to 60s for SNMPv3 operations
SNMPv3 has significant encryption and authentication overhead compared to
v2c. MikroTik enterprise tree walks (1.3.6.1.4.1.14988) can take 16+
seconds with SNMPv3, causing timeouts with the previous 30s limit.

Increased timeout from 30s to 60s in both client.rs and device_poller.rs
to accommodate SNMPv3's additional latency.
2026-02-05 08:45:20 -06:00
c62330bf40
handle other encryption methods 2026-02-04 17:46:09 -06:00
55d55a2c86
fix tests 2026-02-04 17:29:19 -06:00
f454a1f7ea
experimental tcp snmp handling 2026-02-04 17:25:39 -06:00
df334e4db8
Security hardening and performance improvements 2026-02-04 16:50:36 -06:00
91913bd6e4
Implement snmp v3 support 2026-02-04 12:02:10 -06:00
Graham McIntire
86b2eb70be
Merge pull request #10 from towerops-app/deps-update
bump rust version and crates
2026-02-04 08:07:55 -06:00
5811bed1b1
Add needed packages to Dockerfile 2026-02-04 08:02:59 -06:00
6f1261b0ce
bump rust version and crates 2026-02-04 07:54:12 -06:00
Graham McIntire
e688260ab5
Merge pull request #9 from towerops-app/dependabot/cargo/bytes-1.11.1
Bump bytes from 1.11.0 to 1.11.1
2026-02-04 07:47:48 -06:00
dependabot[bot]
cf84c2db16
Bump bytes from 1.11.0 to 1.11.1
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 13:45:53 +00:00
1be76b0049
show partially redacted snmp community 2026-02-03 16:50:11 -06:00
0f19518065
snmpv3 first stab 2026-02-03 16:46:19 -06:00
4719bb8249
bump russh 2026-02-02 17:17:53 -06:00
d24c712ed8
bump rust version 2026-02-02 17:14:28 -06:00
89a53eb07a
fix snmp community redaction 2026-02-02 17:03:46 -06:00
135e3d3799
pin home crate to 0.5.9 to fix CI build 2026-02-02 17:03:31 -06:00
78aee7ce40
add ssh support 2026-02-02 16:39:09 -06:00
8e8ea6426d
mikrotik api improvements 2026-02-02 14:02:27 -06:00
5ecada7646
cache improvements in ci 2026-02-02 13:44:40 -06:00
667045c34b
use blacksmith for amd64 build too 2026-02-02 13:39:51 -06:00
Graham McIntire
440ba2d44d
Merge pull request #6 from towerops-app/blacksmith-migration-3dec5fb
.github/workflows: Migrate workflows to Blacksmith runners
2026-02-02 13:35:08 -06:00
blacksmith-sh[bot]
720b56544b
Migrate workflows to Blacksmith 2026-02-02 19:34:56 +00:00
3dec5fbe36
dep cleanup 2026-02-02 13:32:06 -06:00
b4d9fb9677
dep cleanup 2026-02-02 13:31:02 -06:00
d137925a0f
update deps 2026-02-02 13:26:02 -06:00
575735b0da
Handle generic mikrotik commands 2026-02-02 13:18:31 -06:00
2bf47951cd
fix: use correct GitHub ARM runner label (ubuntu-24.04-arm) 2026-02-02 12:50:28 -06:00
998c4c4471
fail fast in ci 2026-02-02 12:45:43 -06:00
1b63da6e9e
update cargo 2026-02-02 12:40:01 -06:00
Graham McIntire
207ff82d2c
Merge pull request #4 from towerops-app/dependabot/cargo/prost-build-0.14.3
Bump prost-build from 0.13.5 to 0.14.3
2026-02-02 12:34:17 -06:00
dependabot[bot]
12fe5337e2
Bump prost-build from 0.13.5 to 0.14.3
Bumps [prost-build](https://github.com/tokio-rs/prost) from 0.13.5 to 0.14.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.13.5...v0.14.3)

---
updated-dependencies:
- dependency-name: prost-build
  dependency-version: 0.14.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 18:34:03 +00:00
Graham McIntire
129c641f1c
Merge pull request #3 from towerops-app/dependabot/cargo/clap-4.5.56
Bump clap from 4.5.54 to 4.5.56
2026-02-02 12:32:50 -06:00
dependabot[bot]
f31a756fad
Bump clap from 4.5.54 to 4.5.56
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.54 to 4.5.56.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.54...clap_complete-v4.5.56)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.56
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 18:31:02 +00:00
Graham McIntire
1c636381a1
Merge pull request #2 from towerops-app/dependabot/cargo/prost-types-0.14.3
Bump prost-types from 0.13.5 to 0.14.3
2026-02-02 12:30:38 -06:00
dependabot[bot]
a5056e3616
Bump prost-types from 0.13.5 to 0.14.3
Bumps [prost-types](https://github.com/tokio-rs/prost) from 0.13.5 to 0.14.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.13.5...v0.14.3)

---
updated-dependencies:
- dependency-name: prost-types
  dependency-version: 0.14.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 18:30:20 +00:00
fbf2435165
build arm/amd in parallel natively 2026-02-02 12:29:35 -06:00
Graham McIntire
3b6f0ca8fd
Merge pull request #1 from towerops-app/dependabot/cargo/prost-0.14.3
Bump prost from 0.13.5 to 0.14.3
2026-02-02 12:29:11 -06:00
dependabot[bot]
7f0d63df41
Bump prost from 0.13.5 to 0.14.3
Bumps [prost](https://github.com/tokio-rs/prost) from 0.13.5 to 0.14.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.13.5...v0.14.3)

---
updated-dependencies:
- dependency-name: prost
  dependency-version: 0.14.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 18:27:09 +00:00
001d713688
dependabot fix 2026-02-02 12:26:22 -06:00
eb330b2f6f
protobufs update for mikrotik things 2026-02-02 12:25:40 -06:00