henrygd
f1e43b2593
scale fractional temperature values to reasonable Celsius values ( #688 )
2025-05-26 01:08:03 -04:00
henrygd
7caf7d1b31
Clear system's active alerts when system is paused
2025-05-08 20:41:44 -04:00
henrygd
6107f52d07
Fix system path in notification urls
2025-05-08 19:06:19 -04:00
henrygd
f4fb7a89e5
Add tests for GetSSHKey and handle read errors on key file
2025-05-08 18:54:14 -04:00
henrygd
5439066f4d
hub.MakeLink method to assure URLs are formatted properly ( #805 )
...
- Updated AlertManager to replace direct app references with a hub interface.
- Changed AlertManager.app to AlertManager.hub
- Add tests for MakeLink
2025-05-08 17:47:15 -04:00
henrygd
63af81666b
Refactor SSH configuration and key management
...
- Restrict to specific key exchanges / MACs / ciphers.
- Refactored GetSSHKey method to return an ssh.Signer instead of byte array.
- Added common package.
Co-authored-by: nhas <jordanatararimu@gmail.com >
2025-05-07 20:03:21 -04:00
henrygd
0fb39edae4
rename ssh imports in server.go
2025-04-30 18:09:25 -04:00
henrygd
8e072492b7
Skip checking Docker if DOCKER_HOST is set to an empty string
2025-04-28 20:23:54 -04:00
henrygd
88d6307ce0
Add FreeBSD icon
2025-04-28 19:37:00 -04:00
henrygd
17c8e7e1bd
Update bark notification to use url param for link
2025-04-27 14:07:33 -04:00
henrygd
f60fb6f8a9
Handle title and link for Lark notifications
2025-04-26 21:25:18 -04:00
henrygd
3eebbce2d4
Update Go dependencies
...
Also replaces containrrr/shoutrrr with pinned version of
nicholas-fedor/shoutrrr
2025-04-26 17:47:34 -04:00
henrygd
38f2ba3984
Small refactoring of docker manager
...
- Add isWindows flag to dockerManager
- `CalculateCpuPercentWindows` and `CalculateCpuPercentLinux` methods added to container.ApiStats
- Remove prevNetStats.Time in favor of Stats.PrevRead
- Replace regex Windows check with strings.Contains, and check the `/containers/json` response
2025-04-25 18:39:24 -04:00
ViryBe
1a7d897bdc
compute cpu and memory stats for docker on windows ( #653 )
...
The Docker daemon's API returns different values on Windows and non-Windows systems. This impacts
the calculation of `cpuPct` and `usedMemory` for each container. The systems are disciminate on the
`Server` header send by the server. Uses the unix stats calculation in case the header is not set.
`docker stats` implementation for reference:
https://github.com/docker/cli/blob/master/cli/command/container/stats_helpers.go#L100
Co-authored-by: Benoit VIRY <benoit.viry@cgx-group.com >
2025-04-25 18:27:36 -04:00
henrygd
ea665e02da
Improve system information retrieval for macOS and Windows
...
- Introduce `Os` enum to represent supported operating systems.
- Update `SystemInfo` interface to include OS type.
- Refactor `ContainerChart` component to use `ChartType` enum for better clarity.
- Switched to dynamic units in container memory chart.
2025-04-22 20:29:17 -04:00
henrygd
aab5725d82
Use gpu temp as primary sensor if no other sensors
2025-04-18 18:00:39 -04:00
henrygd
73c1a1b208
Refactor sensor configuration handling in tests and implementation
...
- Add skipCollection propery
- Ensure that sensors are initialized as an empty map
2025-04-18 17:59:25 -04:00
henrygd
0526c88ce0
support blacklisting and wildcard matching in SENSORS env var ( #650 )
...
- Moved sensor related code to sensors.go
- Added SensorConfig struct
- Added newSensorConfig
- Added tests
2025-04-17 21:08:05 -04:00
henrygd
d79111fce4
remove nvidia-smi dependency for jetson / tegrastats ( #286 )
2025-04-07 20:02:14 -04:00
henrygd
410d236f89
fix EXTRA_FILESYSTEMS for windows ( #422 )
...
Co-authored-by: coosir <git@coosir.com >
2025-04-05 17:57:34 -04:00
henrygd
968ca70670
agent temperature fixes ( #648 , #663 )
...
- Fixes a bad sensor returning an error instead of other good sensors
- Adds ability to set GPU as PRIMARY_SENSOR
2025-03-15 00:29:41 -04:00
henrygd
5837b4f25c
Refactor hub initialization and error handling
2025-03-15 00:25:42 -04:00
henrygd
c38d04b34b
Add health command for hub and align agent health command
2025-03-15 00:23:12 -04:00
henrygd
edefc6f53e
add health check for agent
...
- Updated command-line flag parsing.
- Moved GetAddress and GetNetwork to server.go
2025-03-14 03:33:25 -04:00
henrygd
521be05bc1
gpu.go refactoring and jetson fixes
...
- Fixed usage and power values
- Added new test cases
- Moved some variables to constants
2025-03-13 21:32:53 -04:00
henrygd
ae22334645
pass hub version through html and update dependencies
...
- Changed Vite configuration to replace version during development.
2025-03-13 02:15:03 -04:00
henrygd
f397ab0797
fix: improve error logging for temperature sensor retrieval
2025-03-06 05:38:49 -05:00
henrygd
b1fc715ec9
fix: prevent 404 on initial startup by moving h.initialize after hooks
...
- I don't know why this works. Need to look further into it tomorrow :)
2025-03-06 05:38:33 -05:00
henrygd
d25c7c58c1
fix: SYS_SENSORS context error ( #643 )
2025-03-06 05:36:20 -05:00
henrygd
dd21c18939
feat: add SHARE_ALL_SYSTEMS env var
2025-03-06 01:28:36 -05:00
henrygd
6767392ea8
refactor: update some types in docker.go
2025-03-05 23:40:23 -05:00
henrygd
25b73bfb85
fix: make sure system alerts are checked after records are committed
2025-03-05 23:39:01 -05:00
henrygd
0443a85015
fix: correct typo in Docker stats collection variable name
2025-03-04 17:39:49 -05:00
henrygd
c4d8deb986
feat: agent data cache to support connections to multiple hubs ( #341 )
2025-03-04 16:25:45 -05:00
henrygd
681286eb4f
fix: add User-Agent to resolve Docker Desktop bug ( #513 , #603 )
...
- also added body closure I forgot earlier whoops
2025-03-04 01:56:22 -05:00
henrygd
31431fd211
refactor: improve GPU data parsing
...
- Use byte-based regex matching instead of string-based matching
- Increase buffer size for GPU data
- Switch to `bufio.Scanner`
2025-03-04 00:15:10 -05:00
henrygd
9e56f4611f
refactor: restructure hub initialization and startup process
...
- Separated hub initialization logic into distinct methods
- Move command specific things to cmd/hub
- Add compatibility with new systems package
2025-03-03 23:54:25 -05:00
henrygd
a1f6eeb9eb
refactor: alerts package compatiblity with new systems package
2025-03-03 23:52:27 -05:00
henrygd
f8a1d9fc5d
refactor: optimize system updates and create systems package
...
- Created SystemManager to handle system lifecycle and events
- Created tests for system management operations
- Added test helpers for creating and managing test systems
- Introduced optional port configuration in system config
2025-03-03 23:50:19 -05:00
henrygd
d81db6e319
refactor: optimize record management and deletion logic
2025-03-03 23:44:50 -05:00
henrygd
2b73d8845a
feat: allow x min downtime before alerting ( #595 , #625 )
...
- splits alerts package into three files. status alerts were not
modified aside from updating to slices.Delete method
2025-02-27 17:12:25 -05:00
henrygd
c22b57ce67
refactor(dev): use ENV var to enable hub dev mode
2025-02-26 18:42:34 -05:00
henrygd
ba7db28e80
test(gpu): add case for AMD multi-GPU and different power property ( #414 )
2025-02-22 12:45:47 -05:00
henrygd
6b41a98338
gpu: add tests and refactor to support amd on windows
2025-02-21 00:56:40 -05:00
henrygd
baf56fe83b
fix: refresh interfaces if agent starts before network online ( #466 )
2025-02-21 00:21:47 -05:00
henrygd
96f9128d1a
agent: add lock for gatherStats
2025-02-21 00:20:41 -05:00
henrygd
25b70af196
feat: add unix socket support for system connections
2025-02-19 20:29:45 -05:00
henrygd
7485f79071
refactor(agent): refactor option parsing logic for agent command
2025-02-19 19:39:24 -05:00
henrygd
d170e7a00d
feat(agent): NETWORK env var and support for multiple keys
...
- merges agent.Run with agent.NewAgent
- separates StartServer method
- bumps go version to 1.24
- add tests
2025-02-19 00:32:27 -05:00
henrygd
2ab2cc83de
refactor(hub): embed pocketbase fields in hub struct
2025-02-11 19:18:36 -05:00