add service discovery for tunnel

This commit is contained in:
ginuerzh
2023-10-31 23:00:32 +08:00
parent d4e00683c3
commit b2784011d0
4 changed files with 28 additions and 20 deletions

View File

@ -19,6 +19,7 @@ import (
limiter_parser "github.com/go-gost/x/config/parsing/limiter"
recorder_parser "github.com/go-gost/x/config/parsing/recorder"
resolver_parser "github.com/go-gost/x/config/parsing/resolver"
sd_parser "github.com/go-gost/x/config/parsing/sd"
service_parser "github.com/go-gost/x/config/parsing/service"
xlogger "github.com/go-gost/x/logger"
metrics "github.com/go-gost/x/metrics/service"
@ -85,6 +86,14 @@ func buildService(cfg *config.Config) (services []service.Service) {
}
}
for _, sdCfg := range cfg.SDs {
if h := sd_parser.ParseSD(sdCfg); h != nil {
if err := registry.SDRegistry().Register(sdCfg.Name, h); err != nil {
log.Fatal(err)
}
}
}
for _, recorderCfg := range cfg.Recorders {
if h := recorder_parser.ParseRecorder(recorderCfg); h != nil {
if err := registry.RecorderRegistry().Register(recorderCfg.Name, h); err != nil {

View File

@ -166,6 +166,7 @@ func (p *program) mergeConfig(cfg1, cfg2 *config.Config) *config.Config {
Resolvers: append(cfg1.Resolvers, cfg2.Resolvers...),
Hosts: append(cfg1.Hosts, cfg2.Hosts...),
Ingresses: append(cfg1.Ingresses, cfg2.Ingresses...),
SDs: append(cfg1.SDs, cfg2.SDs...),
Recorders: append(cfg1.Recorders, cfg2.Recorders...),
Limiters: append(cfg1.Limiters, cfg2.Limiters...),
CLimiters: append(cfg1.CLimiters, cfg2.CLimiters...),