Documentation
¶
Index ¶
- Constants
- func SetupHTTPServer(responder Responder)
- type AllImages
- type AllPods
- type Container
- type CoreModel
- type FinishedScanClientJob
- type Image
- type ImageInfo
- type ImageSpec
- type MockResponder
- func (mr *MockResponder) AddImage(image Image) error
- func (mr *MockResponder) AddPod(pod Pod) error
- func (mr *MockResponder) DeletePod(qualifiedName string)
- func (mr *MockResponder) Error(w http.ResponseWriter, r *http.Request, err error, statusCode int)
- func (mr *MockResponder) GetModel() Model
- func (mr *MockResponder) GetNextImage() NextImage
- func (mr *MockResponder) GetScanResults() ScanResults
- func (mr *MockResponder) NotFound(w http.ResponseWriter, r *http.Request)
- func (mr *MockResponder) PostCommand(command *PostCommand)
- func (mr *MockResponder) PostFinishScan(job FinishedScanClientJob) error
- func (mr *MockResponder) UpdateAllImages(allImages AllImages) error
- func (mr *MockResponder) UpdateAllPods(allPods AllPods) error
- func (mr *MockResponder) UpdatePod(pod Pod) error
- type Model
- type ModelCircuitBreaker
- type ModelCodeLocation
- type ModelConfig
- type ModelHub
- type ModelHubConfig
- type ModelImageInfo
- type ModelImageTransition
- type ModelRepoTag
- type ModelScanScheduler
- type ModelTime
- type ModelTimings
- type NextImage
- type Pod
- type PostCommand
- type Responder
- type ScanResults
- type ScannedImage
- type ScannedPod
Constants ¶
const ( // perceptor-scanner paths NextImagePath = "nextimage" FinishedScanPath = "finishedscan" // perceiver paths PodPath = "pod" ImagePath = "image" ScanResultsPath = "scanresults" AllImagesPath = "allimages" AllPodsPath = "allpods" // Internal ConcurrentScanLimitPath = "concurrentscanlimit" )
Three things that should work: curl -X GET http://perceptor.bds-perceptor.svc.cluster.local:3001/metrics curl -X GET http://perceptor.bds-perceptor:3001/metrics curl -X GET http://perceptor:3001/metrics
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Container ¶ added in v0.0.3
Container .....
func NewContainer ¶ added in v0.0.3
NewContainer .....
type CoreModel ¶
type CoreModel struct {
Pods map[string]*Pod
Images map[string]*ModelImageInfo
ImageScanQueue []map[string]interface{}
ImageTransitions []*ModelImageTransition
}
CoreModel .....
type FinishedScanClientJob ¶
FinishedScanClientJob .....
type Image ¶
type Image struct {
Repository string
Tag string
Sha string
Priority *int
BlackDuckProjectName string
BlackDuckProjectVersion string
}
Image .....
type ImageInfo ¶ added in v0.0.10
type ImageInfo struct {
Image Image
PolicyViolations int
Vulnerabilities int
OverallStatus string
ComponentsURL string
}
ImageInfo .....
type ImageSpec ¶ added in v0.0.5
type ImageSpec struct {
Repository string
Tag string
Sha string
HubURL string
HubProjectName string
HubProjectVersionName string
HubScanName string
Priority int
}
ImageSpec .....
type MockResponder ¶ added in v0.0.10
MockResponder .....
func NewMockResponder ¶ added in v0.0.10
func NewMockResponder() *MockResponder
NewMockResponder .....
func (*MockResponder) AddImage ¶ added in v0.0.10
func (mr *MockResponder) AddImage(image Image) error
AddImage .....
func (*MockResponder) AddPod ¶ added in v0.0.10
func (mr *MockResponder) AddPod(pod Pod) error
AddPod .....
func (*MockResponder) DeletePod ¶ added in v0.0.10
func (mr *MockResponder) DeletePod(qualifiedName string)
DeletePod .....
func (*MockResponder) Error ¶ added in v0.0.10
func (mr *MockResponder) Error(w http.ResponseWriter, r *http.Request, err error, statusCode int)
Error .....
func (*MockResponder) GetModel ¶ added in v0.0.10
func (mr *MockResponder) GetModel() Model
GetModel .....
func (*MockResponder) GetNextImage ¶ added in v0.0.10
func (mr *MockResponder) GetNextImage() NextImage
GetNextImage .....
func (*MockResponder) GetScanResults ¶ added in v0.0.10
func (mr *MockResponder) GetScanResults() ScanResults
GetScanResults .....
func (*MockResponder) NotFound ¶ added in v0.0.10
func (mr *MockResponder) NotFound(w http.ResponseWriter, r *http.Request)
NotFound .....
func (*MockResponder) PostCommand ¶
func (mr *MockResponder) PostCommand(command *PostCommand)
PostCommand ...
func (*MockResponder) PostFinishScan ¶ added in v0.0.10
func (mr *MockResponder) PostFinishScan(job FinishedScanClientJob) error
PostFinishScan .....
func (*MockResponder) UpdateAllImages ¶ added in v0.0.10
func (mr *MockResponder) UpdateAllImages(allImages AllImages) error
UpdateAllImages .....
func (*MockResponder) UpdateAllPods ¶ added in v0.0.10
func (mr *MockResponder) UpdateAllPods(allPods AllPods) error
UpdateAllPods .....
func (*MockResponder) UpdatePod ¶ added in v0.0.10
func (mr *MockResponder) UpdatePod(pod Pod) error
UpdatePod .....
type Model ¶ added in v0.0.17
type Model struct {
Hubs map[string]*ModelHub
CoreModel *CoreModel
Config *ModelConfig
Scheduler *ModelScanScheduler
}
Model ...
type ModelCircuitBreaker ¶
type ModelCircuitBreaker struct {
State string
NextCheckTime *time.Time
MaxBackoffDuration ModelTime
ConsecutiveFailures int
}
ModelCircuitBreaker ...
type ModelCodeLocation ¶
type ModelCodeLocation struct {
Stage string
Href string
URL string
MappedProjectVersion string
UpdatedAt string
ComponentsHref string
}
ModelCodeLocation ...
type ModelConfig ¶ added in v0.0.17
type ModelConfig struct {
Timings *ModelTimings
Hub *ModelHubConfig
Port int
LogLevel string
}
ModelConfig .....
type ModelHub ¶
type ModelHub struct {
// can we log in to the hub?
// IsLoggedIn bool
// have all the projects been sucked in?
HasLoadedAllCodeLocations bool
// map of project name to ... ? hub URL?
// Projects map[string]string
// map of code location name to mapped project version url
CodeLocations map[string]*ModelCodeLocation
Errors []string
Status string
CircuitBreaker *ModelCircuitBreaker
Host string
}
ModelHub describes a hub client model
type ModelHubConfig ¶
type ModelHubConfig struct {
User string
PasswordEnvVar string
ClientTimeout ModelTime
Port int
ConcurrentScanLimit int
TotalScanLimit int
}
ModelHubConfig ...
type ModelImageInfo ¶ added in v0.0.17
type ModelImageInfo struct {
ScanStatus string
TimeOfLastStatusChange string
ScanResults interface{}
ImageSha string
RepoTags []*ModelRepoTag
Priority int
}
ModelImageInfo .....
type ModelImageTransition ¶
ModelImageTransition .....
type ModelScanScheduler ¶
ModelScanScheduler ...
type ModelTime ¶
type ModelTime struct {
Minutes float64
Seconds float64
Milliseconds float64
// contains filtered or unexported fields
}
ModelTime ...
func NewModelTime ¶
NewModelTime consumes a time.Duration and calculates the minutes, seconds, and milliseconds
type ModelTimings ¶
type ModelTimings struct {
CheckForStalledScansPause ModelTime
StalledScanClientTimeout ModelTime
ModelMetricsPause ModelTime
UnknownImagePause ModelTime
}
ModelTimings ...
type PostCommand ¶
type PostCommand struct {
ResetCircuitBreaker *bool
}
PostCommand handles commands. The values aren't important; only the presence or absence of a key matters.
type Responder ¶
type Responder interface {
GetModel() Model
// perceiver
AddPod(pod Pod) error
UpdatePod(pod Pod) error
DeletePod(qualifiedName string)
GetScanResults() ScanResults
AddImage(image Image) error
UpdateAllPods(allPods AllPods) error
UpdateAllImages(allImages AllImages) error
// scanner
GetNextImage() NextImage
PostFinishScan(job FinishedScanClientJob) error
// internal use
PostCommand(commands *PostCommand)
// errors
NotFound(w http.ResponseWriter, r *http.Request)
Error(w http.ResponseWriter, r *http.Request, err error, statusCode int)
}
Responder .....
type ScanResults ¶
type ScanResults struct {
Pods []ScannedPod
Images []ScannedImage
}
ScanResults .....
func NewScanResults ¶
func NewScanResults(pods []ScannedPod, images []ScannedImage) *ScanResults
NewScanResults .....