feat(api): include agent version in response
Some checks failed
Docker Image CI (nightly) / build-nightly (push) Waiting to run
Docker Image CI (nightly) / build-nightly-agent (push) Waiting to run
Docker Image CI (socket-proxy) / build (push) Has been cancelled

This commit is contained in:
yusing 2025-05-10 13:37:51 +08:00
parent 198ae2cd02
commit b30c0d7dc0

View file

@ -26,6 +26,7 @@ type AgentConfig struct {
httpClient *http.Client httpClient *http.Client
tlsConfig *tls.Config tlsConfig *tls.Config
name string name string
version string
l zerolog.Logger l zerolog.Logger
} }
@ -79,6 +80,8 @@ func (cfg *AgentConfig) Parse(addr string) error {
return nil return nil
} }
var serverVersion = pkg.GetVersion()
func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte) error { func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte) error {
clientCert, err := tls.X509KeyPair(crt, key) clientCert, err := tls.X509KeyPair(crt, key)
if err != nil { if err != nil {
@ -120,10 +123,11 @@ func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte)
return err return err
} }
agentVersion := string(agentVersionBytes) cfg.version = string(agentVersionBytes)
agentVersion := pkg.ParseVersion(cfg.version)
if pkg.GetVersion().IsNewerMajorThan(pkg.ParseVersion(agentVersion)) { if serverVersion.IsNewerMajorThan(agentVersion) {
logging.Warn().Msgf("agent %s major version mismatch: server: %s, agent: %s", cfg.name, pkg.GetVersion(), agentVersion) logging.Warn().Msgf("agent %s major version mismatch: server: %s, agent: %s", cfg.name, serverVersion, agentVersion)
} }
logging.Info().Msgf("agent %q initialized", cfg.name) logging.Info().Msgf("agent %q initialized", cfg.name)
@ -186,7 +190,8 @@ func (cfg *AgentConfig) String() string {
func (cfg *AgentConfig) MarshalJSON() ([]byte, error) { func (cfg *AgentConfig) MarshalJSON() ([]byte, error) {
return json.Marshal(map[string]string{ return json.Marshal(map[string]string{
"name": cfg.Name(), "name": cfg.Name(),
"addr": cfg.Addr, "addr": cfg.Addr,
"version": cfg.version,
}) })
} }