From 54097712d379c636159a21949f1b65281e1a76b6 Mon Sep 17 00:00:00 2001 From: Christian Zunker <827818+czunker@users.noreply.github.com> Date: Wed, 27 Sep 2023 21:54:46 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20platformID=20for=20contain?= =?UTF-8?q?ers=20(#1951)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛 Fix platformID for containers Signed-off-by: Christian Zunker * 🐛 Fix platformID for container images When scanning a single image which isn't present in the local docker daemon, the platformID was missing. Fixes #1952 Signed-off-by: Christian Zunker --------- Signed-off-by: Christian Zunker --- providers/os/connection/docker_container.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/providers/os/connection/docker_container.go b/providers/os/connection/docker_container.go index 4326f32648..4dd85dc06b 100644 --- a/providers/os/connection/docker_container.go +++ b/providers/os/connection/docker_container.go @@ -255,7 +255,8 @@ func NewDockerEngineContainer(id uint32, conf *inventory.Config, asset *inventor conn.PlatformIdentifier = containerid.MondooContainerID(ci.ID) conn.Metadata.Name = containerid.ShortContainerImageID(ci.ID) conn.Metadata.Labels = ci.Labels - conn.Asset().Name = ci.Name + asset.Name = ci.Name + asset.PlatformIds = []string{containerid.MondooContainerID(ci.ID)} return conn, nil } else { log.Debug().Msg("found stopped container " + ci.ID) @@ -268,7 +269,8 @@ func NewDockerEngineContainer(id uint32, conf *inventory.Config, asset *inventor conn.PlatformIdentifier = containerid.MondooContainerID(ci.ID) conn.Metadata.Name = containerid.ShortContainerImageID(ci.ID) conn.Metadata.Labels = ci.Labels - conn.Asset().Name = ci.Name + asset.Name = ci.Name + asset.PlatformIds = []string{containerid.MondooContainerID(ci.ID)} return conn, nil } } @@ -295,7 +297,10 @@ func NewDockerContainerImageConnection(id uint32, conf *inventory.Config, asset // The requested image isn't locally available, but we can pull it from a remote registry. if len(resolvedAssets) > 0 && resolvedAssets[0].Connections[0].Type == "container-registry" { - return NewContainerRegistryImage(id, conf, resolvedAssets[0]) + asset.Name = resolvedAssets[0].Name + asset.PlatformIds = resolvedAssets[0].PlatformIds + asset.Labels = resolvedAssets[0].Labels + return NewContainerRegistryImage(id, conf, asset) } // could be an image id/name, container id/name or a short reference to an image in docker engine