Skip to content

Commit 862539a

Browse files
committed
fix: properly maintain imageMap for dtrack
Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>
1 parent 70abfcc commit 862539a

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

internal/target/dtrack/dtrack_target.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,12 @@ func (g *DependencyTrackTarget) ProcessSbom(ctx *target.TargetContext) error {
104104
logrus.WithError(err).Errorf("Could not update project tags")
105105
}
106106

107+
if g.imageProjectMap == nil {
108+
// prepropulate imageProjectMap
109+
g.LoadImages()
110+
}
111+
112+
g.imageProjectMap[ctx.Image.ImageID] = project.UUID
107113
return nil
108114
}
109115

@@ -177,7 +183,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
177183

178184
for _, img := range images {
179185
uuid := g.imageProjectMap[img.ImageID]
180-
if uuid.String() == "" {
186+
if uuid.String() == "00000000-0000-0000-0000-000000000000" {
181187
logrus.Warnf("No project found for imageID: %s", img.ImageID)
182188
continue
183189
}
@@ -199,6 +205,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
199205
logrus.Infof("Removing %v=%v tag from project %v", kubernetesCluster, g.k8sClusterId, currentImageName)
200206
project.Tags = removeTag(project.Tags, kubernetesCluster+"="+g.k8sClusterId)
201207
_, err := client.Project.Update(context.Background(), project)
208+
delete(g.imageProjectMap, img.ImageID)
202209
if err != nil {
203210
logrus.WithError(err).Warnf("Project %s could not be updated", project.UUID.String())
204211
}
@@ -215,6 +222,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
215222
if sbomOperatorPropFound && len(otherClusterIds) == 0 {
216223
logrus.Infof("Image not running in any cluster - removing %v", currentImageName)
217224
err := client.Project.Delete(context.Background(), project.UUID)
225+
delete(g.imageProjectMap, img.ImageID)
218226
if err != nil {
219227
logrus.WithError(err).Warnf("Project %s could not be deleted", project.UUID.String())
220228
}

0 commit comments

Comments
 (0)