Documentation ¶
Overview ¶
Package libindex is a generated GoMock package.
Index ¶
- Constants
- type ControllerFactory
- type HTTP
- type Libindex
- func (l *Libindex) AffectedManifests(ctx context.Context, vulns []claircore.Vulnerability) (*claircore.AffectedManifests, error)
- func (l *Libindex) Close(ctx context.Context) error
- func (l *Libindex) Index(ctx context.Context, manifest *claircore.Manifest) (*claircore.IndexReport, error)
- func (l *Libindex) IndexReport(ctx context.Context, hash claircore.Digest) (*claircore.IndexReport, bool, error)
- func (l *Libindex) State(ctx context.Context) (string, error)
- type MockLibindex
- type MockLibindexMockRecorder
- type Opts
- Bugs
Constants ¶
const ( DefaultScanLockRetry = 5 * time.Second DefaultLayerScanConcurrency = 10 DefaultLayerFetchOpt = indexer.OnDisk )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControllerFactory ¶
type ControllerFactory func(_ context.Context, lib *Libindex, opts *Opts) (*controller.Controller, error)
ControllerFactory is a factory method to return a Controller during libindex runtime.
type HTTP ¶
func NewHandler ¶
func (*HTTP) AffectedManifests ¶
func (h *HTTP) AffectedManifests(w http.ResponseWriter, r *http.Request)
func (*HTTP) IndexReport ¶
func (h *HTTP) IndexReport(w http.ResponseWriter, r *http.Request)
type Libindex ¶
type Libindex struct { // holds dependencies for creating a libindex instance *Opts // contains filtered or unexported fields }
Libindex implements the method set for scanning and indexing a Manifest.
func New ¶
New creates a new instance of libindex.
The passed http.Client will be used for fetching layers and any HTTP requests made by scanners.
func (*Libindex) AffectedManifests ¶
func (l *Libindex) AffectedManifests(ctx context.Context, vulns []claircore.Vulnerability) (*claircore.AffectedManifests, error)
AffectedManifests retrieves a list of affected manifests when provided a list of vulnerabilities.
func (*Libindex) Index ¶
func (l *Libindex) Index(ctx context.Context, manifest *claircore.Manifest) (*claircore.IndexReport, error)
Index performs a scan and index of each layer within the provided Manifest.
If the index operation cannot start an error will be returned. If an error occurs during scan the error will be propagated inside the IndexReport.
type MockLibindex ¶
type MockLibindex struct {
// contains filtered or unexported fields
}
MockLibindex is a mock of Libindex interface
func NewMockLibindex ¶
func NewMockLibindex(ctrl *gomock.Controller) *MockLibindex
NewMockLibindex creates a new mock instance
func (*MockLibindex) EXPECT ¶
func (m *MockLibindex) EXPECT() *MockLibindexMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockLibindex) Index ¶
func (m *MockLibindex) Index(arg0 context.Context, arg1 *claircore.Manifest) (<-chan *claircore.IndexReport, error)
Index mocks base method
func (*MockLibindex) IndexReport ¶
func (m *MockLibindex) IndexReport(arg0 context.Context, arg1 string) (*claircore.IndexReport, bool, error)
IndexReport mocks base method
type MockLibindexMockRecorder ¶
type MockLibindexMockRecorder struct {
// contains filtered or unexported fields
}
MockLibindexMockRecorder is the mock recorder for MockLibindex
func (*MockLibindexMockRecorder) Index ¶
func (mr *MockLibindexMockRecorder) Index(arg0, arg1 interface{}) *gomock.Call
Index indicates an expected call of Index
func (*MockLibindexMockRecorder) IndexReport ¶
func (mr *MockLibindexMockRecorder) IndexReport(arg0, arg1 interface{}) *gomock.Call
IndexReport indicates an expected call of IndexReport
type Opts ¶
type Opts struct { // the connection string for the datastore specified above ConnString string // how often we should try to acquire a lock for scanning a given manifest if lock is taken ScanLockRetry time.Duration // the number of layers to be scanned in parallel. LayerScanConcurrency int // how we store layers we fetch remotely. see LayerFetchOpt type def above for more details LayerFetchOpt indexer.LayerFetchOpt // NoLayerValidation controls whether layers are checked to actually be // content-addressed. With this option toggled off, callers can trigger // layers to be indexed repeatedly by changing the identifier in the // manifest. NoLayerValidation bool // set to true to have libindex check and potentially run migrations Migrations bool // provides an alternative method for creating a scanner during libindex runtime // if nil the default factory will be used. useful for testing purposes ControllerFactory ControllerFactory // a list of ecosystems to use which define which package databases and coalescing methods we use Ecosystems []*indexer.Ecosystem // Airgap should be set to disallow any scanners that mark themselves as // making network calls. Airgap bool // ScannerConfig holds functions that can be passed into configurable // scanners. They're broken out by kind, and only used if a scanner // implements the appropriate interface. // // Providing a function for a scanner that's not expecting it is not a fatal // error. ScannerConfig struct { Package, Dist, Repo map[string]func(interface{}) error } // contains filtered or unexported fields }
Opts are dependencies and options for constructing an instance of libindex
Notes ¶
Bugs ¶
The pool is never explicitly closed.