ded4aba536
Add stickydisk caching for cargo git deps and Rust toolchain
...
- Cache ~/.cargo/git for git-sourced dependencies
- Cache ~/.rustup to avoid re-downloading toolchain each run
- Move format check before cargo check (fail fast on formatting)
2026-02-10 08:55:47 -06:00
da7d7fcba0
Update anyhow 1.0.101, clap 4.5.57, crossterm 0.29.0
2026-02-10 08:55:47 -06:00
Graham McIntire
ea372a8aa1
Merge pull request #11 from towerops-app/dependabot/cargo/regex-1.12.3
...
Bump regex from 1.12.2 to 1.12.3
2026-02-10 08:55:43 -06:00
dependabot[bot]
22bbf94d25
Bump regex from 1.12.2 to 1.12.3
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3 )
---
updated-dependencies:
- dependency-name: regex
dependency-version: 1.12.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 14:49:39 +00:00
dba1c6a79c
Fix arm64 build: use c_char instead of i8 in FFI declarations
...
On ARM64 Linux, c_char is u8 (unsigned), not i8 (signed).
Using the platform-correct std::ffi::c_char type fixes the
cross-compilation error.
2026-02-10 08:40:15 -06:00
7882e6b726
Fix test compilation: make device_id field public
2026-02-10 08:33:18 -06:00
2850f4f68f
Use iterator instead of index loop in walk result parsing
2026-02-10 08:31:07 -06:00
36f89ddef3
Remove dead code: unused functions, constants, methods, and enum variant
2026-02-10 08:30:11 -06:00
23ccd24210
Fix SNMP client tests for Linux CI environment
...
- Map "Failed to parse OID" C library errors to InvalidOid variant
- Walk to unreachable host may return empty results instead of error
on some Linux configurations
2026-02-10 08:26:19 -06:00
62f0e1572a
Add libsnmp-dev to CI test dependencies
...
The test job needs net-snmp headers to compile the native snmp_helper.c
2026-02-10 08:21:38 -06:00
1192774e30
Use build timestamp version in TUI display
...
The TUI agent state was using CARGO_PKG_VERSION (0.1.0) instead of
version::current_version() which returns the RFC 3339 build timestamp.
2026-02-10 07:51:52 -06:00
65fbf3bb31
use datestamp instead of creating a version
2026-02-09 13:49:19 -06:00
bd08bb3aad
Remove TOWEROPS_API_URL from docker-compose example
2026-02-09 13:36:29 -06:00
45cea92f8d
Use full path to towerops-agent binary in Procfile
2026-02-09 13:32:40 -06:00
3fa0943ed0
Disable TUI in Dokku (Procfile only, docker-compose unaffected)
2026-02-09 13:31:17 -06:00
2d94f82832
Change Dockerfile to use CMD instead of ENTRYPOINT for Dokku compatibility
2026-02-09 13:29:55 -06:00
1f73dc2d46
Add Procfile with exec and DOKKU_SCALE for worker process
2026-02-09 13:29:14 -06:00
2a1bd414be
Remove Procfile - use Dockerfile ENTRYPOINT directly
2026-02-09 13:27:40 -06:00
37c4fd1d78
Fix Procfile to work with Dockerfile ENTRYPOINT
2026-02-09 13:27:08 -06:00
8ff34d08a6
Remove app.json - use Procfile only for worker process
2026-02-09 13:25:22 -06:00
3bf7d9484a
More dokku testing
2026-02-09 13:25:00 -06:00
47b6c3611b
Morke dokku testing
2026-02-09 13:24:23 -06:00
bf166a123e
add Procfile for dokku staging
2026-02-09 13:21:50 -06:00
71489a709a
copy new native code in to docker build
2026-02-09 12:46:34 -06:00
792825f682
major overhaul to use more C for snmp, may not be stable
2026-02-09 12:31:41 -06:00
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