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
This commit is contained in:
yusing
2025-08-16 13:04:05 +08:00
parent fce9ce21c9
commit 35a3e3fef6
149 changed files with 13173 additions and 2173 deletions

View File

@@ -13,7 +13,7 @@ type (
Path string `json:"path"`
Stdout bool `json:"stdout"`
Retention *Retention `json:"retention" aliases:"keep"`
RotateInterval time.Duration `json:"rotate_interval,omitempty"`
RotateInterval time.Duration `json:"rotate_interval,omitempty" swaggertype:"primitive,integer"`
}
ACLLoggerConfig struct {
ConfigBase
@@ -24,7 +24,7 @@ type (
Format Format `json:"format" validate:"oneof=common combined json"`
Filters Filters `json:"filters"`
Fields Fields `json:"fields"`
}
} // @name RequestLoggerConfig
Config struct {
*ConfigBase
acl *ACLLoggerConfig

View File

@@ -14,19 +14,19 @@ type (
LogFilter[T Filterable] struct {
Negative bool
Values []T
}
} // @name LogFilter
Filterable interface {
comparable
Fulfill(req *http.Request, res *http.Response) bool
}
HTTPMethod string
HTTPMethod string // @name HTTPMethod
HTTPHeader struct {
Key, Value string
}
Host string
} // @name HTTPHeader
Host string // @name Host
CIDR struct {
nettypes.CIDR
}
} // @name CIDR
)
var ErrInvalidHTTPHeaderFilter = gperr.New("invalid http header filter")

View File

@@ -12,7 +12,7 @@ type Retention struct {
Days uint64 `json:"days"`
Last uint64 `json:"last"`
KeepSize uint64 `json:"keep_size"`
}
} // @name LogRetention
var (
ErrInvalidSyntax = gperr.New("invalid syntax")

View File

@@ -10,7 +10,7 @@ import (
type StatusCodeRange struct {
Start int
End int
}
} // @name StatusCodeRange
var ErrInvalidStatusCodeRange = gperr.New("invalid status code range")