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  }