github.com/quay/claircore@v1.5.28/indexer/coalescer.go (about) 1 package indexer 2 3 import ( 4 "context" 5 6 "github.com/quay/claircore" 7 ) 8 9 // LayerArifact aggregates the artifacts found within a layer. 10 type LayerArtifacts struct { 11 Hash claircore.Digest 12 Pkgs []*claircore.Package 13 Dist []*claircore.Distribution // each layer can only have a single distribution 14 Repos []*claircore.Repository 15 Files []claircore.File 16 } 17 18 // Coalescer takes a set of layers and creates coalesced IndexReport. 19 // 20 // A coalesced IndexReport should provide only the packages present in the 21 // final container image once all layers were applied. 22 type Coalescer interface { 23 Coalesce(ctx context.Context, artifacts []*LayerArtifacts) (*claircore.IndexReport, error) 24 }