Versions in this module Expand all Collapse all v0 v0.0.5 Nov 19, 2019 GO-2022-0346 GO-2022-0346: Path traversal in github.com/quay/claircore v0.0.4 Nov 15, 2019 GO-2022-0346 GO-2022-0346: Path traversal in github.com/quay/claircore Changes in this version + const Package + func EcosystemsToScanners(ctx context.Context, ecosystems []*Ecosystem) ([]PackageScanner, []DistributionScanner, []RepositoryScanner, error) + type Coalescer interface + Coalesce func(ctx context.Context, layers []*claircore.Layer) (*claircore.ScanReport, error) + type DistributionScanner interface + Scan func(*claircore.Layer) ([]*claircore.Distribution, error) + type Ecosystem struct + Coalescer func(ctx context.Context, store Store) (Coalescer, error) + DistributionScanners func(ctx context.Context) ([]DistributionScanner, error) + Name string + PackageScanners func(ctx context.Context) ([]PackageScanner, error) + RepositoryScanners func(ctx context.Context) ([]RepositoryScanner, error) + type Fetcher interface + Fetch func(ctx context.Context, layers []*claircore.Layer) error + Purge func() + type LayerFetchOpt string + const InMem + const OnDisk + const Tee + type LayerScanner interface + Scan func(ctx context.Context, manifest string, layers []*claircore.Layer) error + type MockCoalescer struct + func NewMockCoalescer(ctrl *gomock.Controller) *MockCoalescer + func (m *MockCoalescer) Coalesce(arg0 context.Context, arg1 []*claircore.Layer) (*claircore.ScanReport, error) + func (m *MockCoalescer) EXPECT() *MockCoalescerMockRecorder + type MockCoalescerMockRecorder struct + func (mr *MockCoalescerMockRecorder) Coalesce(arg0, arg1 interface{}) *gomock.Call + type MockDistributionScanner struct + func NewMockDistributionScanner(ctrl *gomock.Controller) *MockDistributionScanner + func (m *MockDistributionScanner) EXPECT() *MockDistributionScannerMockRecorder + func (m *MockDistributionScanner) Kind() string + func (m *MockDistributionScanner) Name() string + func (m *MockDistributionScanner) Scan(arg0 *claircore.Layer) ([]*claircore.Distribution, error) + func (m *MockDistributionScanner) Version() string + type MockDistributionScannerMockRecorder struct + func (mr *MockDistributionScannerMockRecorder) Kind() *gomock.Call + func (mr *MockDistributionScannerMockRecorder) Name() *gomock.Call + func (mr *MockDistributionScannerMockRecorder) Scan(arg0 interface{}) *gomock.Call + func (mr *MockDistributionScannerMockRecorder) Version() *gomock.Call + type MockFetcher struct + func NewMockFetcher(ctrl *gomock.Controller) *MockFetcher + func (m *MockFetcher) EXPECT() *MockFetcherMockRecorder + func (m *MockFetcher) Fetch(arg0 context.Context, arg1 []*claircore.Layer) error + func (m *MockFetcher) Purge() + type MockFetcherMockRecorder struct + func (mr *MockFetcherMockRecorder) Fetch(arg0, arg1 interface{}) *gomock.Call + func (mr *MockFetcherMockRecorder) Purge() *gomock.Call + type MockLayerScanner struct + func NewMockLayerScanner(ctrl *gomock.Controller) *MockLayerScanner + func (m *MockLayerScanner) EXPECT() *MockLayerScannerMockRecorder + func (m *MockLayerScanner) Scan(arg0 context.Context, arg1 string, arg2 []*claircore.Layer) error + type MockLayerScannerMockRecorder struct + func (mr *MockLayerScannerMockRecorder) Scan(arg0, arg1, arg2 interface{}) *gomock.Call + type MockPackageScanner struct + func NewMockPackageScanner(ctrl *gomock.Controller) *MockPackageScanner + func (m *MockPackageScanner) EXPECT() *MockPackageScannerMockRecorder + func (m *MockPackageScanner) Kind() string + func (m *MockPackageScanner) Name() string + func (m *MockPackageScanner) Scan(arg0 *claircore.Layer) ([]*claircore.Package, error) + func (m *MockPackageScanner) Version() string + type MockPackageScannerMockRecorder struct + func (mr *MockPackageScannerMockRecorder) Kind() *gomock.Call + func (mr *MockPackageScannerMockRecorder) Name() *gomock.Call + func (mr *MockPackageScannerMockRecorder) Scan(arg0 interface{}) *gomock.Call + func (mr *MockPackageScannerMockRecorder) Version() *gomock.Call + type MockRepositoryScanner struct + func NewMockRepositoryScanner(ctrl *gomock.Controller) *MockRepositoryScanner + func (m *MockRepositoryScanner) EXPECT() *MockRepositoryScannerMockRecorder + func (m *MockRepositoryScanner) Kind() string + func (m *MockRepositoryScanner) Name() string + func (m *MockRepositoryScanner) Scan(arg0 *claircore.Layer) ([]*claircore.Repository, error) + func (m *MockRepositoryScanner) Version() string + type MockRepositoryScannerMockRecorder struct + func (mr *MockRepositoryScannerMockRecorder) Kind() *gomock.Call + func (mr *MockRepositoryScannerMockRecorder) Name() *gomock.Call + func (mr *MockRepositoryScannerMockRecorder) Scan(arg0 interface{}) *gomock.Call + func (mr *MockRepositoryScannerMockRecorder) Version() *gomock.Call + type MockStore struct + func NewMockStore(ctrl *gomock.Controller) *MockStore + func (m *MockStore) DistributionsByLayer(arg0 context.Context, arg1 string, arg2 VersionedScanners) ([]*claircore.Distribution, error) + func (m *MockStore) EXPECT() *MockStoreMockRecorder + func (m *MockStore) IndexDistributions(arg0 context.Context, arg1 []*claircore.Distribution, arg2 *claircore.Layer, ...) error + func (m *MockStore) IndexPackages(arg0 context.Context, arg1 []*claircore.Package, arg2 *claircore.Layer, ...) error + func (m *MockStore) IndexRepositories(arg0 context.Context, arg1 []*claircore.Repository, arg2 *claircore.Layer, ...) error + func (m *MockStore) LayerScanned(arg0 context.Context, arg1 string, arg2 VersionedScanner) (bool, error) + func (m *MockStore) ManifestScanned(arg0 context.Context, arg1 string, arg2 VersionedScanners) (bool, error) + func (m *MockStore) PackagesByLayer(arg0 context.Context, arg1 string, arg2 VersionedScanners) ([]*claircore.Package, error) + func (m *MockStore) RegisterScanners(arg0 context.Context, arg1 VersionedScanners) error + func (m *MockStore) RepositoriesByLayer(arg0 context.Context, arg1 string, arg2 VersionedScanners) ([]*claircore.Repository, error) + func (m *MockStore) ScanReport(arg0 context.Context, arg1 string) (*claircore.ScanReport, bool, error) + func (m *MockStore) SetScanFinished(arg0 context.Context, arg1 *claircore.ScanReport, arg2 VersionedScanners) error + func (m *MockStore) SetScanReport(arg0 context.Context, arg1 *claircore.ScanReport) error + type MockStoreMockRecorder struct + func (mr *MockStoreMockRecorder) DistributionsByLayer(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) IndexDistributions(arg0, arg1, arg2, arg3 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) IndexPackages(arg0, arg1, arg2, arg3 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) IndexRepositories(arg0, arg1, arg2, arg3 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) LayerScanned(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) ManifestScanned(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) PackagesByLayer(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) RegisterScanners(arg0, arg1 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) RepositoriesByLayer(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) ScanReport(arg0, arg1 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) SetScanFinished(arg0, arg1, arg2 interface{}) *gomock.Call + func (mr *MockStoreMockRecorder) SetScanReport(arg0, arg1 interface{}) *gomock.Call + type MockVersionedScanner struct + func NewMockVersionedScanner(ctrl *gomock.Controller) *MockVersionedScanner + func (m *MockVersionedScanner) EXPECT() *MockVersionedScannerMockRecorder + func (m *MockVersionedScanner) Kind() string + func (m *MockVersionedScanner) Name() string + func (m *MockVersionedScanner) Version() string + type MockVersionedScannerMockRecorder struct + func (mr *MockVersionedScannerMockRecorder) Kind() *gomock.Call + func (mr *MockVersionedScannerMockRecorder) Name() *gomock.Call + func (mr *MockVersionedScannerMockRecorder) Version() *gomock.Call + type Opts struct + Ecosystems []*Ecosystem + Fetcher Fetcher + LayerScanner LayerScanner + ScanLock distlock.Locker + Store Store + Vscnrs VersionedScanners + type PackageScanner interface + Scan func(*claircore.Layer) ([]*claircore.Package, error) + func NewPackageScannerMock(name, version, kind string) PackageScanner + type RepositoryScanner interface + Scan func(*claircore.Layer) ([]*claircore.Repository, error) + type Store interface + DistributionsByLayer func(ctx context.Context, hash string, scnrs VersionedScanners) ([]*claircore.Distribution, error) + IndexDistributions func(ctx context.Context, dists []*claircore.Distribution, layer *claircore.Layer, ...) error + IndexPackages func(ctx context.Context, pkgs []*claircore.Package, layer *claircore.Layer, ...) error + IndexRepositories func(ctx context.Context, repos []*claircore.Repository, layer *claircore.Layer, ...) error + LayerScanned func(ctx context.Context, hash string, scnr VersionedScanner) (bool, error) + ManifestScanned func(ctx context.Context, hash string, scnrs VersionedScanners) (bool, error) + PackagesByLayer func(ctx context.Context, hash string, scnrs VersionedScanners) ([]*claircore.Package, error) + RegisterScanners func(ctx context.Context, scnrs VersionedScanners) error + RepositoriesByLayer func(ctx context.Context, hash string, scnrs VersionedScanners) ([]*claircore.Repository, error) + ScanReport func(ctx context.Context, hash string) (*claircore.ScanReport, bool, error) + SetScanFinished func(ctx context.Context, sr *claircore.ScanReport, scnrs VersionedScanners) error + SetScanReport func(context.Context, *claircore.ScanReport) error + type VersionedScanner interface + Kind func() string + Name func() string + Version func() string + type VersionedScanners []VersionedScanner + func MergeVS(pscnr []PackageScanner, dscnr []DistributionScanner, rscnr []RepositoryScanner) VersionedScanners + func (vs *VersionedScanners) DStoVS(scnrs []DistributionScanner) + func (vs *VersionedScanners) PStoVS(scnrs []PackageScanner) + func (vs *VersionedScanners) RStoVS(scnrs []RepositoryScanner) + func (vs VersionedScanners) VStoDS() []DistributionScanner + func (vs VersionedScanners) VStoPS() []PackageScanner + func (vs VersionedScanners) VStoRS() []RepositoryScanner