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 ( import (
"github.com/yusing/go-proxy/agent/pkg/agent" "github.com/yusing/go-proxy/agent/pkg/agent"
"github.com/yusing/go-proxy/internal/gperr" "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/route/provider"
"github.com/yusing/go-proxy/internal/utils/functional" "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 { if err != nil {
return 0, gperr.Wrap(err, "failed to start agent") return 0, gperr.Wrap(err, "failed to start agent")
} }
addAgent(&agentCfg)
provider := provider.NewAgentProvider(&agentCfg) provider := provider.NewAgentProvider(&agentCfg)
if err := cfg.errIfExists(provider); err != nil { if err := cfg.errIfExists(provider); err != nil {
return 0, err return 0, err
} }
provider.LoadRoutes()
provider.Start(cfg.Task())
cfg.storeProvider(provider) cfg.storeProvider(provider)
logging.Info().Msgf("Added agent %s with %d routes", host, provider.NumRoutes())
return provider.NumRoutes(), nil return provider.NumRoutes(), nil
} }