Documentation ¶
Overview ¶
Package libvuln is a generated GoMock package.
Index ¶
- Constants
- func OfflineImport(ctx context.Context, pool *pgxpool.Pool, in io.Reader) error
- type HTTP
- type Libvuln
- func (l *Libvuln) DeleteUpdateOperations(ctx context.Context, ref ...uuid.UUID) error
- func (l *Libvuln) LatestUpdateOperation(ctx context.Context) (uuid.UUID, error)
- func (l *Libvuln) LatestUpdateOperations(ctx context.Context) (map[string][]driver.UpdateOperation, error)
- func (l *Libvuln) Scan(ctx context.Context, ir *claircore.IndexReport) (*claircore.VulnerabilityReport, error)
- func (l *Libvuln) UpdateDiff(ctx context.Context, prev, cur uuid.UUID) (*driver.UpdateDiff, error)
- func (l *Libvuln) UpdateOperations(ctx context.Context, updaters ...string) (map[string][]driver.UpdateOperation, error)
- type MockLibvuln
- type MockLibvulnMockRecorder
- type Opts
- type UpdateDriver
- Bugs
Constants ¶
const ( DefaultUpdateInterval = 30 * time.Minute DefaultUpdateWorkers = 10 DefaultMaxConnPool = 50 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type HTTP ¶ added in v0.0.25
func NewHandler ¶ added in v0.0.25
func (*HTTP) UpdateDiff ¶ added in v0.0.25
func (h *HTTP) UpdateDiff(w http.ResponseWriter, r *http.Request)
func (*HTTP) UpdateOperations ¶ added in v0.0.25
func (h *HTTP) UpdateOperations(w http.ResponseWriter, r *http.Request)
func (*HTTP) VulnerabilityReport ¶ added in v0.0.25
func (h *HTTP) VulnerabilityReport(w http.ResponseWriter, r *http.Request)
type Libvuln ¶
type Libvuln struct { *UpdateDriver // contains filtered or unexported fields }
Libvuln exports methods for scanning an IndexReport and created a VulnerabilityReport.
Libvuln also runs background updaters which keep the vulnerability database consistent.
func (*Libvuln) DeleteUpdateOperations ¶ added in v0.0.18
DeleteUpdateOperations removes one or more update operations and their associated vulnerabilities from the vulnerability database.
func (*Libvuln) LatestUpdateOperation ¶ added in v0.0.18
LatestUpdateOperation returns a reference to the latest known update.
This can be used by clients to determine if a call to Scan is likely to return new results.
func (*Libvuln) LatestUpdateOperations ¶ added in v0.0.18
func (l *Libvuln) LatestUpdateOperations(ctx context.Context) (map[string][]driver.UpdateOperation, error)
LatestUpdateOperations returns references for the latest update for every known updater.
These references are okay to expose externally.
func (*Libvuln) Scan ¶
func (l *Libvuln) Scan(ctx context.Context, ir *claircore.IndexReport) (*claircore.VulnerabilityReport, error)
Scan creates a VulnerabilityReport given a manifest's IndexReport.
func (*Libvuln) UpdateDiff ¶ added in v0.0.18
UpdateDiff returns an UpdateDiff describing the changes between prev and cur.
func (*Libvuln) UpdateOperations ¶ added in v0.0.18
func (l *Libvuln) UpdateOperations(ctx context.Context, updaters ...string) (map[string][]driver.UpdateOperation, error)
UpdateOperations returns UpdateOperations in date descending order keyed by the Updater name
type MockLibvuln ¶
type MockLibvuln struct {
// contains filtered or unexported fields
}
MockLibvuln is a mock of Libvuln interface
func NewMockLibvuln ¶
func NewMockLibvuln(ctrl *gomock.Controller) *MockLibvuln
NewMockLibvuln creates a new mock instance
func (*MockLibvuln) EXPECT ¶
func (m *MockLibvuln) EXPECT() *MockLibvulnMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockLibvuln) Scan ¶
func (m *MockLibvuln) Scan(arg0 context.Context, arg1 *claircore.IndexReport) (*claircore.VulnerabilityReport, error)
Scan mocks base method
type MockLibvulnMockRecorder ¶
type MockLibvulnMockRecorder struct {
// contains filtered or unexported fields
}
MockLibvulnMockRecorder is the mock recorder for MockLibvuln
func (*MockLibvulnMockRecorder) Scan ¶
func (mr *MockLibvulnMockRecorder) Scan(arg0, arg1 interface{}) *gomock.Call
Scan indicates an expected call of Scan
type Opts ¶
type Opts struct { // The maximum number of database connections in the // connection pool. MaxConnPool int32 // A connection string to the database Lbvuln will use. ConnString string // An interval on which Libvuln will check for new security database // updates. // // This duration will have jitter added to it, to help with smearing load on // installations. UpdateInterval time.Duration // Determines if Livuln will manage database migrations Migrations bool // A slice of strings representing which updaters libvuln will create. // // If nil all default UpdaterSets will be used. // // The following sets are supported: // "alpine" // "aws" // "debian" // "oracle" // "photon" // "pyupio" // "rhel" // "suse" // "ubuntu" UpdaterSets []string // A list of out-of-tree updaters to run. // // This list will be merged with any defined UpdaterSets. // // If you desire no updaters to run do not add an updater // into this slice. Updaters []driver.Updater // A list of out-of-tree matchers you'd like libvuln to // use. // // This list will me merged with the default matchers. Matchers []driver.Matcher // UpdateWorkers controls the number of update workers running concurrently. // If less than or equal to zero, a sensible default will be used. UpdateWorkers int // If set to true, there will not be a goroutine launched to periodically // run updaters. DisableBackgroundUpdates bool // UpdaterConfigs is a map of functions for configuration of Updaters. UpdaterConfigs map[string]driver.ConfigUnmarshaler UpdaterFilter func(name string) (keep bool) // Client is an http.Client for use by all updaters. If unset, // http.DefaultClient will be used. Client *http.Client }
type UpdateDriver ¶ added in v0.1.0
type UpdateDriver struct {
// contains filtered or unexported fields
}
func NewOfflineUpdater ¶ added in v0.1.0
func NewOfflineUpdater(config map[string]driver.ConfigUnmarshaler, filter func(string) bool, out io.Writer) (*UpdateDriver, error)
func NewUpdater ¶ added in v0.1.0
func (*UpdateDriver) RunUpdaters ¶ added in v0.1.0
func (d *UpdateDriver) RunUpdaters(ctx context.Context, fs ...driver.UpdaterSetFactory) error
Notes ¶
Bugs ¶
The OfflineImport function is a wart, needed to work around some package namespacing issues. It should get refactored if claircore gets merged into clair.