diff --git a/agent/go.mod b/agent/go.mod index d181fe9af..464e8937c 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -15,6 +15,7 @@ require ( github.com/go-playground/validator/v10 v10.10.0 github.com/google/uuid v1.3.0 github.com/gorilla/websocket v1.4.2 + github.com/jinzhu/copier v0.3.5 github.com/nav-inc/datetime v0.1.3 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/orcaman/concurrent-map v1.0.0 diff --git a/agent/go.sum b/agent/go.sum index 5cd5ff852..f9ccd9867 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -428,6 +428,8 @@ github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= diff --git a/agent/pkg/servicemap/servicemap.go b/agent/pkg/servicemap/servicemap.go index 27b757042..337e8e1e3 100644 --- a/agent/pkg/servicemap/servicemap.go +++ b/agent/pkg/servicemap/servicemap.go @@ -1,6 +1,7 @@ package servicemap import ( + "github.com/jinzhu/copier" "sync" "github.com/up9inc/mizu/shared/logger" @@ -183,8 +184,12 @@ func (s *defaultServiceMap) NewTCPEntry(src *tapApi.TCP, dst *tapApi.TCP, p *tap if len(src.Name) == 0 { srcEntry = &entryData{ key: key(src.IP), - entry: src, + entry: &tapApi.TCP{}, } + if err := copier.Copy(srcEntry.entry, src); err != nil { + logger.Log.Errorf("Error while copying src entry into src entry data") + } + srcEntry.entry.Name = UnresolvedNodeName } else { srcEntry = &entryData{ @@ -196,8 +201,12 @@ func (s *defaultServiceMap) NewTCPEntry(src *tapApi.TCP, dst *tapApi.TCP, p *tap if len(dst.Name) == 0 { dstEntry = &entryData{ key: key(dst.IP), - entry: dst, + entry: &tapApi.TCP{}, } + if err := copier.Copy(dstEntry.entry, dst); err != nil { + logger.Log.Errorf("Error while copying dst entry into dst entry data") + } + dstEntry.entry.Name = UnresolvedNodeName } else { dstEntry = &entryData{