From b30c0d7dc0b7b772d65e815affc9912685b0c4a7 Mon Sep 17 00:00:00 2001 From: yusing Date: Sat, 10 May 2025 13:37:51 +0800 Subject: [PATCH] feat(api): include agent version in response --- agent/pkg/agent/config.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/agent/pkg/agent/config.go b/agent/pkg/agent/config.go index d468918..9840486 100644 --- a/agent/pkg/agent/config.go +++ b/agent/pkg/agent/config.go @@ -26,6 +26,7 @@ type AgentConfig struct { httpClient *http.Client tlsConfig *tls.Config name string + version string l zerolog.Logger } @@ -79,6 +80,8 @@ func (cfg *AgentConfig) Parse(addr string) error { return nil } +var serverVersion = pkg.GetVersion() + func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte) error { clientCert, err := tls.X509KeyPair(crt, key) if err != nil { @@ -120,10 +123,11 @@ func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte) return err } - agentVersion := string(agentVersionBytes) + cfg.version = string(agentVersionBytes) + agentVersion := pkg.ParseVersion(cfg.version) - if pkg.GetVersion().IsNewerMajorThan(pkg.ParseVersion(agentVersion)) { - logging.Warn().Msgf("agent %s major version mismatch: server: %s, agent: %s", cfg.name, pkg.GetVersion(), agentVersion) + if serverVersion.IsNewerMajorThan(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) @@ -186,7 +190,8 @@ func (cfg *AgentConfig) String() string { func (cfg *AgentConfig) MarshalJSON() ([]byte, error) { return json.Marshal(map[string]string{ - "name": cfg.Name(), - "addr": cfg.Addr, + "name": cfg.Name(), + "addr": cfg.Addr, + "version": cfg.version, }) }