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.