Documentation
¶
Overview ¶
Package server manages HTTP/HTTPS listener lifecycle and hot reload.
Index ¶
- type BalancerStatus
- type Group
- func (g *Group) BalancerInfo() []BalancerStatus
- func (g *Group) CertificateStatus() []proxacme.CertStatus
- func (g *Group) CurrentConfig() *config.Config
- func (g *Group) ListenAndServe(ctx context.Context) error
- func (g *Group) PluginNames() []PluginStatus
- func (g *Group) Reload(cfg *config.Config) error
- func (g *Group) RouteCount() int
- func (g *Group) ServiceInfo() []ServiceStatus
- type PluginStatus
- type ServiceStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BalancerStatus ¶
type BalancerStatus struct {
Service string `json:"service"`
RouteIndex int `json:"route_index"`
Type string `json:"type"`
Action string `json:"action"`
Targets []string `json:"targets"`
}
BalancerStatus describes a route's balancer state for external inspection.
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group manages multiple HTTP servers, one per configured service.
func Build ¶
Build creates a server group from the loaded configuration. configDir is the directory containing the config file, used for resolving relative paths (e.g., ACME certificate storage).
func (*Group) BalancerInfo ¶
func (g *Group) BalancerInfo() []BalancerStatus
BalancerInfo returns the current state of all balancers.
func (*Group) CertificateStatus ¶
func (g *Group) CertificateStatus() []proxacme.CertStatus
CertificateStatus returns certificate status across all ACME-enabled services.
func (*Group) CurrentConfig ¶
CurrentConfig returns the active configuration.
func (*Group) ListenAndServe ¶
ListenAndServe starts all servers and blocks until ctx is cancelled.
func (*Group) PluginNames ¶
func (g *Group) PluginNames() []PluginStatus
PluginNames returns the names and paths of all configured plugins.
func (*Group) Reload ¶
Reload atomically swaps the routing logic for all services. Listeners keep running — zero downtime. If the new config changes listen addresses or adds/removes services, those changes require a full restart.
func (*Group) RouteCount ¶
RouteCount returns the total number of routes across all services.
func (*Group) ServiceInfo ¶
func (g *Group) ServiceInfo() []ServiceStatus
ServiceInfo returns metadata about each configured service.
type PluginStatus ¶
PluginStatus describes a configured plugin for external inspection.