fix routes not started after adding agent

This commit is contained in:
yusing 2025-02-15 09:10:42 +08:00
parent 18d258aaa2
commit 99fbb31554

View file

@ -3,6 +3,7 @@ package config
import (
"github.com/yusing/go-proxy/agent/pkg/agent"
"github.com/yusing/go-proxy/internal/gperr"
"github.com/yusing/go-proxy/internal/logging"
"github.com/yusing/go-proxy/internal/route/provider"
"github.com/yusing/go-proxy/internal/utils/functional"
)
@ -36,12 +37,16 @@ func (cfg *Config) AddAgent(host string, ca agent.PEMPair, client agent.PEMPair)
if err != nil {
return 0, gperr.Wrap(err, "failed to start agent")
}
addAgent(&agentCfg)
provider := provider.NewAgentProvider(&agentCfg)
if err := cfg.errIfExists(provider); err != nil {
return 0, err
}
provider.LoadRoutes()
provider.Start(cfg.Task())
cfg.storeProvider(provider)
logging.Info().Msgf("Added agent %s with %d routes", host, provider.NumRoutes())
return provider.NumRoutes(), nil
}