notifications

package
v0.0.493 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EntityTypePostureResource       EntityType = "postureResource"
	EntityTypeRepositoryResource    EntityType = "repositoryResource"
	EntityTypeContainerScanWorkload EntityType = "containerScanWorkload"
	EntityTypeImage                 EntityType = "image"
	EntityTypeImageLayer            EntityType = "imageLayer"
	EntityTypeVulanrability         EntityType = "vulnerability"
	EntityTypeControl               EntityType = "control"
	EntityTypeSecurityRiskResource  EntityType = "securityRiskResource"
	EntityTypeSecurityRisk          EntityType = "securityRisk"

	CreatedByUser CreatedBy = "user"
	CreatedByUNS  CreatedBy = "uns"
)
View Source
const (
	NotificationBeforeUpdateContainerScanEvent = "beforeUpdateContainerScan"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AggregatedVulnerability added in v0.0.227

type AggregatedVulnerability struct {
	GUID             string                `json:"guid,omitempty" bson:"guid,omitempty"`
	NotificationType NotificationType      `json:"notificationType,omitempty" bson:"notificationType,omitempty"`
	CVEID            string                `json:"cveID,omitempty" bson:"cveID,omitempty"` // name of cve
	VulnerabilityID  string                `json:"vulnerabilityID,omitempty" bson:"vulnerabilityID,omitempty"`
	Description      string                `json:"description,omitempty" bson:"description,omitempty"`
	Severity         int                   `json:"severity,omitempty" bson:"severity,omitempty"`
	SeverityName     string                `json:"severityName,omitempty" bson:"severityName,omitempty"`
	Cluster          string                `json:"cluster,omitempty" bson:"cluster,omitempty"`
	ClusterShortName string                `json:"clusterShortName,omitempty" bson:"clusterShortName,omitempty"`
	Namespace        string                `json:"namespace,omitempty" bson:"namespace,omitempty"`
	Workloads        []string              `json:"workloads,omitempty" bson:"workloads,omitempty"`
	Images           []string              `json:"images,omitempty" bson:"images,omitempty"`
	WLIDS            []string              `json:"wlids,omitempty" bson:"wlids,omitempty"`
	CVELink          string                `json:"cveLink,omitempty" bson:"cveLink,omitempty"`
	Fixable          bool                  `json:"fixable" bson:"fixable"`
	Package          string                `json:"package,omitempty" bson:"package,omitempty"`
	PackageVersion   string                `json:"packageVersion,omitempty" bson:"packageVersion,omitempty"`
	FixVersion       string                `json:"fixVersion,omitempty" bson:"fixVersion,omitempty"`
	CreationTime     string                `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
	UpdatedTime      string                `json:"updatedTime,omitempty" bson:"updatedTime,omitempty"`
	Exploitable      string                `json:"exploitable,omitempty" bson:"exploitable,omitempty"`
	IsRelevant       string                `json:"isRelevant,omitempty" bson:"isRelevant,omitempty"`
	CVSSBaseScore    float64               `json:"cvssBaseScore" bson:"cvssBaseScore"`
	CVSSScoreVersion string                `json:"cvssScoreVersion" bson:"cvssScoreVersion"`
	CvssInfo         armotypes.CvssInfo    `json:"cvssInfo,omitempty" bson:"cvssInfo,omitempty"`
	EpssInfo         armotypes.EpssInfo    `json:"epssInfo,omitempty" bson:"epssInfo,omitempty"`
	CisaKevInfo      armotypes.CisaKevInfo `json:"cisaKevInfo,omitempty" bson:"cisaKevInfo,omitempty"`
}

AggregatedVulnerability represent a vulnerability event (new vulnerability or new fix) in a namespace

type AlertChannel

type AlertChannel struct {
	ChannelType             ChannelProvider `json:"channelType,omitempty" bson:"channelType,omitempty"`
	Scope                   []AlertScope    `json:"scope,omitempty" bson:"scope,omitempty"`
	CollaborationConfigGUID string          `json:"collaborationConfigId,omitempty" bson:"collaborationConfigId,omitempty"`
	Alerts                  []AlertConfig   `json:"notifications,omitempty" bson:"notifications,omitempty"`
}

func (*AlertChannel) AddAlertConfig

func (ac *AlertChannel) AddAlertConfig(config AlertConfig) error

func (*AlertChannel) GetAlertConfig

func (ac *AlertChannel) GetAlertConfig(notificationType NotificationType) *AlertConfig

func (*AlertChannel) IsEqualOrGreaterThanMinSeverity added in v0.0.355

func (ac *AlertChannel) IsEqualOrGreaterThanMinSeverity(severity int, notificationType NotificationType) bool

func (*AlertChannel) IsInScope

func (ac *AlertChannel) IsInScope(cluster, namespace string) bool

func (*AlertChannel) IsNotificationTypeEnabled added in v0.0.230

func (ac *AlertChannel) IsNotificationTypeEnabled(notificationType NotificationType) bool

type AlertChannelAPI added in v0.0.213

type AlertChannelAPI struct {
	// Channel connection definition
	// Example: webhook connection
	Channel CollaborationConfig `json:"channel"`

	// Notifications configurations
	// Example: new cluster admin
	Notifications []AlertConfig `json:"notifications"`

	// Scope selected clusters/namespaces
	// Example cluster123, [nspace1, nspace2]
	Scope []EnrichedScope `json:"scope"`
}

AlertChannelAPI An Alerting Channel configuration swagger:model AlertChannelAPI

func (*AlertChannelAPI) GetDomainScope added in v0.0.245

func (ac *AlertChannelAPI) GetDomainScope() []AlertScope

type AlertConfig

type AlertConfig struct {
	NotificationConfigIdentifier `json:",inline" bson:",inline"`
	Parameters                   NotificationParams `json:"parameters,omitempty" bson:"parameters,omitempty"`
	Disabled                     *bool              `json:"disabled,omitempty" bson:"disabled,omitempty"`
}

func (*AlertConfig) IsEnabled

func (ac *AlertConfig) IsEnabled() bool

type AlertScope

type AlertScope struct {
	Cluster    string   `json:"cluster,omitempty" bson:"cluster,omitempty"`
	Namespaces []string `json:"namespaces,omitempty" bson:"namespaces,omitempty"`
}

func (*AlertScope) IsInScope

func (ac *AlertScope) IsInScope(cluster, namespace string) bool

type ChannelProvider

type ChannelProvider string
const (
	CollaborationTypeJira  ChannelProvider = "jira"
	CollaborationTypeSlack ChannelProvider = "slack"
	CollaborationTypeTeams ChannelProvider = "teams"
	CollaborationTypeEmail ChannelProvider = "email"
)

type ClusterResourceScanned

type ClusterResourceScanned struct {
	ShortName       string          `json:"shortName" bson:"shortName"`
	Cluster         ResourceScanned `json:"cluster" bson:"cluster"`
	ReportGUID      string          `json:"reportGUID" bson:"reportGUID"`
	FailedResources uint64          `json:"failedResources" bson:"failedResources"`
}

type CollabAssignee

type CollabAssignee struct {

	//example: can be channelID(slack) "C02HD5MU9G8" and etc.
	AssgineeID string `json:"assigneeID"`

	//example: #abuse(slack)
	AssigneeName string `json:"assigneeName"`

	//put here properties of the assignee, ad
	AdditionalInfo []identifiers.ArmoContext `json:"additionalInfo"`
}

type CollaborationConfig

type CollaborationConfig struct {
	armotypes.PortalBase `json:",inline" bson:",inline"`

	// Provider name
	// Example: jira
	Provider ChannelProvider `json:"provider,omitempty" bson:"provider,omitempty"`

	// Host name for private hosting
	// Example: http://example.com
	HostName string `json:"hostName,omitempty" bson:"hostName,omitempty"`

	// The context of sharing (for example in jira it will be cloud, project, etc)
	Context map[string]CollaborationConfigOption `json:"context" bson:"context,omitempty"`

	// Icon url for the option. Optional
	// Example: https://site-admin-avatar-cdn.prod.public.atl-paas.net/avatars/240/triangle.png
	IconURL string `json:"iconURL,omitempty" bson:"iconURL,omitempty"`

	// Icon for the option encoded in base64. Optional
	IconBase64 string `json:"iconBase64,omitempty" bson:"iconBase64,omitempty"`

	CreationTime string `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
}

swagger:model CollaborationConfig

type CollaborationConfigOption

type CollaborationConfigOption struct {
	// Type of the option
	// Example: Project
	Type *CollaborationConfigOptionType `json:"type,omitempty" bson:"type,omitempty"`

	// Name of the option
	// Example: jira-main-project
	Name string `json:"name" bson:"name,omitempty"`

	// ID of the option
	// Example: 8313c5a0-bee1-4a3c-8f4f-71ce698259876 or https://teams/mywebhook or jira siteID
	ID string `json:"id" bson:"id,omitempty"`

	// Icon url for the option. Optional
	// Example: https://site-admin-avatar-cdn.prod.public.atl-paas.net/avatars/240/triangle.png
	IconURL string `json:"iconURL,omitempty" bson:"iconURL,omitempty"`

	// Icon for the option encoded in base64. Optional
	IconBase64 string `json:"iconBase64,omitempty" bson:"iconBase64,omitempty"`
}

Collaboration provider config option swagger:model CollaborationConfigOption

type CollaborationConfigOptionType

type CollaborationConfigOptionType struct {
	// Name of the type
	// Example: project
	Name string `json:"name" bson:"name,omitempty"`

	// Indicates if this option is a mandatory for collaboration configuration
	// Example: false
	ConfigRequired bool `json:"required" bson:"required"`

	// Indicates if this option is a mandatory for sharing
	// Example: true
	ShareRequired bool `json:"-"`

	// Custom input available or not
	// Example: false
	CustomInput bool `json:"customInput" bson:"customInput"`
}

Config option type swagger:model CollaborationConfigOptionType

type CreatedBy added in v0.0.493

type CreatedBy string

type EnrichedScope added in v0.0.245

type EnrichedScope struct {
	AlertScope       `json:",inline"`
	ClusterShortName string `json:"clusterShortName,omitempty"`
}

type EntitiesIdentifiers added in v0.0.371

type EntitiesIdentifiers []EntityIdentifiers

func (*EntitiesIdentifiers) ToMap added in v0.0.371

func (e *EntitiesIdentifiers) ToMap() []map[string]string

type EntityIdentifiers added in v0.0.371

type EntityIdentifiers struct {
	Type EntityType `json:"type,omitempty" bson:"type,omitempty"`

	Cluster  string `json:"cluster,omitempty" bson:"cluster,omitempty"`
	RepoHash string `json:"repoHash,omitempty" bson:"repoHash,omitempty"`

	Namespace    string `json:"namespace,omitempty" bson:"namespace,omitempty"`
	Name         string `json:"name,omitempty" bson:"name,omitempty"`
	Kind         string `json:"kind,omitempty" bson:"kind,omitempty"`
	ResourceHash string `json:"resourceHash,omitempty" bson:"resourceHash,omitempty"`
	ResourceID   string `json:"resourceID,omitempty" bson:"resourceID,omitempty"`

	CVEName          string `json:"cveName,omitempty" bson:"cveName,omitempty"`
	CVEID            string `json:"cveID,omitempty" bson:"cveID,omitempty"`
	Severity         string `json:"severity,omitempty" bson:"severity,omitempty"`
	SeverityScore    int    `json:"severityScore,omitempty" bson:"severityScore,omitempty"`
	Component        string `json:"component,omitempty" bson:"component,omitempty"`
	ComponentVersion string `json:"componentVersion,omitempty" bson:"componentVersion,omitempty"`

	ImageReposiotry string `json:"imageRepository,omitempty" bson:"imageRepository,omitempty"`
	LayerHash       string `json:"layerHash,omitempty" bson:"layerHash,omitempty"`

	ControlID string  `json:"controlID,omitempty" bson:"controlID,omitempty"`
	BaseScore float32 `json:"baseScore,omitempty" bson:"baseScore,omitempty"`
	FilePath  string  `json:"filePath,omitempty" bson:"filePath,omitempty"`

	SecurityRiskID       string `json:"securityRiskID,omitempty" bson:"securityRiskID,omitempty"`
	SecurityRiskCategory string `json:"securityRiskCategory,omitempty" bson:"securityRiskCategory,omitempty"`
	SecurityRiskName     string `json:"securityRiskName,omitempty" bson:"securityRiskName,omitempty"`
	SmartRemediation     bool   `json:"smartRemediation,omitempty" bson:"smartRemediation,omitempty"`

	CreatedBy CreatedBy `json:"createdBy,omitempty" bson:"createdBy,omitempty"`
}

func NewClusterResourceIdentifiers added in v0.0.372

func NewClusterResourceIdentifiers(resource armotypes.PostureResourceSummary) EntityIdentifiers

func NewContainerScanWorkloadIdentifiers added in v0.0.372

func NewContainerScanWorkloadIdentifiers(workload armotypes.VulnerabilityWorkload) EntityIdentifiers

func NewRepositoryResourceIdentifiers added in v0.0.372

func NewRepositoryResourceIdentifiers(resource armotypes.PostureResourceSummary) EntityIdentifiers

func NewSecurityRiskResourceIdentifiers added in v0.0.394

func NewSecurityRiskResourceIdentifiers(issue armotypes.SecurityIssue) EntityIdentifiers

security risk

func NewVulnerabilityIdentifiers added in v0.0.372

func NewVulnerabilityIdentifiers(vulnerability armotypes.Vulnerability) EntityIdentifiers

Vulnerability

func (*EntityIdentifiers) ToMap added in v0.0.371

func (e *EntityIdentifiers) ToMap() map[string]string

func (*EntityIdentifiers) Validate added in v0.0.371

func (e *EntityIdentifiers) Validate() error

type EntityType added in v0.0.371

type EntityType string

EntityIdentifiers is a struct that holds the identifiers of an entity (hard typed designators)

type IntegrationConnectionStatus added in v0.0.271

type IntegrationConnectionStatus string
const (
	Connected    IntegrationConnectionStatus = "connected"
	Disconnected IntegrationConnectionStatus = "disconnected"
)

type IntegrationReference added in v0.0.371

type IntegrationReference struct {
	armotypes.PortalBase `json:",inline" bson:"inline"`
	Provider             ChannelProvider     `json:"provider,omitempty" bson:"provider,omitempty"`             //integration provider (e.g jira, slack, teams)
	ProviderData         map[string]string   `json:"providerData,omitempty" bson:"providerData,omitempty"`     //integration provider data (e.g jira ticket data)
	Type                 ReferenceType       `json:"type,omitempty" bson:"type,omitempty"`                     //type of the reference (e.g cve-ticket, slack-message etc)
	Owner                *EntityIdentifiers  `json:"owner,omitempty" bson:"owner,omitempty"`                   //owner identifiers of this reference (e.g resourceHash, wlid)
	RelatedObjects       EntitiesIdentifiers `json:"relatedObjects,omitempty" bson:"relatedObjects,omitempty"` //related entities identifiers of this reference (e.g cves, controls)
	CreationTime         time.Time           `json:"creationTime" bson:"creationTime"`                         //creation time of the reference
}

Referance to external integration (e.g link to jira ticket)

type IntegrationsConnectionStatus added in v0.0.271

type IntegrationsConnectionStatus struct {
	Provider string                      `json:"provider"`
	Status   IntegrationConnectionStatus `json:"status"`
}

type Misconfiguration

type Misconfiguration struct {
	Name                      string
	FullName                  string
	Type                      ScanType
	Link                      string
	PercentageIncrease        uint64
	FrameworksComplianceDrift map[string]int
	PercentageThreshold       uint8
}

type Misconfigurations

type Misconfigurations []Misconfiguration

type NewClusterAdmin

type NewClusterAdmin struct {
	Resource          string
	Link              string
	ClusterName       string
	ClusterFullName   string
	ResourceName      string
	ResourceKind      string
	ResourceNamespace string
}

type NewClusterAdmins

type NewClusterAdmins []NewClusterAdmin

type NewRuntimeIncident added in v0.0.434

type NewRuntimeIncident struct {
	CustomerGUID        string                       `json:"customerGUID"`
	IncidentPolicyGUIDs []string                     `json:"incidentPolicyGUIDs"`
	IncidentGUID        string                       `json:"incidentGUID"`
	IncidentName        string                       `json:"incidentName"` // incidentType.Name - threatName
	Severity            string                       `json:"severity"`
	Resource            identifiers.PortalDesignator `json:"resource"` // Pod, Node, Workload, Namespace, Cluster, etc.
	Link                string                       `json:"link"`
	Response            *RuntimeIncidentResponse     `json:"response,omitempty"`
}

type NewSecurityIssue added in v0.0.353

type NewSecurityIssue struct {
	CustomerGUID         string                         `json:"customerGUID"`
	SecurityRiskID       string                         `json:"securityRiskID"`
	SecurityRiskName     string                         `json:"securityRiskName"`
	SecurityRiskSeverity string                         `json:"securityRiskSeverity"`
	SecurityRiskCategory string                         `json:"securityRiskCategory"`
	Resources            []identifiers.PortalDesignator `json:"resources"`
}

type NewSecurityIssues added in v0.0.353

type NewSecurityIssues []NewSecurityIssue

type NotificationConfigIdentifier

type NotificationConfigIdentifier struct {
	NotificationType NotificationType `json:"notificationType,omitempty" bson:"notificationType,omitempty"`
}

func (*NotificationConfigIdentifier) Validate

func (nci *NotificationConfigIdentifier) Validate() error

type NotificationParams

type NotificationParams struct {
	DriftPercentage     *int     `json:"driftPercentage,omitempty" bson:"driftPercentage,omitempty"`
	MinSeverity         *int     `json:"minSeverity,omitempty" bson:"minSeverity,omitempty"` // To be DEPRECATED after workflows is live.
	IncidentPolicyGUIDs []string `json:"incidentPolicyGUIDs,omitempty" bson:"incidentPolicyGUIDs,omitempty"`

	// params for workflows
	Severities []string `json:"severities,omitempty" bson:"severities,omitempty"`

	// vulnerability params
	KnownExploited *bool    `json:"knownExploited,omitempty" bson:"knownExploited,omitempty"` // Known Exploited (CISA KEV)
	HighLikelihood *bool    `json:"highLikelihood,omitempty" bson:"highLikelihood,omitempty"` // High Likelihood (EPSS ≥ 10%)
	CVSS           *float32 `json:"cvss,omitempty" bson:"cvss,omitempty"`                     // CVSS (Common Vulnerability Scoring System)
	InUse          *bool    `json:"inUse,omitempty" bson:"inUse,omitempty"`                   // In Use (CISA IU)
	Fixable        *bool    `json:"fixable,omitempty" bson:"fixable,omitempty"`               // Fixable (CISA FX)

	// security risks params
	SecurityRiskIDs []string `json:"securityRiskIDs,omitempty" bson:"securityRiskIDs,omitempty"` // Security Risk ID

}

func (*NotificationParams) SetDriftPercentage

func (ap *NotificationParams) SetDriftPercentage(percentage int)

func (*NotificationParams) SetMinSeverity

func (ap *NotificationParams) SetMinSeverity(severity int)

type NotificationPushEvent

type NotificationPushEvent struct {
	EventName   string                       `json:"eventName"`
	EventTime   time.Time                    `json:"eventTime"`
	Designators identifiers.PortalDesignator `json:"designators,omitempty"`
}

type NotificationType

type NotificationType string
const (
	NotificationTypeWeekly              NotificationType = "weekly"              //weekly report
	NotificationTypePush                NotificationType = "push"                //posture scan
	NotificationTypeContainerPush       NotificationType = "containerScanPush"   //container scan
	NotificationTypeSecurityRiskPush    NotificationType = "securityRiskPush"    //security risk
	NotificationTypeRuntimeIncidentPush NotificationType = "runtimeIncidentPush" // runtime incident (kdr)

	NotificationTypeComplianceDrift     NotificationType = NotificationTypePush + ":complianceDrift"
	NotificationTypeNewClusterAdmin     NotificationType = NotificationTypePush + ":newClusterAdmin"
	NotificationTypeNewVulnerability    NotificationType = NotificationTypeContainerPush + ":newVulnerability"
	NotificationTypeVulnerabilityNewFix NotificationType = NotificationTypeContainerPush + ":vulnerabilityNewFix"

	NotificationTypeSecurityRiskNew    NotificationType = NotificationTypeSecurityRiskPush + ":newSecurityRisk"
	NotificationTypeRuntimeIncidentNew NotificationType = NotificationTypeRuntimeIncidentPush + ":newRuntimeIncident"
)

type PushNotification

type PushNotification struct {
	Misconfigurations Misconfigurations
	NewClusterAdmins  NewClusterAdmins
}

type PushReport

type PushReport struct {
	Cluster                   string             `json:"custer,omitempty" bson:"custer,omitempty"`
	ReportGUID                string             `json:"reportGUID,omitempty" bson:"reportGUID,omitempty"`
	ScanType                  ScanType           `json:"scanType" bson:"scanType"`
	Timestamp                 time.Time          `json:"timestamp,omitempty" bson:"timestamp,omitempty"`
	FailedResources           uint64             `json:"failedResources,omitempty" bson:"failedResources,omitempty"`
	FrameworksComplianceScore map[string]float32 `json:"frameworksComplianceScore,omitempty" bson:"frameworksComplianceScore,omitempty"`
}

type ReferenceType added in v0.0.371

type ReferenceType string //type of the reference (e.g cve-ticket, slack-message etc)
const (
	//tickets types
	ReferenceTypeClusterControlTicket    ReferenceType = "ticket:cluster:control"
	ReferenceTypeRepositoryControlTicket ReferenceType = "ticket:repository:control"
	ReferenceTypeImageTicket             ReferenceType = "ticket:image"
	ReferenceTypeVulnerabilityTicket     ReferenceType = "ticket:vulnerability"
	ReferenceTypeSecurityIssueTicket     ReferenceType = "ticket:securityIssue"
)

type RegistryScanned

type RegistryScanned struct {
	Registry ResourceScanned `json:"registry" bson:"registry"`
}

type RepositoryScanned

type RepositoryScanned struct {
	ReportGUID string          `json:"reportGUID" bson:"reportGUID"`
	Repository ResourceScanned `json:"repository" bson:"repository"`
}

type ResourceScanned

type ResourceScanned struct {
	Kind                         string                     `json:"kind" bson:"kind"`
	Name                         string                     `json:"name" bson:"name"`
	MapSeverityToSeverityDetails map[string]SeverityDetails `json:"mapSeverityToSeverityDetails" bson:"mapSeverityToSeverityDetails"`
}

type RuntimeIncidentPushNotification added in v0.0.434

type RuntimeIncidentPushNotification struct {
	NewRuntimeIncident NewRuntimeIncident
}

type RuntimeIncidentResponse added in v0.0.455

type RuntimeIncidentResponse struct {
	Action string `json:"action"`
}

type ScanType

type ScanType string
const (
	ScanTypePosture      ScanType = "posture"
	ScanTypeRepositories ScanType = "repository"
)

type SecurityIssuePushNotification added in v0.0.353

type SecurityIssuePushNotification struct {
	NewSecurityIssues NewSecurityIssues
}

type SeverityDetails

type SeverityDetails struct {
	Severity              string `json:"severity" bson:"severity"`
	FailedResourcesNumber int    `json:"failedResourcesNumber" bson:"failedResourcesNumber"`
}

type TopCtrlCluster

type TopCtrlCluster struct {
	Name               string `json:"name" bson:"name"`
	ResourcesCount     int64  `json:"resourcesCount" bson:"resourcesCount"`
	ReportGUID         string `json:"reportGUID" bson:"reportGUID"`
	TopFailedFramework string `json:"topFailedFramework" bson:"topFailedFramework"`
}

type TopCtrlItem

type TopCtrlItem struct {
	ControlID            string           `json:"id" bson:"id"`
	ControlGUID          string           `json:"guid" bson:"guid"`
	Name                 string           `json:"name" bson:"name"`
	Remediation          string           `json:"remediation" bson:"remediation"`
	Description          string           `json:"description" bson:"description"`
	ClustersCount        int64            `json:"clustersCount" bson:"clustersCount"`
	SeverityOverall      int64            `json:"severityOverall" bson:"severityOverall"`
	BaseScore            int64            `json:"baseScore" bson:"baseScore"`
	Clusters             []TopCtrlCluster `json:"clusters" bson:"clusters"`
	TotalFailedResources int64            `json:"-"`
}

func (*TopCtrlItem) GetTotalFailedResources

func (t *TopCtrlItem) GetTotalFailedResources() int64

func (*TopCtrlItem) NKeys added in v0.0.238

func (ert *TopCtrlItem) NKeys() int

NKeys --

func (*TopCtrlItem) UnmarshalJSONObject added in v0.0.238

func (ert *TopCtrlItem) UnmarshalJSONObject(dec *gojay.Decoder, key string) error

UnmarshalJSONObject --

type WeeklyReport

type WeeklyReport struct {
	ClustersScannedThisWeek             int                        `json:"clustersScannedThisWeek" bson:"clustersScannedThisWeek"`
	ClustersScannedPrevWeek             int                        `json:"clustersScannedPrevWeek" bson:"clustersScannedPrevWeek"`
	LinkToConfigurationScanningFiltered string                     `json:"linkToConfigurationScanningFiltered" bson:"linkToConfigurationScanningFiltered"`
	RepositoriesScannedThisWeek         int                        `json:"repositoriesScannedThisWeek" bson:"repositoriesScannedThisWeek"`
	RepositoriesScannedPrevWeek         int                        `json:"repositoriesScannedPrevWeek" bson:"repositoriesScannedPrevWeek"`
	LinkToRepositoriesScanningFiltered  string                     `json:"linkToRepositoriesScanningFiltered" bson:"linkToRepositoriesScanningFiltered"`
	RegistriesScannedThisWeek           int                        `json:"registriesScannedThisWeek" bson:"registriesScannedThisWeek"`
	RegistriesScannedPrevWeek           int                        `json:"registriesScannedPrevWeek" bson:"registriesScannedPrevWeek"`
	LinkToRegistriesScanningFiltered    string                     `json:"linkToRegistriesScanningFiltered" bson:"linkToRegistriesScanningFiltered"`
	Top5FailedControls                  []TopCtrlItem              `json:"top5FailedControls" bson:"top5FailedControls"`
	Top5FailedCVEs                      []containerscan.TopVulItem `json:"top5FailedCVEs" bson:"top5FailedCVEs"`
	ClustersScanned                     []ClusterResourceScanned   `json:"clustersScanned" bson:"clustersScanned"`
	RepositoriesScanned                 []RepositoryScanned        `json:"repositoriesScanned" bson:"repositoriesScanned"`
	RegistriesScanned                   []RegistryScanned          `json:"registriesScanned" bson:"registriesScanned"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL