add service discovery for tunnel
This commit is contained in:
@ -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 {
|
||||
|
@ -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...),
|
||||
|
Reference in New Issue
Block a user