yusing
e354d901c4
fix(monitor): safer approach to avoid nil panic in edge cases
2025-10-29 00:19:17 +08:00
yusing
921a8fb935
fix(monitor): handle missing container state in Docker health check
2025-10-28 23:49:59 +08:00
yusing
56232dbd0e
fix(monitor): nil panic in DockerHealthMonitor
2025-10-27 12:46:22 +08:00
yusing
1ca4b4939e
perf(healthcheck): stop docker client from hogging resources in health checks
2025-10-18 19:35:32 +08:00
yusing
5a91db8d10
perf: use fasthttp for health checks; upgrade go to 1.25.3
2025-10-17 22:50:13 +08:00
yusing
c66de99fcb
perf: further optimize http and body buffer handling
2025-10-12 20:57:51 +08:00
yusing
3aed41e078
refactor: move version.go to goutils
2025-10-09 01:14:43 +08:00
yusing
8047067b2b
refactor(utils): move utils/atomic to goutils
2025-10-09 01:07:47 +08:00
yusing
f411e17d80
feat(json): improve JSON performance with bytedance/sonic
2025-09-29 17:43:34 +08:00
yusing
9d508c5950
feat(health): add random delay to health monitor to prevent thundering herd problem
2025-09-28 02:35:44 +08:00
yusing
6776f20332
refactor: move task, error and testing utils to separte repo; apply gofumpt
2025-09-27 13:41:50 +08:00
yusing
22bcf1201b
refactor: move some io, http and string utils to separate repo
2025-09-27 12:46:41 +08:00
yusing
b2713a4b83
refactor(health): optimize health checking
2025-09-27 11:32:18 +08:00
yusing
f9affba9fc
refactor(modules): replace github.com/yusing/go-proxy with github.com/yusing/godoxy
2025-09-22 16:44:59 +08:00
yusing
58a2dc73dd
refactor(docker_watcher): rename docker_events to dockerEvents
2025-09-13 23:50:13 +08:00
yusing
0d2229cca0
refactor(xsync): replace functional map with xsync.Map, remove functional/map
2025-09-13 23:19:20 +08:00
yusing
abeb26b556
fix(monitor): prevent nil pointer dereference in Finish method
2025-09-08 09:02:19 +08:00
yusing
d588664bfa
fix: prevent panicking on misconfigurations
2025-09-08 09:02:19 +08:00
yusing
35a3e3fef6
refactor(api): restructured API for type safety, maintainability and docs generation
...
- These changes makes the API incombatible with previous versions
- Added new types for error handling, success responses, and health checks.
- Updated health check logic to utilize the new types for better clarity and structure.
- Refactored existing handlers to improve response consistency and error handling.
- Updated Makefile to include a new target for generating API types from Swagger.
- Updated "new agent" API to respond an encrypted cert pair
2025-08-16 13:04:05 +08:00
yusing
475e697490
fix(healthcheck): fix spamming notifications for unhealthy services
...
- Added a new `downNotificationSent` flag to track if a service down notification has been sent.
- Reset the notification state when a service comes back up.
- Updated logic to ensure notifications are sent only once after reaching the configured retry threshold for consecutive failures.
2025-07-27 21:47:29 +08:00
yusing
8025af6067
feat(healthcheck): add retries before notifying (default: 3 times)
...
- Introduced NotifyFunc type for customizable notification handling in tests.
- Added Retries field to HealthCheckConfig for controlling notification thresholds.
- Implemented tests for notification behavior under various health check scenarios.
2025-07-20 12:03:45 +08:00
yusing
7d17a01de1
refactor(agent): move agent pool to agent package, rename route.Agent() to route.GetAgent()
2025-06-14 20:04:39 +08:00
yusing
45e34d691a
tweak(healthcheck): allow custom base context
2025-06-04 23:14:46 +08:00
yusing
bdb3343a7c
fix(healthcheck): handle cases for zero port
2025-06-03 22:56:00 +08:00
yusing
6f9bb410f5
fix(agent): use godoxy-to-agent latency for health check
2025-05-31 07:39:01 +08:00
yusing
216c03c5ff
fix(task): revert to context based approach and fix tasks stuck, improve error handling
2025-05-26 00:32:59 +08:00
yusing
c1221e61d4
refactor: improve task management with xsync for concurrent access and enhance callback and subtasks handling as well as memory allocation
2025-05-25 15:01:44 +08:00
yusing
63c4bdc73d
refactor: remove the use of logging module in most code
2025-05-23 23:28:33 +08:00
yusing
3dbab118af
refactor: docker event watcher
2025-05-19 23:15:47 +08:00
yusing
cee6eaecff
fix(healthcheck): retry on error and stop afte 5 trials
2025-05-18 22:16:12 +08:00
yusing
8b3e058885
fix: error formatting
2025-05-14 20:34:41 +08:00
yusing
30c76cfc5f
refactor: health check logic
2025-05-10 22:55:20 +08:00
yusing
c05059765d
style: coed cleanup and fix styling
2025-05-10 10:46:31 +08:00
yusing
6797897814
fix(healthcheck): ensure detail is included on error
2025-05-09 12:26:31 +08:00
yusing
99eccd0b95
fix(monitor): reduce health check result initialization
2025-05-09 12:14:34 +08:00
yusing
b090598b68
feat(health): add health check detail to health api
2025-05-05 13:27:00 +08:00
yusing
82c829de18
feat: notifications retry mechanism and improved error formatting
2025-05-03 14:30:40 +08:00
yusing
69ee8495d8
refactor: notifications
2025-05-02 05:51:15 +08:00
yusing
2b4a70a550
fix(docker): fixed retry mechanism
2025-05-01 06:48:38 +08:00
yusing
01179adfa8
fix: loosen agent version checking
...
- warn instead of error when version mismatch
- check for major version only
- better version parsing
2025-04-26 05:38:59 +08:00
yusing
03d609e4e1
fix: json marshaling
2025-04-26 01:31:22 +08:00
yusing
3947152336
fix: uptime metrics
2025-04-25 11:26:24 +08:00
yusing
663a107c06
merge: main branch
2025-04-24 15:02:31 +08:00
yusing
cdb3ffe439
refactor: clean up code and enhance utilities with new functions
2025-03-28 08:14:06 +08:00
yusing
c6f65ba69f
feat: agent as docker provider, drop / reload routes when docker connection state changed, refactor
2025-03-28 08:14:06 +08:00
yusing
8c9a2b022b
feat: agent health monitor
2025-03-28 08:14:06 +08:00
yusing
2e8248cd5b
fix: race condition in health monitor
2025-03-28 08:14:06 +08:00
yusing
361931ed96
refactor: rename module 'err' to 'gperr' in references
2025-03-28 07:39:26 +08:00
yusing
189c870630
fix docker client panic introduced in last patch
2025-03-02 21:59:32 +08:00
yusing
9b2ee628aa
fix docker client data race on Close(), remove SharedClient.IsConnected
2025-03-01 15:47:08 +08:00