@@ -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