Yuzerion
80bc018a7f
feat: custom json marshaling implementation, replace json and yaml library ( #89 )
...
* chore: replace gopkg.in/yaml.v3 vs goccy/go-yaml; replace encoding/json with bytedance/sonic
* fix: yaml unmarshal panic
* feat: custom json marshaler implementation
* chore: fix import and err marshal handling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-04-16 15:02:11 +08:00
Yuzerion
57292f0fe8
feat: proxmox idlewatcher ( #88 )
...
* feat: idle sleep for proxmox LXCs
* refactor: replace deprecated docker api types
* chore(api): remove debug task list endpoint
* refactor: move servemux to gphttp/servemux; favicon.go to v1/favicon
* refactor: introduce Pool interface, move agent_pool to agent module
* refactor: simplify api code
* feat: introduce debug api
* refactor: remove net.URL and net.CIDR types, improved unmarshal handling
* chore: update Makefile for debug build tag, update README
* chore: add gperr.Unwrap method
* feat: relative time and duration formatting
* chore: add ROOT_DIR environment variable, refactor
* migration: move homepage override and icon cache to $BASE_DIR/data, add migration code
* fix: nil dereference on marshalling service health
* fix: wait for route deletion
* chore: enhance tasks debuggability
* feat: stdout access logger and MultiWriter
* fix(agent): remove agent properly on verify error
* fix(metrics): disk exclusion logic and added corresponding tests
* chore: update schema and prettify, fix package.json and Makefile
* fix: I/O buffer not being shrunk before putting back to pool
* feat: enhanced error handling module
* chore: deps upgrade
* feat: better value formatting and handling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-04-16 14:52:33 +08:00
yusing
1380b58141
fix: nil dereference in docker health checker
2025-04-11 03:23:29 +08:00
yusing
fb075a24d7
refactor: simplify health monitor code
2025-04-10 05:03:01 +08:00
yusing
111d767d46
chore(prometheus): drop service health metrics
2025-04-07 12:51:20 +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
Yuzerion
1a5f3735cf
Feat/fileserver ( #60 )
...
* cleanup code for URL type
* fix makefile for trace mode
* refactor, merge Entry, RawEntry and Route into one.
* Implement fileserver.
* refactor: rename HTTPRoute to ReverseProxyRoute to avoid confusion
* refactor: move metrics logger to middleware package
- fix prometheus metrics for load balanced routes
- route will now fail when health monitor fail to start
* fix extra output of ls-* commands by defer initializaing stuff, speed up start time
* add test for path traversal attack, small fix on FileServer.Start method
* rename rule.on.bypass to pass
* refactor and fixed map-to-map deserialization
* updated route loading logic
* schemas: add "add_prefix" option to modify_request middleware
* updated route JSONMarshalling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-02-06 18:23:10 +08:00
Yuzerion
78900772bb
Feat/ntfy ( #57 )
...
* implement ntfy notification
* fix notification fields order
* fix schema for ntfy
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-02-01 13:07:44 +08:00
yusing
8b1a3a31ff
simplify icon caching and homepage item override
2025-01-21 06:16:00 +08:00
yusing
dd0bbdc7b4
fix logs not printing correctly, removed unneccessary loggers
2025-01-20 17:42:54 +08:00
yusing
1adba05065
api: add /v1/health/ws for health bubbles on dashboard
2025-01-19 04:34:20 +08:00
yusing
b253dce7e1
cleanup some loadbalancer code
2025-01-19 04:32:50 +08:00
yusing
26d259b952
fix: docker monitor now uses container status
2025-01-15 09:16:36 +08:00
yusing
5a9fc3ad18
healthcheck: should not include latency when ping failed
2025-01-06 04:03:59 +08:00
yusing
c506db1ef4
refactor
2025-01-03 18:55:44 +08:00
yusing
7e60d1803c
fix healthcheck last seen
2025-01-03 16:56:18 +08:00
yusing
4819972399
release filewatcher channels
2025-01-03 03:30:15 +08:00
yusing
1ab34ed46f
simplify task package implementation
2025-01-01 06:07:32 +08:00
yusing
751594860a
fix docker health checker metrics missing from prometheus
2024-12-19 14:01:55 +08:00
yusing
e7be27413c
small string split join optimization
2024-12-19 00:54:31 +08:00
yusing
34d5edd6b9
fix health lastSeen format
2024-12-18 10:49:33 +08:00
yusing
6aefe4d5d9
replace all schema check with go-playground/validator/v10
2024-12-18 04:48:29 +08:00
yusing
34858a1ba0
fix prometheus metrics gone after route changes
2024-12-18 00:54:04 +08:00
yusing
c5d96f96e1
replace unnecessary Task interface with struct
2024-12-17 10:33:21 +08:00
yusing
4d94d12e9c
fixed / suppressed (irrelevant) golangci-lint errors
2024-12-17 10:33:21 +08:00
yusing
843d7b2231
refactor and dependencies upgrade
2024-12-13 15:22:31 +08:00
yusing
68b2d79700
fix docker healthcheck formatting
2024-12-13 12:44:20 +08:00
yusing
17e8532e6f
enrich health check result details
2024-12-13 12:35:59 +08:00
yusing
be81415a75
use docker healthcheck result if possible
2024-12-13 12:18:10 +08:00
yusing
5d5c623f09
small refactor and fixes
2024-12-03 11:45:10 +08:00
yusing
a4f44348ef
fixed zero timeout causing health check to fail
2024-11-30 09:09:07 +08:00
yusing
fb9de4c4ad
added ping latency to healthcheck result
2024-11-30 06:43:47 +08:00
yusing
f3b21e6bd9
refactor health module
2024-11-13 06:46:01 +08:00
yusing
64728d10ad
fixed incorrect healthcheck result in some cases, healthchecker now send user agent identifying godoxy
2024-11-11 06:37:05 +08:00
yusing
c07f2ed722
fixed healthchecker start even if disabled, simplified label parsing
2024-11-11 06:34:12 +08:00
yusing
6194bac4c4
metric unregistration on route removal, fixed multi-ips as visitor label detected from x headers
2024-11-10 06:47:59 +08:00
yusing
a1d1325ad6
updated health status impl
2024-11-10 06:35:56 +08:00
yusing
f97e3f65fe
go version and deps update, fixed middlewares and metrics
...
- fixed "API JWT secret empty" warning output format
- fixed metrics initialized when it should not
- fixed middlewares.modifyRequest Host header not working properly
2024-11-08 06:14:08 +08:00
yusing
5214ae1760
uptime metrics
2024-11-07 11:44:01 +08:00
yusing
6712e9b109
initial prometheus metrics support, simplfied some code
2024-11-06 12:24:12 +08:00
yusing
a86d316d07
refactor and typo fixes
2024-11-02 03:14:47 +08:00
yusing
67b6e40f85
remove unused code
2024-11-02 03:04:15 +08:00
yusing
369cdf8c4f
fixed config reload
2024-10-30 06:52:18 +08:00
yusing
e5bbb18414
migrated from logrus to zerolog, improved error formatting, fixed concurrent map write, fixed crash on rapid page refresh for idle containers, fixed infinite recursion on gotfiy error, fixed websocket connection problem when using idlewatcher
2024-10-29 11:34:58 +08:00