@@ -104,6 +104,12 @@ func (g *DependencyTrackTarget) ProcessSbom(ctx *target.TargetContext) error {
104
104
logrus .WithError (err ).Errorf ("Could not update project tags" )
105
105
}
106
106
107
+ if g .imageProjectMap == nil {
108
+ // prepropulate imageProjectMap
109
+ g .LoadImages ()
110
+ }
111
+
112
+ g .imageProjectMap [ctx .Image .ImageID ] = project .UUID
107
113
return nil
108
114
}
109
115
@@ -177,7 +183,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
177
183
178
184
for _ , img := range images {
179
185
uuid := g .imageProjectMap [img .ImageID ]
180
- if uuid .String () == "" {
186
+ if uuid .String () == "00000000-0000-0000-0000-000000000000 " {
181
187
logrus .Warnf ("No project found for imageID: %s" , img .ImageID )
182
188
continue
183
189
}
@@ -199,6 +205,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
199
205
logrus .Infof ("Removing %v=%v tag from project %v" , kubernetesCluster , g .k8sClusterId , currentImageName )
200
206
project .Tags = removeTag (project .Tags , kubernetesCluster + "=" + g .k8sClusterId )
201
207
_ , err := client .Project .Update (context .Background (), project )
208
+ delete (g .imageProjectMap , img .ImageID )
202
209
if err != nil {
203
210
logrus .WithError (err ).Warnf ("Project %s could not be updated" , project .UUID .String ())
204
211
}
@@ -215,6 +222,7 @@ func (g *DependencyTrackTarget) Remove(images []*libk8s.RegistryImage) {
215
222
if sbomOperatorPropFound && len (otherClusterIds ) == 0 {
216
223
logrus .Infof ("Image not running in any cluster - removing %v" , currentImageName )
217
224
err := client .Project .Delete (context .Background (), project .UUID )
225
+ delete (g .imageProjectMap , img .ImageID )
218
226
if err != nil {
219
227
logrus .WithError (err ).Warnf ("Project %s could not be deleted" , project .UUID .String ())
220
228
}
0 commit comments