Documentation
¶
Index ¶
- Constants
- Variables
- func GetControlIDsByRiskFactors(riskFactorsStr string) []string
- func IsClusterBasedHostType(hostType HostType) bool
- func MockPortalDesignator() *identifiers.PortalDesignator
- func RuleSeverityFromString(severity string) int
- func RuleSeverityToString(severity int) string
- func ValidateContainerScanID(containerScanID string) bool
- func ValidateHostTypeIdentifiers(hostType HostType, cluster, hostID string) error
- func ValidateProfileScope(scope ProfileScope) error
- type AWSImageRegistry
- type AdmissionAlert
- type AdvancedScopeEntity
- type AgentsProfileObject
- type AggregatedNetworkConnection
- type Alert2Channel
- type AlertSourcePlatform
- type AlertType
- type ApprovementState
- type ApprovementStatus
- type AssociationStatus
- type AttackChain
- type AttackChainConfig
- type AttackChainNode
- type AttackChainStatus
- type AttackChainUIStatus
- type AuthMethod
- type AzureImageRegistry
- type Banner
- type BaseContainerImageRegistry
- type BaseExceptionPolicy
- type BaseImage
- type BaseRuntimeAlert
- type CAContainerMetrics
- type CAK8SMeta
- type CAMicroserviceOverview
- type CAMicroserviceOverviewMetadata
- type CSPMExceptionPolicy
- type Capability
- type CheckRegistryResp
- type CisaKevInfo
- type CloudMetadata
- type ClusterAttackChainState
- type ClusterInfo
- type CommPID
- type CommonSummaryFields
- type ComponentPathInfo
- type ComponentSummary
- type ConnectedStatus
- type ContainerImageRegistry
- type ContainerImageRegistryScanStatusUpdate
- type ContainerPathInfo
- type ContainerStatus
- type ContainerSummary
- type ContainerType
- type ContainersStatusData
- type ControlInfo
- type ControlInputs
- type CountFunc
- type Cursor
- type CustomerAccessStatus
- type CustomerConfig
- type CustomerOnboarding
- type CustomerState
- type Cvss
- type CvssExploitabilityInfo
- type CvssImpactInfo
- type CvssInfo
- type DataType
- type DeleteCountResponse
- type Duration
- type EndpointKind
- type EnforcmentsRule
- type EpssInfo
- type EventType
- type ExecutionPolicy
- type File
- type FileAttributes
- type FileHashes
- type FileOwnership
- type FileTimestamps
- type Filters
- type FixPath
- type GUID
- type GenericCRD
- type GettingStartedChecklist
- type GitlabImageRegistry
- type GoogleImageRegistry
- type HarborImageRegistry
- type HealthReport
- type HighlightsByControl
- type HostPathInfo
- type HostType
- type HttpRuleAlert
- type ISecurityIssue
- type IgnoreRuleSummary
- type IgnoreRuleUserInputMessage
- type ImageLayer
- type ImageSummary
- type InstallationData
- type Inventory
- type K8SAncestor
- type K8SNamespace
- type K8SPodObject
- type KDRMonitoredClusters
- type KDRMonitoredEntitiesCounters
- type KPILogin
- type KPIPostureScan
- type KubernetesObject
- type LicenseType
- type Limitations
- type MalwareAlert
- type MalwareSignature
- type Metadata
- type MicroserviceExtraDetails
- type MicroserviceInfo
- type MicroserviceMetadataView
- type MissingRuntimeInfoReason
- type NetworkConnection
- type NetworkPoliciesWorkload
- type NetworkPolicyStatus
- type NetworkScanAlert
- type NetworkStream
- type NetworkStreamEntity
- type NetworkStreamEntityContainer
- type NetworkStreamEntityKind
- type NetworkStreamEvent
- type NetworkStreamEventEndpointPodDetails
- type NetworkStreamEventEndpointServiceDetails
- type NetworkStreamEventProtocol
- type NexusImageRegistry
- type NodeAgentConfig
- type NodeProfile
- type NodeSpec
- type NodeStatus
- func (nc *NodeStatus) CountMonitoredContainers() int
- func (nc *NodeStatus) CountMonitoredNamespaces() int
- func (nc *NodeStatus) CountMonitoredPods() int
- func (nc *NodeStatus) CountRunningPods() int
- func (nc *NodeStatus) CountRunningPodsContainers() int
- func (nc *NodeStatus) GetMonitoredContainers() map[string][]PodContainer
- func (nc *NodeStatus) GetMonitoredNamespaces() []string
- func (nc *NodeStatus) GetMonitoredPods() []PodStatus
- func (nc *NodeStatus) GetRunningPods() []PodStatus
- func (nc *NodeStatus) IsKDRMonitored() bool
- type NodeUsage
- type Notifications
- type PaginationCursorFunc
- type PaginationSearchByScopeFiltersFunc
- type PaginationSearchByScopeFiltersScrollFunc
- type PaginationSearchFunc
- type PodContainer
- type PodInfo
- type PodStatus
- type PolicyType
- type PortalBase
- func (p *PortalBase) GetAttributes() map[string]interface{}
- func (p *PortalBase) GetGUID() string
- func (p *PortalBase) GetName() string
- func (p *PortalBase) GetTimestampFieldName() string
- func (p *PortalBase) GetUpdatedTime() *time.Time
- func (p *PortalBase) SetAttributes(attributes map[string]interface{})
- func (p *PortalBase) SetGUID(guid string)
- func (p *PortalBase) SetName(name string)
- func (p *PortalBase) SetUpdatedTime(updatedTime *time.Time)
- type PortalCache
- type PortalCluster
- type PortalRegistryCronJob
- type PortalRepository
- type PostureAttributesList
- type PostureClusterOverTime
- type PostureClusterSummary
- type PostureContainerSummary
- type PostureControlSummary
- type PostureExceptionPolicy
- type PostureExceptionPolicyActions
- type PostureFrameworkOverTime
- type PostureFrameworkOverTimeCoord
- type PostureFrameworkSubsectionSummary
- type PostureFrameworkSummary
- type PostureFrameworksOverTime
- type PostureJobParams
- type PosturePaths
- type PosturePolicy
- type PostureReportResultRaw
- type PostureResource
- type PostureResourceSummary
- type PostureScanConfig
- type PostureSummary
- type Probe
- type Process
- type ProcessTree
- type ProcessingStatus
- type ProfileDependency
- type ProfileIdentifier
- type ProfileKind
- type ProfileMetadata
- type ProfileScope
- type ProfileType
- type Provider
- type ProviderConnectionStatus
- type QuayImageRegistry
- type QueryScopeParams
- func (qsp *QueryScopeParams) FixOrAddAsInnerFilters(paginationReq *V2ListRequest, ...)
- func (qsp *QueryScopeParams) FixOrAddAsInnerFiltersMap(paginationReq *V2ListRequest, filters Filters)
- func (qsp *QueryScopeParams) FixOrAddAsUniqueInnerFilters(reqObj *UniqueValuesRequestV2, ...)
- func (qsp *QueryScopeParams) FixOrAddAsUniqueInnerFiltersMap(reqObj *UniqueValuesRequestV2, filters Filters)
- type RawJSONObject
- type RawResource
- type RecommendationAssociation
- type RecommendationSkeletonV1
- type RecordStatus
- type RegistryInfo
- type RegistryJobParams
- type RegistryManageStatus
- type RegistryProvider
- type RegistryScanStatus
- type RelatedResource
- type RelevantImageVulnerabilitiesConfiguration
- type RepoEntityKind
- type RepoEntitySummary
- type Repository
- type ResolvedReason
- type Resource
- type RespTotal
- type RespTotal64
- type RetrieveObjectsByRequestPayload
- type Risk
- type RiskFactor
- type RiskType
- type RoleBindingRoleRef
- type RoleBindingSubject
- type RuleAlert
- type RuleExpression
- type RuleExpressions
- type RuntimeAlert
- type RuntimeAlertECSDetails
- type RuntimeAlertK8sDetails
- type RuntimeIncidentExceptionPolicy
- type RuntimeRule
- type SavedFilter
- type ScanFrequency
- type ScanType
- type SearchAfterResp
- type SearchResponse
- type SeccompStatus
- type SeccompWorkload
- type SecurityIssue
- func (si *SecurityIssue) GetClusterName() string
- func (si *SecurityIssue) GetK8sResourceHash() string
- func (si *SecurityIssue) GetShortClusterName() string
- func (si *SecurityIssue) SetClusterName(clusterName string)
- func (si *SecurityIssue) SetShortClusterName(clusterShortName string)
- func (si *SecurityIssue) SetTickets(tickets []Ticket)
- type SecurityIssueAttackPath
- type SecurityIssueControl
- type SecurityIssueSeverity
- type SecurityIssueStatus
- type SecurityIssueVulnerability
- type SecurityIssuesCategories
- type SecurityIssuesRisksTotals
- type SecurityIssuesSeverities
- type SecurityIssuesSummary
- type SecurityIssuesTrends
- type SecurityIssuesTrendsSummary
- type SecurityRisk
- type SecurityRiskExceptionPolicy
- type Settings
- type SlackChannel
- type SlackChannels
- type SlackNotification
- type SlackSettings
- type StackFrame
- type Subscription
- type SynchronizerClient
- type Ticket
- type TicketManager
- type TimeSeriesContainerProfileObject
- type Trace
- type UniqueCardinalityResponseV2
- type UniqueValuesRequestV2
- type UniqueValuesResponseFieldsCount
- type UniqueValuesResponseV2
- type UniqueValuesSearchByScopeFiltersFunc
- type UpdateAuditEntry
- type User
- type V2ListRequest
- type V2ListResponse
- type V2ListResponseGeneric
- type VolumeScanState
- type Vulnerabilities
- type VulnerabilitiesComponent
- type Vulnerability
- type VulnerabilityExceptionPolicy
- type VulnerabilityExceptionPolicyActions
- type VulnerabilityJobParams
- type VulnerabilityPolicy
- type VulnerabilityScanConfig
- type VulnerabilityToHost
- type VulnerabilityUniqueComponent
- type VulnerabilityUniqueDailyFindings
- type VulnerabilityUniqueFinding
- type VulnerabilityWorkload
- type WorkloadStatus
- type WorkloadViews
Constants ¶
const ( ViewedMainScreenField = "viewedMainScreen" ProcessingStatusField = "processingStatus" //AttackChainStatuss StatusActive AttackChainStatus = "active" StatusFixed AttackChainStatus = "fixed" ProcessingStatusProcessing ProcessingStatus = "processing" ProcessingStatusDone ProcessingStatus = "done" ProcessingStatusFailed ProcessingStatus = "failed" ProcessingStatusTimeout ProcessingStatus = "timeout" )
const ( UnknownScore = 0 InfoScore = 100 LowScore = 200 MediumScore = 300 HighScore = 400 CriticalScore = 500 )
const ( CloudCheckStatusEmpty = "EMPTY" CloudCheckStatusFail = "FAIL" CloudCheckStatusManual = "MANUAL" CloudCheckStatusPass = "PASS" CloudCheckStatusSkipped = "SKIP" CloudCheckStatusAccepted = "ACCEPT" CloudCheckStatusIrrelevant = "IRRELEVANT" )
cloud check statuses
const ( CloudEmptyCheckType = "EMPTY" CloudAutomatedCheckType = "AUTOMATED" CloudManualCheckType = CloudCheckStatusManual CloudManualAndAutomated = CloudAutomatedCheckType + "/" + CloudManualCheckType )
cloud check types
const ( ScanFailed = "FAILED" ScanInProgress = "INPROGRESS" ScanSuccess = "SUCCESS" )
const ( ScanFailedScore = 1 ScanInProgressScore = 2 ScanSuccessScore = 3 )
const ( //risk factors RiskFactorExternalFacing RiskFactor = "External facing" RiskFactorPrivileged RiskFactor = "Privileged" RiskFactorSecretAccess RiskFactor = "Secret access" RiskFactorDataAccess RiskFactor = "Data access" RiskFactorHostAccess RiskFactor = "Host access" RiskFactorAILLMClient RiskFactor = "AI/LLM client" RiskFactorAILLMServer RiskFactor = "AI/LLM service" RiskFactorInternetFacing RiskFactor = "Internet facing" // RiskFactorNone is a filter sentinel representing "no risk factors". // It is NOT a mappable risk factor and has no entry in RiskFactorMapping. // Do not pass it to GetControlIDsByRiskFactors (it will return an empty slice). RiskFactorNone RiskFactor = "None" //scan types ClusterPosture ScanType = "cluster" RepositoryPosture ScanType = "repository" ContainerVulnerabilities ScanType = "container" RegistryVulnerabilities ScanType = "registry" )
const ( ArmoKollectorContainerName = "armo-collector" // deprecated, kept for backward compatibility KollectorContainerName = "kollector" // registry scan LowestHelmVersionSupportedRegistryScanAndTest = "v1.9" LowestHelmVersionSupportedRegistryScan = "v1.7.14" RegistryInfoArgKey = "registryInfo-v1" RegistryScanSecretName = "kubescape-registry-scan" //nolint:gosec RegistrySecretNameArgKey = "registry-secret" // vulnerability scan LowestHelmVersionSupportedVulnerabilityScan = "v1.7.17" // cronjob template annotation and labels CronJobTemplateAnnotationArmoJobIDKeyDeprecated = "armo.jobid" // deprecated CronJobTemplateAnnotationArmoCloudJobIDKeyDeprecated = "armo.cloud/jobid" // deprecated CronJobTemplateAnnotationJobIDKey = "app.kubescape/job-id" CronJobTemplateAnnotationUpdateJobIDDeprecated = "armo.updatejobid" // deprecated CronJobTemplateAnnotationUpdateJobID = "app.kubescape/update-job-id" CronJobTemplateAnnotationNamespaceKeyDeprecated = "armo.namespace" // deprecated CronJobTemplateAnnotationNamespaceKey = "app.kubescape/namespace" CronJobTemplateAnnotationRegistryNameKey = "armo.cloud/registryname" CronJobTemplateAnnotationHostScannerKey = "armo.host-scanner" CronJobTemplateAnnotationFrameworkKey = "armo.framework" CronJobTemplateLabelKey = "armo.tier" CronJobTemplateLabelValueKubescape = "kubescape-scan" CronJobTemplateLabelValueVulnScan = "vuln-scan" CronJobTemplateLabelValueRegistryScan = "registry-scan" )
const ( K8sKindCluster = "Cluster" K8sKindNode = "Node" K8sKindNamespace = "Namespace" K8sKindSecret = "Secret" K8sKindCronJob = "CronJob" K8sKindJob = "Job" K8sKindConfigMap = "ConfigMap" K8sApiVersionV1 = "v1" K8sApiVersionRBAC = "rbac.authorization.k8s.io" K8sApiVersionRBACV1 = K8sApiVersionRBAC + "/" + K8sApiVersionV1 K8SApiVersionAppsV1 = "apps/v1" K8SApiVersionBatchV1 = "batch/v1" )
const ( V2ListExistsOperator string = "exists" V2ListEqualOperator string = "equal" V2ListNotEqualOperator string = "notequal" V2ListMissingOperator string = "missing" V2ListEmptyOperator string = "empty" V2ListMatchOperator string = "match" V2ListGreaterOperator string = "greater" V2ListLowerOperator string = "lower" V2ListRegexOperator string = "regex" V2ListLikeOperator string = "like" V2ListRangeOperator string = "range" V2ListIgnoreCaseOption string = "ignorecase" V2ListArrayOperator string = "arraymatch" V2ListElementMatchOperator string = "elemMatch" // for matching elements in array e.g. {"users.name|elemMatch": "users.age|elemMatch" : "30|greater"} V2ListAscendingSort string = "asc" V2ListDescendingSort string = "desc" V2ListValueSeparator = "," V2ListOperatorSeparator = "|" V2ListSubQuerySeparator = "&" V2ListSortTypeSeparator = ":" V2ListEscapeChar = "\\" )
const ( CustomerGuidQuery = "customerGUID" ClusterNameQuery = "cluster" DatacenterNameQuery = "datacenter" NamespaceQuery = "namespace" ProjectQuery = "project" WlidQuery = "wlid" SidQuery = "sid" )
const ( SubscriptionStatusIncomplete = string(stripe.SubscriptionStatusIncomplete) SubscriptionStatusIncompleteExpired = string(stripe.SubscriptionStatusIncompleteExpired) SubscriptionStatusTrialing = string(stripe.SubscriptionStatusTrialing) SubscriptionStatusActive = string(stripe.SubscriptionStatusActive) SubscriptionStatusPastDue = string(stripe.SubscriptionStatusPastDue) SubscriptionStatusCanceled = string(stripe.SubscriptionStatusCanceled) SubscriptionStatusUnpaid = string(stripe.SubscriptionStatusUnpaid) SubscriptionStatusTrialExpired = "trial expired" )
const ( PostureControlStatusUnknown = 0 PostureControlStatusPassed = 1 PostureControlStatusWarning = 2 // deprecated PostureControlStatusFailed = 3 PostureControlStatusSkipped = 4 PostureControlStatusIrrelevant = 5 // deprecated PostureControlStatusError = 6 PostureResourceMaxCtrls = 6 )
const ( RegistryResourcePrefix = "kubescape-registry-scan" RegistryAuthFieldInSecret = "registriesAuth" RegistryCommandBody = "request-body.json" RegistryCronjobTemplateName = "cronjobTemplate" RegistryRequestVolumeName = "request-body-volume" )
const ( Empty RegistryManageStatus = "" Created RegistryManageStatus = "Created" Updated RegistryManageStatus = "Updated" Error RegistryManageStatus = "Error" // Scan statuses Failed RegistryScanStatus = "Failed" InProgress RegistryScanStatus = "In Progress" Completed RegistryScanStatus = "Completed" )
const ( RuleSeverityNone = 0 RuleSeverityLow = 1 RuleSeverityMed = 5 RuleSeverityHigh = 8 RuleSeverityCritical = 10 RuleSeveritySystemIssue = 1000 )
copied from kubescape/node-agent/pkg/ruleengine/v1/rule.go
const ( SecurityIssueStatusDetected SecurityIssueStatus = "Detected" SecurityIssueStatusResolved SecurityIssueStatus = "Resolved" SecurityIssueStatusException SecurityIssueStatus = "Exception" RiskTypeControl RiskType = "Control" RiskTypeControlWithNetworkPolicy RiskType = "ControlWithNetworkPolicy" RiskTypeAttackPath RiskType = "AttackPath" RiskTypeVulnerability RiskType = "Vulnerability" SecurityIssueSeverityCritical SecurityIssueSeverity = "Critical" SecurityIssueSeverityHigh SecurityIssueSeverity = "High" SecurityIssueSeverityMedium SecurityIssueSeverity = "Medium" SecurityIssueSeverityLow SecurityIssueSeverity = "Low" ResolvedReasonResourceDeleted ResolvedReason = "ResourceDeleted" ResolvedReasonClusterDeleted ResolvedReason = "ClusterDeleted" ResolvedReasonRiskResolved ResolvedReason = "RiskResolved" )
const ( ExploitableCisaKev = "Known Exploited" ExploitableHighLikelihood = "High Likelihood" ExploitableNo = "No" EpssThreshold = 0.10 // 10% CisaKevKnown = "Known" CisaKevUnknown = "Unknown" )
const GlobalRegex = "*/*"
const HostContainerID = "host"
const RegistryScanStatusesKind = "RegistryStatuses"
const RegistryScanStatusesKindPath = "registrystatuses"
Variables ¶
var ActiveSubscriptionStatuses = []string{SubscriptionStatusIncomplete, SubscriptionStatusTrialing, SubscriptionStatusActive}
var CloudCheckStatusToInt = map[string]int{ CloudCheckStatusEmpty: -1, CloudCheckStatusFail: 10, CloudCheckStatusManual: 20, CloudCheckStatusPass: 30, CloudCheckStatusIrrelevant: 35, CloudCheckStatusSkipped: 40, CloudCheckStatusAccepted: 50, }
var CloudCheckTypeToInt = map[string]int{ CloudEmptyCheckType: -1, CloudAutomatedCheckType: 10, CloudManualCheckType: 20, CloudManualAndAutomated: 30, }
var CloudIntToCheckStatus = map[int]string{ -1: CloudCheckStatusEmpty, 10: CloudCheckStatusFail, 20: CloudCheckStatusManual, 30: CloudCheckStatusPass, 35: CloudCheckStatusIrrelevant, 40: CloudCheckStatusSkipped, 50: CloudCheckStatusAccepted, }
var CloudIntToCheckType = map[int]string{ -1: CloudEmptyCheckType, 10: CloudAutomatedCheckType, 20: CloudManualCheckType, 30: CloudManualAndAutomated, }
var CloudIntToSeverity = map[int]string{
UnknownScore: "none",
InfoScore: "info",
LowScore: "low",
MediumScore: "medium",
HighScore: "high",
CriticalScore: "critical",
}
var CloudPostureScanIntToStatus = map[int]string{ ScanFailedScore: ScanFailed, ScanInProgressScore: ScanInProgress, ScanSuccessScore: ScanSuccess, }
var CloudPostureScanStatusToInt = map[string]int{
ScanFailed: 1,
ScanInProgress: 2,
ScanSuccess: 3,
}
cloud posture scans statuses
var CloudSeverityToInt = map[string]int{
"critical": 500,
"high": 400,
"medium": 300,
"low": 200,
"info": 100,
"none": 0,
}
cloud severities
var MandatorySeccompSyscalls = []string{"epoll_wait", "tgkill", "sched_yield"}
var RegistryTypeMap = map[RegistryProvider]func() ContainerImageRegistry{ AWS: func() ContainerImageRegistry { return new(AWSImageRegistry) }, Azure: func() ContainerImageRegistry { return new(AzureImageRegistry) }, Google: func() ContainerImageRegistry { return new(GoogleImageRegistry) }, Harbor: func() ContainerImageRegistry { return new(HarborImageRegistry) }, Quay: func() ContainerImageRegistry { return new(QuayImageRegistry) }, Nexus: func() ContainerImageRegistry { return new(NexusImageRegistry) }, Gitlab: func() ContainerImageRegistry { return new(GitlabImageRegistry) }, }
var RiskFactorMapping = map[string]RiskFactor{ "C-0256": RiskFactorExternalFacing, "C-0266": RiskFactorExternalFacing, "C-0046": RiskFactorPrivileged, "C-0057": RiskFactorPrivileged, "C-0255": RiskFactorSecretAccess, "C-0257": RiskFactorDataAccess, "C-0038": RiskFactorHostAccess, "C-0041": RiskFactorHostAccess, "C-0044": RiskFactorHostAccess, "C-0048": RiskFactorHostAccess, "C-AILLMClient": RiskFactorAILLMClient, "C-AILLMServer": RiskFactorAILLMServer, }
Functions ¶
func GetControlIDsByRiskFactors ¶ added in v0.0.284
func IsClusterBasedHostType ¶ added in v0.0.693
IsClusterBasedHostType returns true for host types that use a cluster name Standalone host types (EC2, GCE, Azure VM, Droplet, Cloud Run, etc.) use hostID instead. An empty hostType is treated as cluster-based (defaults to Kubernetes).
func MockPortalDesignator ¶
func MockPortalDesignator() *identifiers.PortalDesignator
func RuleSeverityFromString ¶ added in v0.0.640
func RuleSeverityToString ¶ added in v0.0.640
func ValidateContainerScanID ¶ added in v0.0.193
func ValidateHostTypeIdentifiers ¶ added in v0.0.693
ValidateHostTypeIdentifiers checks that the required identifiers are present based on the host type. Cluster-based types (Kubernetes, ECS) require a non-empty cluster. Standalone host types require a non-empty hostID. An empty hostType is treated as cluster-based (defaults to Kubernetes).
func ValidateProfileScope ¶ added in v0.0.693
func ValidateProfileScope(scope ProfileScope) error
ValidateProfileScope checks that all required identifiers are present for the given host type. ECS types require cluster, cloudAccountIdentifier, and region. Kubernetes requires cluster and namespace. Standalone host types require hostID. An empty HostType defaults to Kubernetes.
Types ¶
type AWSImageRegistry ¶ added in v0.0.459
type AWSImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
RegistryURI string `json:"registryURI"`
RegistryRegion string `json:"registryRegion"`
AccessKeyID string `json:"accessKeyID,omitempty"`
SecretAccessKey string `json:"secretAccessKey,omitempty"`
RoleARN string `json:"roleARN,omitempty"`
}
func (*AWSImageRegistry) ExtractSecret ¶ added in v0.0.459
func (aws *AWSImageRegistry) ExtractSecret() interface{}
func (*AWSImageRegistry) FillSecret ¶ added in v0.0.459
func (aws *AWSImageRegistry) FillSecret(value interface{}) error
func (*AWSImageRegistry) GetDisplayName ¶ added in v0.0.473
func (aws *AWSImageRegistry) GetDisplayName() string
func (*AWSImageRegistry) MaskSecret ¶ added in v0.0.459
func (aws *AWSImageRegistry) MaskSecret()
func (*AWSImageRegistry) Validate ¶ added in v0.0.459
func (aws *AWSImageRegistry) Validate() error
type AdmissionAlert ¶ added in v0.0.423
type AdmissionAlert struct {
Kind schema.GroupVersionKind `json:"kind,omitempty" bson:"kind,omitempty"`
RequestNamespace string `json:"requestNamespace,omitempty" bson:"requestNamespace,omitempty"`
ObjectName string `json:"objectName,omitempty" bson:"objectName,omitempty"`
Resource schema.GroupVersionResource `json:"resource,omitempty" bson:"resource,omitempty"`
Subresource string `json:"subresource,omitempty" bson:"subresource,omitempty"`
Operation admission.Operation `json:"operation,omitempty" bson:"operation,omitempty"`
Options *unstructured.Unstructured `json:"options,omitempty" bson:"options,omitempty"`
DryRun bool `json:"dryRun,omitempty" bson:"dryRun,omitempty"`
Object *unstructured.Unstructured `json:"object,omitempty" bson:"object,omitempty"`
OldObject *unstructured.Unstructured `json:"oldObject,omitempty" bson:"oldObject,omitempty"`
UserInfo *user.DefaultInfo `json:"userInfo,omitempty" bson:"userInfo,omitempty"`
}
type AdvancedScopeEntity ¶ added in v0.0.601
type AgentsProfileObject ¶ added in v0.0.693
type AgentsProfileObject struct {
// Identity
CustomerGUID string `json:"customerGUID"`
ResourceHash string `json:"resourceHash"`
Kind string `json:"kind"`
Name string `json:"name"`
// Scope (platform + location)
ProfileScope
Provider Provider `json:"provider"`
// Resource metadata
ResourceObjectRef string `json:"resourceObjectRef"`
ResourceVersion string `json:"resourceVersion,omitempty"`
Checksum string `json:"checksum"`
CreationTimestamp time.Time `json:"creationTimestamp"`
SyncKind string `json:"syncKind,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
// Related resource info
RelatedName string `json:"relatedName"`
RelatedKind string `json:"relatedKind"`
RelatedAPIGroup string `json:"relatedAPIGroup"`
RelatedNamespace string `json:"relatedNamespace"`
RelatedAPIVersion string `json:"relatedAPIVersion"`
RelatedResourceVersion string `json:"relatedResourceVersion"`
// Status
Status string `json:"status"`
CompletionStatus string `json:"completionStatus"`
// Storage
RelatedContainerProfiles map[string]string `json:"relatedContainerProfiles,omitempty"`
AdditionalProps map[string]string `json:"additionalProps,omitempty"`
ObjectMeta map[string]interface{} `json:"objectMeta,omitempty"`
Containers []string `json:"containers,omitempty"`
InitContainers []string `json:"initContainers,omitempty"`
EphemeralContainers []string `json:"ephemeralContainers,omitempty"`
ResourceSize int `json:"resourceSize"`
}
AgentsProfileObject represents a platform-agnostic storage resource.
type AggregatedNetworkConnection ¶ added in v0.0.605
type AggregatedNetworkConnection struct {
DNSName string `json:"dnsName"`
Direction string `json:"direction"`
Port int32 `json:"port"`
Protocol string `json:"protocol"`
EndpointWorkloadName *string `json:"endpointWorkloadName,omitempty"`
EndpointWorkloadNamespace *string `json:"endpointWorkloadNamespace,omitempty"`
IPAddresses []string `json:"ipAddresses"`
}
type Alert2Channel ¶
type Alert2Channel struct {
Critical []SlackChannel `json:"criticalChannels,omitempty" bson:"criticalChannels,omitempty"`
Error []SlackChannel `json:"errorChannels,omitempty" bson:"errorChannels,omitempty"`
Info []SlackChannel `json:"infoChannels,omitempty" bson:"infoChannels,omitempty"`
}
type AlertSourcePlatform ¶ added in v0.0.545
type AlertSourcePlatform int
const ( AlertSourcePlatformUnknown AlertSourcePlatform = iota AlertSourcePlatformK8sAgent // node-agent running on Kubernetes (user facing: "Kubernetes Node Agent") AlertSourcePlatformHostAgent // host-agent (user facing: "Linux Host Agent") AlertSourcePlatformCloud // CDR alerts from cloud sources (e.g. CloudTrail, Cloud Audit Logs) (user facing: "Cloud Log Agent") AlertSourcePlatformECSAgent // ecs-agent running on EC2 (user facing: "ECS Node Agent") AlertSourcePlatformPtraceAgent // ptrace-agent running on fargate or other environments without eBPF (user facing: "Linux Ptrace Agent") )
type ApprovementState ¶
type ApprovementState struct {
UpdateAuditEntry `json:",inline"`
Status ApprovementStatus `json:"status"`
}
type ApprovementStatus ¶
type ApprovementStatus int
const ( ApprovementStatusApprove ApprovementStatus = iota + 1 ApprovementStatusDecline ApprovementStatusPending )
type AssociationStatus ¶
type AssociationStatus int
const ( AssociationStatusAssigned AssociationStatus = iota + 1 AssociationStatusShown AssociationStatusDeclineByUser AssociationStatusHandled // the user took this recommendation into account AssociationStatusFixed // the user fixed the issue in some another way )
type AttackChain ¶ added in v0.0.203
type AttackChain struct {
AttackChainNodes AttackChainNode `json:"attackChainNodes,omitempty" bson:"attackChainNodes,omitempty"`
AttackChainConfig
}
type AttackChainConfig ¶ added in v0.0.210
type AttackChainConfig struct {
PortalBase `json:",inline" bson:",inline"`
Resource identifiers.PortalDesignator `json:"resource,omitempty" bson:"resource,omitempty"`
Description string `json:"description,omitempty" bson:"description,omitempty"`
CreationTime string `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
AttackChainID string `json:"attackChainID,omitempty" bson:"attackChainID,omitempty"` // name/cluster/resourceID
ClusterName string `json:"clusterName,omitempty" bson:"clusterName,omitempty"`
CustomerGUID string `json:"customerGUID,omitempty" bson:"customerGUID,omitempty"`
LatestReportGUID string `json:"latestReportGUID,omitempty" bson:"latestReportGUID,omitempty"` // latest reportGUID in which this attack chain was identified
UIStatus *AttackChainUIStatus `json:"uiStatus,omitempty" bson:"uiStatus,omitempty"`
Status AttackChainStatus `json:"status,omitempty" bson:"status,omitempty"` // "active"/ "fixed"
IsInternetFacing *bool `json:"isInternetFacing,omitempty" bson:"isInternetFacing,omitempty"`
}
type AttackChainNode ¶ added in v0.0.203
type AttackChainNode struct {
Name string `json:"name" bson:"name,omitempty"`
Description string `json:"description" bson:"description,omitempty"`
ControlIDs []string `json:"controlIDs,omitempty" bson:"controlIDs,omitempty"` // failed/ignored controls that are associated to this attack chain node
Vulnerabilities []Vulnerabilities `json:"vulnerabilities,omitempty" bson:"vulnerabilities,omitempty"`
RelatedResources []RelatedResource `json:"relatedResources" bson:"relatedResources,omitempty"`
NextNodes []AttackChainNode `json:"nextNodes,omitempty" bson:"nextNodes,omitempty"`
FlattenRelatedResourcesDisplay bool `json:"flattenRelatedResourcesDisplay,omitempty" bson:"flattenRelatedResourcesDisplay,omitempty"`
}
func (*AttackChainNode) Equals ¶ added in v0.0.248
func (a *AttackChainNode) Equals(b *AttackChainNode) bool
func (*AttackChainNode) GetControlIDsFromAllNodes ¶ added in v0.0.241
func (attackChainNode *AttackChainNode) GetControlIDsFromAllNodes(controlIDs []string) []string
GetControlIDsFromAllNodes is a recursive func that returns a list of controlIDs from all nodes in the attack chain
type AttackChainStatus ¶ added in v0.0.203
type AttackChainStatus string
type AttackChainUIStatus ¶ added in v0.0.203
type AttackChainUIStatus struct {
// fields updated by the BE
FirstSeen string `json:"firstSeen,omitempty" bson:"firstSeen,omitempty"` // timestamp of first scan in which the attack chain was identified
// fields updated by the UI
ViewedMainScreen string `json:"viewedMainScreen,omitempty" bson:"viewedMainScreen,omitempty"` // if the attack chain was viewed by the user// New badge
ProcessingStatus string `json:"processingStatus,omitempty" bson:"processingStatus,omitempty"` // "processing"/ "done"
}
struct for UI support. All strings are timestamps
type AuthMethod ¶ added in v0.0.125
type AzureImageRegistry ¶ added in v0.0.459
type AzureImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
LoginServer string `json:"loginServer"`
Username string `json:"username"`
AccessToken string `json:"accessToken,omitempty"`
}
func (*AzureImageRegistry) ExtractSecret ¶ added in v0.0.459
func (azure *AzureImageRegistry) ExtractSecret() interface{}
func (*AzureImageRegistry) FillSecret ¶ added in v0.0.459
func (azure *AzureImageRegistry) FillSecret(value interface{}) error
func (*AzureImageRegistry) GetDisplayName ¶ added in v0.0.473
func (azure *AzureImageRegistry) GetDisplayName() string
func (*AzureImageRegistry) MaskSecret ¶ added in v0.0.459
func (azure *AzureImageRegistry) MaskSecret()
func (*AzureImageRegistry) Validate ¶ added in v0.0.459
func (azure *AzureImageRegistry) Validate() error
type Banner ¶ added in v0.0.194
type Banner struct {
CustomerGUID string `json:"customerGUID,omitempty" bson:"customerGUID,omitempty"` // customerGUID of the account which clicked the banner
ScanID string `json:"scanID,omitempty" bson:"scanID,omitempty"` // for detailed view, unique key for banner is combination of scanID and bannerID
}
type BaseContainerImageRegistry ¶ added in v0.0.449
type BaseContainerImageRegistry struct {
PortalBase `json:",inline" bson:"inline"`
Provider RegistryProvider `json:"provider" bson:"provider"`
ClusterName string `json:"clusterName" bson:"clusterName"`
Repositories []string `json:"repositories" bson:"repositories"`
LastScan *time.Time `json:"lastScan,omitempty" bson:"lastScan,omitempty"`
ScanFrequency string `json:"scanFrequency,omitempty" bson:"scanFrequency"`
NextScan *time.Time `json:"nextScan,omitempty" bson:"nextScan,omitempty"`
ResourceName string `json:"resourceName,omitempty" bson:"resourceName,omitempty"`
AuthID string `json:"authID,omitempty" bson:"authID"`
ManageStatus RegistryManageStatus `json:"manageStatus,omitempty" bson:"manageStatus"`
ManageStatusMessage string `json:"manageStatusMessage,omitempty" bson:"manageStatusMessage"`
ScanStatus RegistryScanStatus `json:"scanStatus,omitempty" bson:"scanStatus"`
ScanStatusMessage string `json:"scanStatusMessage,omitempty" bson:"scanStatusMessage"`
}
func (*BaseContainerImageRegistry) GetBase ¶ added in v0.0.473
func (b *BaseContainerImageRegistry) GetBase() *BaseContainerImageRegistry
func (*BaseContainerImageRegistry) SetBase ¶ added in v0.0.473
func (b *BaseContainerImageRegistry) SetBase(base *BaseContainerImageRegistry)
func (*BaseContainerImageRegistry) ValidateBase ¶ added in v0.0.459
func (base *BaseContainerImageRegistry) ValidateBase() error
type BaseExceptionPolicy ¶ added in v0.0.334
type BaseExceptionPolicy struct {
PortalBase `json:",inline" bson:"inline"`
PolicyType PolicyType `json:"policyType,omitempty" bson:"policyType,omitempty"`
// IDs of the policies (SecurityRiskID, ControlID, etc.)
PolicyIDs []string `json:"policyIDs,omitempty" bson:"policyIDs,omitempty"`
CreationTime string `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
Reason string `json:"reason,omitempty" bson:"reason,omitempty"`
ExpirationDate *time.Time `json:"expirationDate,omitempty" bson:"expirationDate,omitempty"`
CreatedBy string `json:"createdBy,omitempty" bson:"createdBy,omitempty"`
Resources []identifiers.PortalDesignator `json:"resources,omitempty" bson:"resources,omitempty"`
AdvancedScopes []AdvancedScopeEntity `json:"advancedScopes,omitempty" bson:"advancedScopes,omitempty"`
}
type BaseImage ¶ added in v0.0.424
type BaseImage struct {
DisplayName string `json:"displayName"`
Command string `json:"command"`
Size uint64 `json:"size"`
HighestSeverityFound string `json:"highestSeverityFound,omitempty"`
Layers []ImageLayer `json:"layers,omitempty"`
}
type BaseRuntimeAlert ¶ added in v0.0.367
type BaseRuntimeAlert struct {
// AlertName is either RuleName or MalwareName
AlertName string `json:"alertName,omitempty" bson:"alertName,omitempty"`
// Arguments of specific alerts (e.g. for unexpected files: open file flags; for unexpected process: return code)
Arguments map[string]interface{} `json:"arguments,omitempty" bson:"arguments,omitempty"`
// Infected process id
InfectedPID uint32 `json:"infectedPID,omitempty" bson:"infectedPID,omitempty"`
// Process tree unique id
ProcessTreeUniqueID uint32 `json:"processTreeUniqueID,omitempty" bson:"processTreeUniqueID,omitempty"`
// Fix suggestions
FixSuggestions string `json:"fixSuggestions,omitempty" bson:"fixSuggestions,omitempty"`
// MD5 hash of the file that was infected
MD5Hash string `json:"md5Hash,omitempty" bson:"md5Hash,omitempty"`
// SHA1 hash of the file that was infected
SHA1Hash string `json:"sha1Hash,omitempty" bson:"sha1Hash,omitempty"`
// SHA256 hash of the file that was infected
SHA256Hash string `json:"sha256Hash,omitempty" bson:"sha256Hash,omitempty"`
// Severity of the alert
Severity int `json:"severity,omitempty" bson:"severity,omitempty"`
// Size of the file that was infected
Size string `json:"size,omitempty" bson:"size,omitempty"`
// Timestamp of the alert
Timestamp time.Time `json:"timestamp" bson:"timestamp"`
// Nanoseconds of the alert
Nanoseconds uint64 `json:"nanoseconds,omitempty" bson:"nanoseconds,omitempty"`
// Trace of the alert
Trace Trace `json:"trace,omitempty" bson:"trace,omitempty"`
// Unique ID of the alert
UniqueID string `json:"uniqueID,omitempty" bson:"uniqueID,omitempty"`
// Profile metadata
ProfileMetadata *ProfileMetadata `json:"profileMetadata,omitempty" bson:"profileMetadata,omitempty"`
// Identifiers of the alert
Identifiers *common.Identifiers `json:"identifiers,omitempty" bson:"identifiers,omitempty"`
// Version of the agent that generated the alert
AgentVersion string `json:"agentVersion,omitempty" bson:"agentVersion,omitempty"`
}
type CAContainerMetrics ¶ added in v0.0.249
type CAContainerMetrics struct {
core.Container `json:",inline"`
CAIntegrityStatus int `json:"caIntegrityStatus"`
}
CAContainerMetrics holds data of single container which runs in multiple pods
type CAK8SMeta ¶ added in v0.0.249
type CAK8SMeta struct {
CustomerGUID string `json:"customerGUID"`
CAClusterName string `json:"caClusterName,omitempty"`
LastUpdateTime time.Time `json:"caLastUpdate"`
IsActive bool `json:"isActive"`
}
CAK8SMeta holds common metadata about k8s objects
type CAMicroserviceOverview ¶ added in v0.0.249
type CAMicroserviceOverview struct {
CAMicroserviceOverviewMetadata `json:",inline"`
}
CAMicroserviceOverview represnets it's name
type CAMicroserviceOverviewMetadata ¶ added in v0.0.249
type CAMicroserviceOverviewMetadata struct {
CAK8SMeta `json:",inline"`
WLID string `json:"wlid"`
Datacenter string `json:"datacenter,omitempty"`
OVNamespace string `json:"namespace,omitempty"`
Project string `json:"project,omitempty"`
Orchestrator string `json:"orchestrator"`
Kind string `json:"kind"`
OperationType string `json:"operationType"`
OVName string `json:"name"`
Categories []string `json:"categories"`
DisplayName string `json:"displayName,omitempty"`
CloudProvider string `json:"cloudProvider"`
}
CAMicroserviceOverviewMetadata represnets it's name
type CSPMExceptionPolicy ¶ added in v0.0.509
type Capability ¶ added in v0.0.564
type CheckRegistryResp ¶ added in v0.0.471
type CisaKevInfo ¶ added in v0.0.281
type CloudMetadata ¶ added in v0.0.469
type CloudMetadata struct {
AccountID string `json:"account_id,omitempty" bson:"account_id,omitempty"`
ClusterName string `json:"cluster_name,omitempty" bson:"cluster_name,omitempty"`
HostType HostType `json:"host_type,omitempty" bson:"host_type,omitempty"`
Hostname string `json:"hostname,omitempty" bson:"hostname,omitempty"`
InstanceID string `json:"instance_id,omitempty" bson:"instance_id,omitempty"`
InstanceType string `json:"instance_type,omitempty" bson:"instance_type,omitempty"` // m5.large, ...
MachineID string `json:"machine_id,omitempty" bson:"machine_id,omitempty"`
OrgID string `json:"org_id,omitempty" bson:"org_id,omitempty"`
PrivateIP string `json:"private_ip,omitempty" bson:"private_ip,omitempty"`
PrivateIPs []string `json:"private_ips,omitempty" bson:"private_ips,omitempty"`
// Provider is the cloud provider name (e.g. aws, gcp, azure).
Provider Provider `json:"provider,omitempty" bson:"provider,omitempty"`
PublicIP string `json:"public_ip,omitempty" bson:"public_ip,omitempty"`
PublicIPs []string `json:"public_ips,omitempty" bson:"public_ips,omitempty"`
Region string `json:"region,omitempty" bson:"region,omitempty"`
ResourceGroup string `json:"resource_group,omitempty" bson:"resource_group,omitempty"` // Azure Resource Group
Services []string `json:"services,omitempty" bson:"services,omitempty"`
Zone string `json:"zone,omitempty" bson:"zone,omitempty"`
}
type ClusterAttackChainState ¶ added in v0.0.251
type ClusterAttackChainState struct {
PortalBase `json:",inline" bson:"inline"`
CreationTime string `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
ClusterName string `json:"clusterName,omitempty" bson:"clusterName,omitempty"`
LastPostureScanTriggered string `json:"lastPostureScanTriggered,omitempty" bson:"lastPostureScanTriggered,omitempty"`
LastTimeEngineCompleted string `json:"lastTimeEngineCompleted,omitempty" bson:"lastTimeEngineCompleted,omitempty"`
}
type ClusterInfo ¶ added in v0.0.502
type ClusterInfo struct {
Cluster string `json:"cluster"`
NodeCount int `json:"nodeCount"`
CPUSum int `json:"cpuSum"`
CloudProvider string `json:"cloudProvider"`
HelmVersion string `json:"helmVersion"`
ClusterVersion string `json:"clusterVersion"`
LastReportTime *time.Time `json:"lastReportTime,omitempty"`
LastKeepAlive *time.Time `json:"lastKeepAlive,omitempty"`
CreatedAt *time.Time `json:"createdAt,omitempty"`
IsConnected bool `json:"isConnected"`
Capabilities []Capability `json:"capabilities,omitempty"`
Status string `json:"status,omitempty"`
FailedFeatures []string `json:"failedFeatures,omitempty"`
ConnectionTime *time.Time `json:"connectionTime,omitempty"`
StatusChangeTime *time.Time `json:"statusChangeTime,omitempty"`
}
type CommPID ¶ added in v0.0.549
type CommPID struct {
Comm string `json:"comm,omitempty" bson:"comm,omitempty"`
PID uint32 `json:"pid,omitempty" bson:"pid,omitempty"`
}
func (CommPID) MarshalText ¶ added in v0.0.549
MarshalText implements encoding.TextMarshaler
func (*CommPID) UnmarshalText ¶ added in v0.0.549
UnmarshalText implements encoding.TextUnmarshaler
type CommonSummaryFields ¶
type CommonSummaryFields struct {
// The unique id of the report this summary belongs to
ReportID GUID `json:"reportGUID"`
// The designators of this summary
Designators *identifiers.PortalDesignator `json:"designators"`
// Time of the scan that produced this summary
Timestamp time.Time `json:"timestamp"`
// swagger:ignore
// Indication if this summary is marked for deletetion
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
}
swagger:model
type ComponentPathInfo ¶ added in v0.0.283
type ComponentPathInfo struct {
ContainerPathInfo
HostPathInfo
ImageTag string `json:"imageTag"`
ImageHash string `json:"imageHash"`
IsRelevant string `json:"isRelevant"`
Paths []string `json:"paths"`
}
type ComponentSummary ¶ added in v0.0.293
type ComponentSummary struct {
CustomerGUID string `json:"customerGUID"`
Name string `json:"name"`
Version string `json:"version"`
PackageType string `json:"packageType"`
Paths []string `json:"paths"`
FixVersions []string `json:"fixVersions"`
Licenses []string `json:"licenses"`
CriticalCount int `json:"criticalCount"`
HighCount int `json:"highCount"`
MediumCount int `json:"mediumCount"`
LowCount int `json:"lowCount"`
UnknownCount int `json:"unknownCount"`
ClustersCount int `json:"clustersCount"`
NamespacesCount int `json:"namespacesCount"`
WorkloadsCount int `json:"workloadsCount"`
ImagesCount int `json:"imagesCount"`
HostsCount int `json:"hostsCount"`
SeverityStats map[string][]string `json:"severityStats"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
TicketsCount int `json:"ticketsCount,omitempty"`
}
type ConnectedStatus ¶ added in v0.0.270
type ConnectedStatus string
const ( Connected ConnectedStatus = "connected" Disconnected ConnectedStatus = "disconnected" )
type ContainerImageRegistry ¶ added in v0.0.459
type ContainerImageRegistry interface {
MaskSecret()
ExtractSecret() interface{}
FillSecret(interface{}) error
GetBase() *BaseContainerImageRegistry
SetBase(*BaseContainerImageRegistry)
Validate() error
GetDisplayName() string
}
func UnmarshalRegistry ¶ added in v0.0.459
func UnmarshalRegistry(payload []byte) (ContainerImageRegistry, error)
type ContainerImageRegistryScanStatusUpdate ¶ added in v0.0.480
type ContainerImageRegistryScanStatusUpdate struct {
GUID string `json:"guid"`
ScanStatus RegistryScanStatus `json:"scanStatus"`
ScanStatusMessage string `json:"scanStatusMessage,omitempty"`
ScanTime time.Time `json:"scanTime"`
}
type ContainerPathInfo ¶ added in v0.0.283
type ContainerPathInfo struct {
NameSpace string `json:"namespace"`
WorkloadName string `json:"workloadName"`
ContainerName string `json:"containerName"`
WorkloadKind string `json:"workloadKind"`
WorkloadHash string `json:"workloadHash"`
WLID string `json:"wlid"`
ClusterName string `json:"clusterName"`
ClusterShortName string `json:"clusterShortName"`
}
type ContainerStatus ¶ added in v0.0.418
type ContainerStatus struct {
CustomerGUID string `json:"customerGUID"`
ClusterName string `json:"clusterName"`
ResourceHash string `json:"resourceHash"`
Name string `json:"name"` // container name
ContainerType ContainerType `json:"containerType"` // initcontainer, container, ephemeralcontainer
Architectures []string `json:"architectures"` // architectures of the container
WorkloadName string `json:"workloadName"` // name of the workload
Kind string `json:"kind"` // kind of the workload
Namespace string `json:"namespace"` // namespace of the workload
// seccomp related fields (coming from ApplicationProfile)
// IsSeccompConfiguredWorkloadLevel *bool `json:"isSeccompConfiguredWorkloadLevel"` // if nil, seccomp is not configured
IsSeccompConfiguredDefaultRuntime *bool `json:"isSeccompConfiguredDefaultRuntime"` // if nil, seccomp is not configured
SeccompConfiguredLocalhostProfile string `json:"seccompConfiguredLocalhostProfile"`
SeccompConfiguredSyscalls []string `json:"seccompConfiguredSyscalls"`
SeccompConfiguredArchitectures []string `json:"seccompConfiguredArchitectures"`
SyscallsUsed []string `json:"syscallsUsed"`
ApplicationProfileLastUpdated *time.Time `json:"applicationProfileLastUpdated"` // last updated time of applicationProfile
ApplicationProfileResourceHash string `json:"applicationProfileResourceHash"` // resource hash of applicationProfile
}
type ContainerSummary ¶ added in v0.0.249
type ContainerSummary struct {
Name string `json:"name"`
Image string `json:"image"`
IsPrivileged bool `json:"root"`
Probes []Probe `json:"probes,omitempty"`
Limitations `json:"limitations,omitempty"`
}
ContainerSummary - a must have summarized info of containers
type ContainerType ¶ added in v0.0.418
type ContainerType string
const ( InitContainer ContainerType = "initcontainer" Container ContainerType = "container" EphemeralContainer ContainerType = "ephemeralcontainer" )
type ContainersStatusData ¶ added in v0.0.249
ContainersStatusData holds the status of containers in runtime. This including the docker image tag + image hash
func (*ContainersStatusData) GetContainerImageDetails ¶ added in v0.0.249
func (contsImages *ContainersStatusData) GetContainerImageDetails(contName string) (string, string, error)
GetContainerImageDetails extract the docker image details of specific container in list
type ControlInfo ¶
type ControlInfo struct {
// ID of the control
// Example: C-0034
ID string `json:"id"`
Name string `json:"name"`
// How much this control is critical
// Example: 6
BaseScore float32 `json:"baseScore"`
// How many failed resources for this control
// Example: 3
FailedResources int `json:"failedResources"`
SmartRemediation bool `json:"smartRemediation"`
}
ControlInfo Basic information about a control
type ControlInputs ¶
type ControlInputs struct {
Rulename string
Inputs []PostureAttributesList // Attribute = input list name, Values = list values
}
type CountFunc ¶ added in v0.0.216
type CountFunc func(customerGUID string, scopeFilters *QueryScopeParams, paginationObject *V2ListRequest) (uint64, error)
type CustomerAccessStatus ¶ added in v0.0.170
type CustomerAccessStatus string
const ( PayingCustomer CustomerAccessStatus = "paying" FreeCustomer CustomerAccessStatus = "free" TrialCustomer CustomerAccessStatus = "trial" BlockedCustomer CustomerAccessStatus = "blocked" LimitedCustomer CustomerAccessStatus = "limited" )
type CustomerConfig ¶
type CustomerConfig struct {
Name string `json:"name" bson:"name"`
Attributes map[string]interface{} `json:"attributes,omitempty" bson:"attributes,omitempty"` // could be string
Scope identifiers.PortalDesignator `json:"scope" bson:"scope"`
Settings Settings `json:"settings" bson:"settings"`
}
func MockCustomerConfig ¶
func MockCustomerConfig() *CustomerConfig
type CustomerOnboarding ¶ added in v0.0.143
type CustomerOnboarding struct {
Completed *bool `json:"completed,omitempty" bson:"completed,omitempty"` // user completed the onboarding
CompanySize *string `json:"companySize,omitempty" bson:"companySize,omitempty"` // user company size
Role *string `json:"role,omitempty" bson:"role,omitempty"` // user role
OrgName *string `json:"orgName,omitempty" bson:"orgName,omitempty"` // user organization name
Interests []string `json:"interests,omitempty" bson:"interests,omitempty"` // user interests
}
type CustomerState ¶ added in v0.0.143
type CustomerState struct {
Onboarding *CustomerOnboarding `json:"onboarding,omitempty" bson:"onboarding,omitempty"`
GettingStarted *GettingStartedChecklist `json:"gettingStarted,omitempty" bson:"gettingStarted,omitempty"`
NodeUsage *NodeUsage `json:"nodeUsage,omitempty" bson:"nodeUsage,omitempty"`
AttackChainsLastScan string `json:"attackChainsLastScan,omitempty" bson:"attackChainsLastScan,omitempty"`
FeatureFlags *map[string]bool `json:"enabledFeatureFlags,omitempty" bson:"enabledFeatureFlags,omitempty"`
}
CustomerState holds the state of the customer, used for UI purposes
func (*CustomerState) IsFeatureEnabled ¶ added in v0.0.511
func (cs *CustomerState) IsFeatureEnabled(key string) bool
func (*CustomerState) SetFeatureEnabled ¶ added in v0.0.511
func (cs *CustomerState) SetFeatureEnabled(key string, val bool)
type Cvss ¶ added in v0.0.290
type Cvss struct {
Vector string `json:"vector"`
Version string `json:"version"`
Source string `json:"source"`
BaseScore float64 `json:"baseScore"`
ExploitabiltiyScore float64 `json:"exploitabilityScore"`
ImpactScore float64 `json:"impactScore"`
ExploitabilityInfo CvssExploitabilityInfo `json:"exploitabilityInfo"`
ImpactInfo CvssImpactInfo `json:"impactInfo"`
}
type CvssExploitabilityInfo ¶ added in v0.0.283
type CvssExploitabilityInfo struct {
AttackVector string `json:"attackVector,omitempty"`
AccessVector string `json:"accessVector,omitempty"`
AttackComplexity string `json:"attackComplexity,omitempty"`
AccessComplexity string `json:"accessComplexity,omitempty"`
Authentication string `json:"authentication,omitempty"`
PrivilegesRequired string `json:"privilegesRequired,omitempty"`
UserInteraction string `json:"userInteraction,omitempty"`
Scope string `json:"scope,omitempty"`
}
type CvssImpactInfo ¶ added in v0.0.283
type DeleteCountResponse ¶ added in v0.0.272
type DeleteCountResponse struct {
DeletedCount int64 `json:"deletedCount"`
}
type Duration ¶ added in v0.0.207
func (Duration) MarshalJSON ¶ added in v0.0.207
func (*Duration) SetDuration ¶ added in v0.0.207
func (*Duration) UnmarshalJSON ¶ added in v0.0.207
type EndpointKind ¶ added in v0.0.551
type EndpointKind string
const ( EndpointKindPod EndpointKind = "pod" EndpointKindService EndpointKind = "svc" EndpointKindRaw EndpointKind = "raw" )
type EnforcmentsRule ¶
type EventType ¶ added in v0.0.634
type EventType string
const ( EventTypeExec EventType = "exec" EventTypeOpen EventType = "open" EventTypeCapabilities EventType = "capabilities" EventTypeDNS EventType = "dns" EventTypeNetwork EventType = "network" EventTypeSyscall EventType = "syscall" EventTypeSymlink EventType = "symlink" EventTypeHardlink EventType = "hardlink" EventTypeSSH EventType = "ssh" EventTypeHTTP EventType = "http" )
type ExecutionPolicy ¶
type ExecutionPolicy struct {
PortalBase `json:",inline"`
Designators []identifiers.PortalDesignator `json:"designators"`
PolicyType string `json:"policyType"`
CreationTime string `json:"creation_time"`
ExecutionEnforcmentsRules []EnforcmentsRule `json:"enforcementRules"`
}
type File ¶ added in v0.0.516
type File struct {
Path string `json:"path,omitempty" bson:"path,omitempty"`
Size int64 `json:"size,omitempty" bson:"size,omitempty"`
Hashes FileHashes `json:"hashes,omitempty" bson:"hashes,omitempty"`
Timestamps FileTimestamps `json:"timestamps,omitempty" bson:"timestamps,omitempty"`
Ownership FileOwnership `json:"ownership,omitempty" bson:"ownership,omitempty"`
Attributes FileAttributes `json:"attributes,omitempty" bson:"attributes,omitempty"`
}
type FileAttributes ¶ added in v0.0.516
type FileAttributes struct {
Permissions string `json:"permissions,omitempty" bson:"permissions,omitempty"`
}
type FileHashes ¶ added in v0.0.516
type FileOwnership ¶ added in v0.0.516
type FileTimestamps ¶ added in v0.0.516
type GenericCRD ¶ added in v0.0.399
type GettingStartedChecklist ¶ added in v0.0.143
type GettingStartedChecklist struct {
// indicates if the user has dismissed the checklist
GettingStartedDismissed *bool `json:"gettingStartedDismissed,omitempty" bson:"gettingStartedDismissed,omitempty"`
// checklist items
EverConnectedCluster *bool `json:"everConnectedCluster,omitempty" bson:"everConnectedCluster,omitempty"`
EverScannedRepository *bool `json:"everScannedRepository,omitempty" bson:"everScannedRepository,omitempty"`
EverScannedRegistry *bool `json:"everScannedRegistry,omitempty" bson:"everScannedRegistry,omitempty"`
EverCollaborated *bool `json:"everCollaborated,omitempty" bson:"everCollaborated,omitempty"` // TODO - deprecated, replaced by EverConnectedTicketing + EverConnectedAlerting
EverInvitedTeammate *bool `json:"everInvitedTeammate,omitempty" bson:"everInvitedTeammate,omitempty"`
EverUsedRbacVisualizer *bool `json:"everUsedRbacVisualizer,omitempty" bson:"everUsedRbacVisualizer,omitempty"`
EverConnectedTicketing *bool `json:"everConnectedTicketing,omitempty" bson:"everConnectedTicketing,omitempty"`
EverConnectedAlerting *bool `json:"everConnectedAlerting,omitempty" bson:"everConnectedAlerting,omitempty"`
}
type GitlabImageRegistry ¶ added in v0.0.641
type GitlabImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
RegistryURL string `json:"registryURL"`
Username string `json:"username"`
AccessToken string `json:"accessToken,omitempty"`
}
func (*GitlabImageRegistry) ExtractSecret ¶ added in v0.0.641
func (gitlab *GitlabImageRegistry) ExtractSecret() interface{}
func (*GitlabImageRegistry) FillSecret ¶ added in v0.0.641
func (gitlab *GitlabImageRegistry) FillSecret(value interface{}) error
func (*GitlabImageRegistry) GetDisplayName ¶ added in v0.0.641
func (gitlab *GitlabImageRegistry) GetDisplayName() string
func (*GitlabImageRegistry) MaskSecret ¶ added in v0.0.641
func (gitlab *GitlabImageRegistry) MaskSecret()
func (*GitlabImageRegistry) Validate ¶ added in v0.0.641
func (gitlab *GitlabImageRegistry) Validate() error
type GoogleImageRegistry ¶ added in v0.0.459
type GoogleImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
RegistryURI string `json:"registryURI"`
ProjectID string `json:"projectID"`
Key map[string]interface{} `json:"key,omitempty"`
}
func (*GoogleImageRegistry) ExtractSecret ¶ added in v0.0.459
func (google *GoogleImageRegistry) ExtractSecret() interface{}
func (*GoogleImageRegistry) FillSecret ¶ added in v0.0.459
func (google *GoogleImageRegistry) FillSecret(value interface{}) error
func (*GoogleImageRegistry) GetDisplayName ¶ added in v0.0.473
func (google *GoogleImageRegistry) GetDisplayName() string
func (*GoogleImageRegistry) MaskSecret ¶ added in v0.0.459
func (google *GoogleImageRegistry) MaskSecret()
func (*GoogleImageRegistry) Validate ¶ added in v0.0.459
func (google *GoogleImageRegistry) Validate() error
type HarborImageRegistry ¶ added in v0.0.449
type HarborImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
InstanceURL string `json:"instanceURL"`
Username string `json:"username"`
Password string `json:"password,omitempty"`
}
func (*HarborImageRegistry) ExtractSecret ¶ added in v0.0.459
func (harbor *HarborImageRegistry) ExtractSecret() interface{}
func (*HarborImageRegistry) FillSecret ¶ added in v0.0.459
func (harbor *HarborImageRegistry) FillSecret(value interface{}) error
func (*HarborImageRegistry) GetDisplayName ¶ added in v0.0.473
func (harbor *HarborImageRegistry) GetDisplayName() string
func (*HarborImageRegistry) MaskSecret ¶ added in v0.0.459
func (harbor *HarborImageRegistry) MaskSecret()
func (*HarborImageRegistry) Validate ¶ added in v0.0.459
func (harbor *HarborImageRegistry) Validate() error
type HealthReport ¶ added in v0.0.661
type HealthReport struct {
// AgentVersion is the version of the agent emitting this report.
AgentVersion string `json:"agent_version"`
// SensorUpdated is the time the sensor was installed/updated.
SensorUpdated time.Time `json:"sensor_updated"`
// Timestamp is the time the report was generated.
Timestamp time.Time `json:"timestamp"`
// CloudMetadata contains enriched cloud provider metadata associated with this node.
CloudMetadata CloudMetadata `json:"cloudMetadata"`
}
HealthReport represents a minimal health report emitted by the agent.
type HighlightsByControl ¶
type HighlightsByControl struct {
ControlID string `json:"controlID"`
Highlights []string `json:"highlights"` // TODO: deprecate (failedPath)
ReviewPaths []string `json:"reviewPaths"`
DeletePaths []string `json:"deletePaths"`
FixPaths []FixPath `json:"fixPaths"`
FixCommand string `json:"fixCommand"`
}
type HostPathInfo ¶ added in v0.0.627
type HostPathInfo struct {
HostName string `json:"hostName"`
InstanceHash string `json:"instanceHash"`
HostID string `json:"hostID"`
AccountID string `json:"accountID"`
AccountName string `json:"accountName"`
HostType string `json:"hostType"`
Region string `json:"region"`
Provider string `json:"provider"`
}
type HostType ¶ added in v0.0.666
type HostType string
const ( HostTypeAci HostType = "aci" HostTypeAks HostType = "aks" HostTypeAutopilot HostType = "autopilot" HostTypeAzureVm HostType = "azurevm" HostTypeCloudRun HostType = "cloudrun" HostTypeDoks HostType = "doks" HostTypeDroplet HostType = "droplet" HostTypeEc2 HostType = "ec2" HostTypeEcsEc2 HostType = "ecs-ec2" HostTypeEcsFargate HostType = "ecs-fargate" HostTypeEcsService HostType = "ecs-service" HostTypeEcsTask HostType = "ecs-task" HostTypeEksEc2 HostType = "eks-ec2" HostTypeEksFargate HostType = "eks-fargate" HostTypeGce HostType = "gce" HostTypeGke HostType = "gke" HostTypeKubernetes HostType = "kubernetes" HostTypeOther HostType = "other" )
type HttpRuleAlert ¶ added in v0.0.506
type HttpRuleAlert struct {
Request struct {
Method string `json:"method,omitempty" bson:"method,omitempty"` // e.g., "GET"
URL string `json:"url,omitempty" bson:"url,omitempty"` // e.g., "/index.html"
Header map[string]string `json:"header,omitempty" bson:"header,omitempty"` // e.g., "Content-Type" -> ["application/json"]
Body string `json:"body,omitempty" bson:"body,omitempty"` // e.g., "<html>...</html>"
Proto string `json:"proto,omitempty" bson:"proto,omitempty"` // e.g., "HTTP/1.1"
Payload string `json:"payload,omitempty" bson:"payload,omitempty"` // e.g., "'OR 1=1"'"
} `json:"request,omitempty" bson:"request,omitempty"`
Response struct {
StatusCode int `json:"statusCode,omitempty" bson:"statusCode,omitempty"` // e.g., 200
Header map[string]string `json:"header,omitempty" bson:"header,omitempty"` // e.g., "Content-Type" -> ["application/json"]
Body string `json:"body,omitempty" bson:"body,omitempty"` // e.g., "<html>...</html>"
Proto string `json:"proto,omitempty" bson:"proto,omitempty"` // e.g., "HTTP/1.1"
FullResponse string `json:"fullResponse,omitempty" bson:"fullResponse,omitempty"` // e.g., "{...}"
} `json:"response,omitempty" bson:"response,omitempty"`
SourcePodInfo RuntimeAlertK8sDetails `json:"sourcePodInfo,omitempty" bson:"podInfo,omitempty"`
AttackerIp string `json:"attackerIp,omitempty" bson:"attackerIp,omitempty"`
// Enrichment fields for the layer 7 alert
PastActivityCount *int `json:"pastActivityCount,omitempty" bson:"pastActivityCount,omitempty"`
Country string `json:"country,omitempty" bson:"country,omitempty"`
City string `json:"city,omitempty" bson:"city,omitempty"`
Explain string `json:"explain,omitempty" bson:"explain,omitempty"`
}
type ISecurityIssue ¶ added in v0.0.325
type IgnoreRuleSummary ¶ added in v0.0.304
type IgnoreRuleUserInputMessage ¶ added in v0.0.435
type IgnoreRuleUserInputMessage struct {
PolicyType PolicyType `json:"policyType"`
NewData json.RawMessage `json:"newData"`
OldData json.RawMessage `json:"oldData"`
}
type ImageLayer ¶ added in v0.0.420
type ImageSummary ¶ added in v0.0.298
type ImageSummary struct {
CustomerGUID string `json:"customerGUID"`
Tag string `json:"tag"`
Digest string `json:"digest"`
Registry string `json:"registry"`
Repository string `json:"repository"`
Architecture string `json:"architecture"`
OS string `json:"os"`
Size uint64 `json:"size"`
BaseImage string `json:"baseImage"`
LastScanTime time.Time `json:"lastScanTime"`
Clusters []string `json:"clusters"`
Namespaces []string `json:"namespaces"`
Workloads []string `json:"workloads"`
Kinds []string `json:"kinds"`
Containers []string `json:"containers"`
SeverityStats map[string][]string `json:"severityStats"`
CriticalCount int `json:"criticalCount"`
HighCount int `json:"highCount"`
MediumCount int `json:"mediumCount"`
LowCount int `json:"lowCount"`
UnknownCount int `json:"unknownCount"`
ClustersCount int `json:"clustersCount"`
NamespacesCount int `json:"namespacesCount"`
WorkloadsCount int `json:"workloadsCount"`
ContainersCount int `json:"containersCount"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
TicketsCount int `json:"ticketsCount,omitempty"`
}
type InstallationData ¶ added in v0.0.191
type InstallationData struct {
ClusterName string `json:"clusterName,omitempty" bson:"clusterName,omitempty"` // cluster name defined manually or from the cluster context
ClusterShortName string `json:"clusterShortName,omitempty" bson:"clusterShortName,omitempty"` // cluster short name enriched from the cluster name by BE
StorageEnabled *bool `json:"storage,omitempty" bson:"storage,omitempty"` // storage configuration (enabled/disabled)
RelevantImageVulnerabilitiesEnabled *bool `json:"relevantImageVulnerabilitiesEnabled,omitempty" bson:"relevantImageVulnerabilitiesEnabled,omitempty"` // relevancy actual state (enabled/disabled)
RelevantImageVulnerabilitiesConfiguration RelevantImageVulnerabilitiesConfiguration `json:"relevantImageVulnerabilitiesConfiguration,omitempty" bson:"relevantImageVulnerabilitiesConfiguration,omitempty"` // relevancy configuration defined user
Namespace string `json:"namespace,omitempty" bson:"namespace,omitempty"` // namespace to deploy the components
ImageVulnerabilitiesScanningEnabled *bool `json:"imageVulnerabilitiesScanningEnabled,omitempty" bson:"imageVulnerabilitiesScanningEnabled,omitempty"` // image scanning configuration (enabled/disabled)
PostureScanEnabled *bool `json:"postureScanEnabled,omitempty" bson:"postureScanEnabled,omitempty"` // posture configuration (enabled/disabled)
OtelCollectorEnabled *bool `json:"otelCollector,omitempty" bson:"otelCollector,omitempty"` // otel collector configuration (enabled/disabled)
ClusterProvider string `json:"clusterProvider,omitempty" bson:"clusterProvider,omitempty"` // cluster provider (aws/azure/gcp)
IncludeNamespaces []string `json:"includeNamespaces,omitempty" bson:"includeNamespaces,omitempty"` // perform scanning only on specific namespaces
ExcludeNamespaces []string `json:"excludeNamespaces,omitempty" bson:"excludeNamespaces,omitempty"` // fully ignore namespaces
DefaultFrameworks []string `json:"defaultFrameworks,omitempty" bson:"defaultFrameworks,omitempty"` // fully ignore namespaces
}
type Inventory ¶ added in v0.0.675
type Inventory struct {
WorkloadName string `json:"workloadName"`
Kind string `json:"kind"` // will be deprecated in the future after type is introduced
Type string `json:"type"`
Cluster string `json:"cluster"`
AccountID string `json:"accountId"`
Region string `json:"region"`
Provider string `json:"provider"`
Namespace string `json:"namespace"`
CreationTimestamp *time.Time `json:"creationTimestamp,omitempty"`
CompletionStatus string `json:"completionStatus,omitempty"`
Status string `json:"status,omitempty"`
LearningPeriod string `json:"learningPeriod,omitempty"`
RiskFactors []string `json:"riskFactors,omitempty"`
LearningPercentage *int `json:"learningPercentage,omitempty"`
HostName string `json:"hostName,omitempty"`
AccountName string `json:"accountName,omitempty"`
InstanceID string `json:"instanceId,omitempty"`
HostIPs []string `json:"hostIPs,omitempty"`
Tags []string `json:"tags,omitempty"`
LaunchType string `json:"launchType,omitempty"`
HostType string `json:"hostType,omitempty"`
}
type K8SAncestor ¶ added in v0.0.249
type K8SAncestor struct {
Name string `json:"name"`
Kind string `json:"kind"`
FullDeclaraion interface{} `json:"ownerData,omitempty"`
}
K8SAncestor represents the kind of the microservice inside the k8s cluster
type K8SNamespace ¶ added in v0.0.249
type K8SNamespace struct {
CAK8SMeta `json:",inline"`
Name string `json:"name"`
core.Namespace `json:",inline"`
}
K8SNamespace represents single k8s namespace in cluster
type K8SPodObject ¶ added in v0.0.249
type K8SPodObject struct {
CAK8SMeta `json:",inline"`
Name string `json:"podName"`
CreatedAt time.Time `json:"startedAt,omitempty"`
TerminatedAt *time.Time `json:"terminatedAt,omitempty"`
PodIP string `json:"podIP"`
NodeName string `json:"nodeName"`
Namespace string `json:"namespace"`
NominatedNodeName string `json:"nominatedNodeName"`
Ancestor K8SAncestor `json:"uptreeOwner,omitempty"`
PodSpecID int64 `json:"podSpecId"`
PodStatus string `json:"podStatus"`
}
K8SPodObject represents actuall pod which run on particular node of the cluster
type KDRMonitoredClusters ¶ added in v0.0.535
type KDRMonitoredEntitiesCounters ¶ added in v0.0.400
type KPIPostureScan ¶
type KPIPostureScan struct {
Client string `json:"client"`
ClientVersion string `json:"clientVersion"`
Framework string `json:"framework"`
FrameworkVersion string `json:"frameworkVersion"`
Timestamp time.Time `json:"timestamp"`
Target string `json:"target"` //yaml,helm,running - what we actually scanned
ClientIP string `json:"clientIP"`
}
type KubernetesObject ¶ added in v0.0.264
type KubernetesObject struct {
Designators identifiers.PortalDesignator `json:"designators"`
ResourceHash string `json:"resourceHash"`
ResourceObjectRef string `json:"resourceObjectRef"`
ResourceVersion string `json:"resourceVersion"`
Checksum string `json:"checksum"`
CreationTimestamp time.Time `json:"creationTimestamp"`
OwnerReferenceName string `json:"ownerReferenceName"`
OwnerReferenceKind string `json:"ownerReferenceKind"`
// related only to kubescape CRDs.
RelatedName string `json:"relatedName"`
RelatedKind string `json:"relatedKind"`
RelatedAPIGroup string `json:"relatedAPIGroup"`
RelatedNamespace string `json:"relatedNamespace"`
RelatedAPIVersion string `json:"relatedAPIVersion"`
RelatedResourceVersion string `json:"relatedResourceVersion"`
Status string `json:"status"`
CompletionStatus string `json:"completionStatus"`
NetworkPolicyStatus NetworkPolicyStatus `json:"networkPolicyStatus"`
Labels map[string]string `json:"labels"`
Annotations map[string]string `json:"annotations"`
// pod selector labels of network policies
NetworkPolicyPodSelectorLabels map[string]string `json:"podSelectorLabels,omitempty"`
// pod spec labels of workloads
PodSpecLabels map[string]string `json:"podSpecLabels,omitempty"`
// pod selector labels of services
ServicePodSelectorLabels map[string]string `json:"servicePodSelectorLabels,omitempty"`
// roleRef of RoleBinding
RoleBindingRoleRef *RoleBindingRoleRef `json:"roleRef,omitempty"`
// subjects of RoleBinding
RoleBindingSubjects []RoleBindingSubject `json:"subjects,omitempty"`
// additional properties of the resource
AdditionalProps map[string]string `json:"additionalProps,omitempty"`
// containers (names) of the resource
Containers []string `json:"containers,omitempty"`
// init containers (names) of the resource
InitContainers []string `json:"initContainers,omitempty"`
// ephemeral containers (names) of the resource
EphemeralContainers []string `json:"ephemeralContainers,omitempty"`
// Storage-specific fields
ResourceSize int
RelatedContainerProfiles map[string]string
}
KubernetesObject represents a single Kubernetes object, either native or kubescape CRD
type LicenseType ¶ added in v0.0.154
type LicenseType string
const ( LicenseTypeFree LicenseType = "Free" LicenseTypeTeam LicenseType = "Team" LicenseTypeEnterprise LicenseType = "Enterprise" )
type Limitations ¶ added in v0.0.249
type Limitations struct {
CPU int64 `json:"cpu,omitempty"`
Memory int64 `json:"memory,omitempty"`
Disk int64 `json:"disk,omitempty"`
}
Limitations - container defined limitations
type MalwareAlert ¶ added in v0.0.359
type MalwareAlert struct {
MalwareFile File `json:"malwareFile,omitempty" bson:"malwareFile,omitempty"`
Action string `json:"action,omitempty" bson:"action,omitempty"`
DetectionMethod string `json:"detectionMethod,omitempty" bson:"detectionMethod,omitempty"`
ProcessTree ProcessTree `json:"processTree,omitempty" bson:"processTree,omitempty"`
Signature MalwareSignature `json:"signature,omitempty" bson:"signature,omitempty"`
MalwareDescription string `json:"malwareDescription,omitempty" bson:"malwareDescription,omitempty"`
}
type MalwareSignature ¶ added in v0.0.518
type MalwareSignature struct {
ID int64 `json:"id,omitempty"`
Sha256 string `json:"sha256,omitempty"`
Sha1 string `json:"sha1,omitempty"`
Md5 string `json:"md5,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Families []string `json:"families,omitempty"`
Aliases []string `json:"aliases,omitempty"`
Sources []string `json:"sources,omitempty"`
FirstSeen time.Time `json:"first_seen,omitempty"`
}
type MicroserviceExtraDetails ¶ added in v0.0.249
type MicroserviceExtraDetails struct {
CAMicroserviceOverviewMetadata `json:",inline"`
NumOfContainers int `json:"NumOfContainers"`
Labels map[string]string `json:"labels,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
ContainersSummary []ContainerSummary `json:"containers"`
ExternalFacing bool `json:"isExternalFacingMS"`
}
MicroserviceExtraDetails represent an overview of microservice, services, container data and cloud data
type MicroserviceInfo ¶ added in v0.0.249
type MicroserviceInfo struct {
MicroserviceMetadataView `json:",inline"`
PodSpecID int64 `json:"podSpecId"` // will be sent from the cluster-agent to reconize this spec
core.PodSpec `json:"spec"`
core.PodStatus `json:"status" yaml:"status"`
Containers []CAContainerMetrics `json:"containers,omitempty"`
K8SPodObjects []K8SPodObject `json:"k8sPodObjects,omitempty"`
CAStartTime time.Time `json:"caStartTime"`
}
MicroserviceInfo single microservice with CA metrics
func (*MicroserviceInfo) GetShortName ¶ added in v0.0.249
func (msi *MicroserviceInfo) GetShortName() string
GetShortName returns the last 2 parts of the microservice
type MicroserviceMetadataView ¶ added in v0.0.249
type MicroserviceMetadataView struct {
CAMicroserviceOverviewMetadata
metav1.ObjectMeta `json:"metadata"`
Ancestor K8SAncestor `json:"uptreeOwner,omitempty"`
UsageType string `json:"usageType,omitempty"`
Categories map[string]bool `json:"categories"`
CALabels map[string]string `json:"caLabels"`
}
MicroserviceMetadataView represent the model to return in metadata request
type MissingRuntimeInfoReason ¶ added in v0.0.356
type MissingRuntimeInfoReason int
const ( UnknownReason MissingRuntimeInfoReason = 0 RestartRequired MissingRuntimeInfoReason = 1 UnscheduledNodeAgentPods MissingRuntimeInfoReason = 2 IncompatibleKernel MissingRuntimeInfoReason = 3 RuncNotFound MissingRuntimeInfoReason = 4 )
MissingRuntimeInfoReason is used to store the reason why the runtime information is missing
type NetworkConnection ¶ added in v0.0.555
type NetworkConnection struct {
IPAddress string `json:"ipAddress"`
Inbound bool `json:"inbound"`
DNSName string `json:"dnsName"`
Port int32 `json:"port"`
Protocol string `json:"protocol"`
EndpointWorkloadName *string `json:"endpointWorkloadName,omitempty"`
EndpointWorkloadNamespace *string `json:"endpointWorkloadNamespace,omitempty"`
EndpointWorkloadKind *string `json:"endpointWorkloadKind,omitempty"`
}
NetworkConnection network connection
type NetworkPoliciesWorkload ¶ added in v0.0.269
type NetworkPoliciesWorkload struct {
ResourceHash string `json:"resourceHash"`
Name string `json:"name"`
Kind string `json:"kind"`
CustomerGUID string `json:"customerGUID"`
Namespace string `json:"namespace"`
ClusterName string `json:"cluster"`
ClusterShortName string `json:"clusterShortName"`
AppliedNetworkPolicyType string `json:"appliedNetworkPolicyType"`
NetworkPolicyStatus NetworkPolicyStatus `json:"networkPolicyStatus"`
NetworkPolicyStatusMessage string `json:"networkPolicyStatusMessage"`
MissingRuntimeInfoReason MissingRuntimeInfoReason `json:"missingRuntimeInfoReason"`
}
NetworkPoliciesWorkload is used store information about workloads in the customer's clusters related to the NetworkPolicies feature
type NetworkPolicyStatus ¶ added in v0.0.282
type NetworkPolicyStatus int
const ( MissingRuntimeInfo NetworkPolicyStatus = 1 NetworkPolicyRequired NetworkPolicyStatus = 2 NetworkPolicyApplied NetworkPolicyStatus = 3 )
type NetworkScanAlert ¶ added in v0.0.524
type NetworkStream ¶ added in v0.0.551
type NetworkStream struct {
// <identifier> to <network stream entity>
Entities map[string]NetworkStreamEntity `json:"entities,omitempty"`
}
NetworkStream represents a collection of network traffic events for a specific pod/container
type NetworkStreamEntity ¶ added in v0.0.551
type NetworkStreamEntity struct {
// entity kind
Kind NetworkStreamEntityKind `json:"kind,omitempty"`
// entity details
NetworkStreamEntityContainer `json:",inline"`
// inbound network events
Inbound map[string]NetworkStreamEvent `json:"inbound,omitempty"`
// outbound network events
Outbound map[string]NetworkStreamEvent `json:"outbound,omitempty"`
}
NetworkStreamEntity represents an aggregation of network connections from/to a specific source
type NetworkStreamEntityContainer ¶ added in v0.0.551
type NetworkStreamEntityContainer struct {
// ContainerName is the name of the container generating these network events
ContainerName string `json:"containerName,omitempty"`
// ContainerID is the unique identifier for the container
ContainerID string `json:"containerID,omitempty"`
// namespace is the namespace where the pod is deployed
PodNamespace string `json:"podNamespace,omitempty"`
// PodName is the name of the pod involved in the network traffic
PodName string `json:"podName,omitempty"`
// WorkloadName is the name of the parent workload (e.g., Deployment, StatefulSet)
WorkloadName string `json:"workloadName,omitempty"`
// WorkloadKind is the type of the parent workload (e.g., Deployment, StatefulSet)
WorkloadKind string `json:"workloadKind,omitempty"`
}
NetworkStreamEntityContainer represents a container generating network events
type NetworkStreamEntityKind ¶ added in v0.0.551
type NetworkStreamEntityKind string
const ( NetworkStreamEntityKindContainer NetworkStreamEntityKind = "container" // container NetworkStreamEntityKindHost NetworkStreamEntityKind = "host" // host )
type NetworkStreamEvent ¶ added in v0.0.551
type NetworkStreamEvent struct {
Timestamp time.Time `json:"timestamp,omitempty"`
IPAddress string `json:"ipAddress,omitempty"`
DNSName string `json:"dnsName,omitempty"`
Port int32 `json:"port,omitempty"`
Protocol NetworkStreamEventProtocol `json:"protocol,omitempty"`
ProcessTree *ProcessTree `json:"processTree,omitempty"`
// endpoint kind (pod, service, raw)
Kind EndpointKind `json:"kind,omitempty"`
// endpoint details in case of pod
NetworkStreamEventEndpointPodDetails `json:",inline"`
// endpoint details in case of service
NetworkStreamEventEndpointServiceDetails `json:",inline"`
}
NetworkStreamEvent represents an aggregation of network connections from/to a specific source
func (*NetworkStreamEvent) String ¶ added in v0.0.551
func (e *NetworkStreamEvent) String() string
type NetworkStreamEventEndpointPodDetails ¶ added in v0.0.551
type NetworkStreamEventEndpointPodDetails struct {
// PodName is the name of the pod
PodName string `json:"podName,omitempty"`
// PodNamespace is the namespace of the pod
PodNamespace string `json:"podNamespace,omitempty"`
// WorkloadName is the name of the parent workload (e.g., Deployment, StatefulSet)
WorkloadName string `json:"workloadName,omitempty"`
// WorkloadNamespace is the namespace of the parent workload
WorkloadNamespace string `json:"workloadNamespace,omitempty"`
// WorkloadKind is the kind of the parent workload (e.g., Deployment, StatefulSet)
WorkloadKind string `json:"workloadKind,omitempty"`
}
type NetworkStreamEventEndpointServiceDetails ¶ added in v0.0.551
type NetworkStreamEventProtocol ¶ added in v0.0.551
type NetworkStreamEventProtocol string
const ( NetworkStreamEventProtocolTCP NetworkStreamEventProtocol = "TCP" NetworkStreamEventProtocolUDP NetworkStreamEventProtocol = "UDP" NetworkStreamEventProtocolDNS NetworkStreamEventProtocol = "DNS" )
type NexusImageRegistry ¶ added in v0.0.473
type NexusImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
RegistryURL string `json:"registryURL"`
Username string `json:"username"`
Password string `json:"password,omitempty"`
}
func (*NexusImageRegistry) ExtractSecret ¶ added in v0.0.473
func (nexus *NexusImageRegistry) ExtractSecret() interface{}
func (*NexusImageRegistry) FillSecret ¶ added in v0.0.473
func (nexus *NexusImageRegistry) FillSecret(value interface{}) error
func (*NexusImageRegistry) GetDisplayName ¶ added in v0.0.473
func (nexus *NexusImageRegistry) GetDisplayName() string
func (*NexusImageRegistry) MaskSecret ¶ added in v0.0.473
func (nexus *NexusImageRegistry) MaskSecret()
func (*NexusImageRegistry) Validate ¶ added in v0.0.473
func (nexus *NexusImageRegistry) Validate() error
type NodeAgentConfig ¶ added in v0.0.582
type NodeAgentConfig struct {
MaxSniffingTime string `json:"maxSniffingTimePerContainer"`
}
type NodeProfile ¶ added in v0.0.399
type NodeProfile struct {
PodStatuses []PodStatus `json:"podStatuses"`
CurrentState string `json:"currentState"`
NodeAgentRunning bool `json:"nodeAgentRunning"`
RuntimeDetectionEnabled bool `json:"runtimeDetectionEnabled"`
CloudMetadata *CloudMetadata `json:"cloudMetadata,omitempty"`
}
information of node-agent pod status can be taken from PodStatus table in postgres
type NodeSpec ¶ added in v0.0.436
type NodeSpec struct {
AllocatedCPU *int `json:"allocatedCPU,omitempty"`
}
type NodeStatus ¶ added in v0.0.403
type NodeStatus struct {
CustomerGUID string `json:"customerGUID"`
Cluster string `json:"cluster"`
Name string `json:"name"`
K8sResourceHash string `json:"k8sResourceHash"`
NodeProfile `json:",inline"`
NodeSpec `json:",inline"`
}
func (*NodeStatus) CountMonitoredContainers ¶ added in v0.0.403
func (nc *NodeStatus) CountMonitoredContainers() int
func (*NodeStatus) CountMonitoredNamespaces ¶ added in v0.0.403
func (nc *NodeStatus) CountMonitoredNamespaces() int
func (*NodeStatus) CountMonitoredPods ¶ added in v0.0.403
func (nc *NodeStatus) CountMonitoredPods() int
func (*NodeStatus) CountRunningPods ¶ added in v0.0.403
func (nc *NodeStatus) CountRunningPods() int
func (*NodeStatus) CountRunningPodsContainers ¶ added in v0.0.403
func (nc *NodeStatus) CountRunningPodsContainers() int
func (*NodeStatus) GetMonitoredContainers ¶ added in v0.0.403
func (nc *NodeStatus) GetMonitoredContainers() map[string][]PodContainer
func (*NodeStatus) GetMonitoredNamespaces ¶ added in v0.0.403
func (nc *NodeStatus) GetMonitoredNamespaces() []string
func (*NodeStatus) GetMonitoredPods ¶ added in v0.0.403
func (nc *NodeStatus) GetMonitoredPods() []PodStatus
func (*NodeStatus) GetRunningPods ¶ added in v0.0.403
func (nc *NodeStatus) GetRunningPods() []PodStatus
func (*NodeStatus) IsKDRMonitored ¶ added in v0.0.403
func (nc *NodeStatus) IsKDRMonitored() bool
type Notifications ¶
type Notifications struct {
PostureScan []string `json:"postureScan,omitempty" bson:"postureScan,omitempty"` // bad approach kept till i see if can do something with mongo and old data
PostureScoreAboveLastScan []string `json:"postureScoreAboveLastScan,omitempty" bson:"postureScoreAboveLastScan,omitempty"`
PostureScanV1 []SlackNotification `json:"postureScanV1" bson:"postureScanV1"`
PostureScanAboveLastScanV1 []SlackNotification `json:"postureScoreAboveLastScanV1" bson:"postureScoreAboveLastScanV1"`
}
type PaginationCursorFunc ¶ added in v0.0.216
type PaginationCursorFunc func(customerGUID, instacnceID string, wlids []string, paginationObject *V2ListRequest) (*V2ListResponse, error)
PaginationCursorFunc declaring function which returns data ready for pagination by cursor to the next page
type PaginationSearchByScopeFiltersFunc ¶ added in v0.0.216
type PaginationSearchByScopeFiltersFunc func(customerGUID string, scopeFilters *QueryScopeParams, paginationObject *V2ListRequest) ([]RawJSONObject, *RespTotal, error)
type PaginationSearchByScopeFiltersScrollFunc ¶ added in v0.0.216
type PaginationSearchByScopeFiltersScrollFunc func(customerGUID string, scopeFilters *QueryScopeParams, paginationObject *V2ListRequest) (*SearchResponse, error)
PaginationSearchByScopeFiltersScrollFunc declaring function which returns data ready for paginationtype PaginationSearchByScopeFiltersFunc func(customerGUID string, scopeFilters *armotypes.QueryScopeParams, paginationObject *armotypes.V2ListRequest) ([]armotypes.RawJSONObject, *ElasticRespTotal, error)
type PaginationSearchFunc ¶ added in v0.0.216
type PaginationSearchFunc func(customerGUID, instacnceID string, wlids []string, paginationObject *V2ListRequest) ([]RawJSONObject, *RespTotal, error)
PaginationSearchFunc declaring function which returns data ready for pagination
type PodContainer ¶ added in v0.0.399
type PodContainer struct {
Name string `json:"name"`
Image string `json:"image"`
IsKDRMonitored bool `json:"isKDRMonitored"`
CurrentState string `json:"currentState"`
LastStateExitCode int `json:"lastStateExitCode"`
LastStateFinishedAt time.Time `json:"lastStateFinishedAt"`
LastStateStartedAt time.Time `json:"lastStateStartedAt"`
RestartCount int `json:"restartCount"`
}
type PodInfo ¶ added in v0.0.571
type PodInfo struct {
App string `json:"app"`
Name string `json:"name"`
Namespace string `json:"namespace"`
NodeName string `json:"nodeName"`
UpdatedAt time.Time `json:"updatedAt"`
CreationTime time.Time `json:"creationTimestamp"`
Phase string `json:"phase"`
CurrentState string `json:"currentState"`
LastStateReason string `json:"lastStateReason"`
LastStateFinishedAt time.Time `json:"lastStateFinishedAt"`
RestartCount int `json:"restartCount"`
ContainerImages []string `json:"containerImages,omitempty"`
}
type PodStatus ¶ added in v0.0.352
type PodStatus struct {
CustomerGUID string `json:"customerGUID"`
Cluster string `json:"cluster"`
ResourceHash string `json:"resourceHash"`
ResourceVersion string `json:"resourceVersion"`
Name string `json:"name"`
Namespace string `json:"namespace"`
NodeName string `json:"nodeName"`
App string `json:"app"`
Phase string `json:"phase"`
CurrentState string `json:"currentState"`
LastStateExitCode int `json:"lastStateExitCode"` // Deprecated, use PodContainer.LastStateExitCode
LastStateFinishedAt time.Time `json:"lastStateFinishedAt"` // Deprecated, use PodContainer.LastStateFinishedAt
LastStateStartedAt time.Time `json:"lastStateStartedAt"` // Deprecated, use PodContainer.LastStateStartedAt
LastStateReason string `json:"lastStateReason"`
LastStateMessage string `json:"lastStateMessage"`
LastStateTransitionTime time.Time `json:"lastStateTransitionTime"`
RestartCount int `json:"restartCount"` // Deprecated, use PodContainer.RestartCount
CreationTimestamp time.Time `json:"creationTimestamp"`
Containers []PodContainer `json:"containers,omitempty"`
InitContainers []PodContainer `json:"initContainers,omitempty"`
EphemeralContainers []PodContainer `json:"ephemeralContainers,omitempty"`
HasFinalApplicationProfile bool `json:"hasFinalApplicationProfile"`
HasApplicableRuleBindings bool `json:"hasApplicableRuleBindings"`
HasRelevancyCalculating bool `json:"hasRelevancyCalculating"`
IsKDRMonitored bool `json:"isKDRMonitored"`
ContainerImages []string `json:"containerImages,omitempty"`
}
func (*PodStatus) GetMonitoredContainers ¶ added in v0.0.399
func (ps *PodStatus) GetMonitoredContainers() []PodContainer
type PolicyType ¶ added in v0.0.172
type PolicyType string
const ( // SecurityRiskPolicy - policy for security risks SecurityRiskExceptionPolicyType PolicyType = "securityRiskExceptionPolicy" // RuntimeIncidentPolicy - policy for runtime incidents RuntimeIncidentExceptionPolicyType PolicyType = "runtimeIncidentExceptionPolicy" // CSPM - policy for CSPM CSPMExceptionPolicyType PolicyType = "cspmExceptionPolicy" )
const PostureExceptionPolicyType PolicyType = "postureExceptionPolicy"
const VulnerabilityExceptionPolicyType PolicyType = "vulnerabilityExceptionPolicy"
type PortalBase ¶
type PortalBase struct {
GUID string `json:"guid" bson:"guid"`
Name string `json:"name" bson:"name"`
Attributes map[string]interface{} `json:"attributes,omitempty" bson:"attributes,omitempty"` // could be string
UpdatedTime string `json:"updatedTime,omitempty" bson:"updatedTime,omitempty"`
}
PortalBase holds basic items data from portal BE
func MockPortalBase ¶
func MockPortalBase(customerGUID, name string, attributes map[string]interface{}) *PortalBase
func (*PortalBase) GetAttributes ¶ added in v0.0.128
func (p *PortalBase) GetAttributes() map[string]interface{}
func (*PortalBase) GetGUID ¶ added in v0.0.128
func (p *PortalBase) GetGUID() string
Getters & Setter used by derived types for interfaces implementation
func (*PortalBase) GetName ¶ added in v0.0.128
func (p *PortalBase) GetName() string
func (*PortalBase) GetTimestampFieldName ¶ added in v0.0.393
func (p *PortalBase) GetTimestampFieldName() string
func (*PortalBase) GetUpdatedTime ¶ added in v0.0.141
func (p *PortalBase) GetUpdatedTime() *time.Time
func (*PortalBase) SetAttributes ¶ added in v0.0.128
func (p *PortalBase) SetAttributes(attributes map[string]interface{})
func (*PortalBase) SetGUID ¶ added in v0.0.128
func (p *PortalBase) SetGUID(guid string)
func (*PortalBase) SetName ¶ added in v0.0.128
func (p *PortalBase) SetName(name string)
func (*PortalBase) SetUpdatedTime ¶ added in v0.0.135
func (p *PortalBase) SetUpdatedTime(updatedTime *time.Time)
type PortalCache ¶ added in v0.0.201
type PortalCache[T any] struct { GUID string `json:"guid" bson:"guid"` Name string `json:"name,omitempty" bson:"name,omitempty"` DataType DataType `json:"dataType,omitempty" bson:"dataType,omitempty"` Data T `json:"data,omitempty" bson:"data,omitempty"` CreationTime string `json:"creationTime" bson:"creationTime"` UpdatedTime string `json:"lastUpdated,omitempty" bson:"lastUpdated,omitempty"` ExpiryTime time.Time `json:"expiryTime,omitempty" bson:"expiryTime,omitempty"` }
PortalCache is an auxiliary structure to store cache data
func (*PortalCache[T]) GetTimestampFieldName ¶ added in v0.0.393
func (c *PortalCache[T]) GetTimestampFieldName() string
func (*PortalCache[T]) SetExpiryTime ¶ added in v0.0.201
func (c *PortalCache[T]) SetExpiryTime(expiryTime time.Time)
func (*PortalCache[T]) SetTTL ¶ added in v0.0.201
func (c *PortalCache[T]) SetTTL(ttl time.Duration)
type PortalCluster ¶ added in v0.0.120
type PortalCluster struct {
PortalBase `json:",inline" bson:"inline"`
SubscriptionDate string `json:"subscription_date,omitempty" bson:"subscription_date,omitempty"`
LastLoginDate string `json:"last_login_date,omitempty" bson:"last_login_date,omitempty"`
InstallationData *InstallationData `json:"installationData" bson:"installationData,omitempty"`
}
PortalCluster holds cluster data from portal BE
type PortalRegistryCronJob ¶ added in v0.0.132
type PortalRegistryCronJob struct {
PortalBase `json:",inline" bson:"inline"`
RegistryInfo `json:",inline" bson:"inline"`
CreationDate string `json:"creationDate,omitempty" bson:"creationDate,omitempty"`
ID string `json:"id,omitempty" bson:"id,omitempty"`
ClusterName string `json:"clusterName,omitempty" bson:"clusterName,omitempty"`
CronTabSchedule string `json:"cronTabSchedule,omitempty" bson:"cronTabSchedule,omitempty"`
Repositories []Repository `json:"repositories,omitempty" bson:"repositories,omitempty"`
}
type PortalRepository ¶ added in v0.0.128
type PortalRepository struct {
PortalBase `json:",inline" bson:"inline"`
CreationDate string `json:"creationDate,omitempty" bson:"creationDate,omitempty"`
Provider string `json:"provider,omitempty" bson:"provider,omitempty"`
Owner string `json:"owner,omitempty" bson:"owner,omitempty"`
RepoName string `json:"repoName,omitempty" bson:"repoName,omitempty"`
BranchName string `json:"branchName,omitempty" bson:"branchName,omitempty"`
}
type PostureAttributesList ¶
type PostureClusterOverTime ¶
type PostureClusterOverTime struct {
Designators identifiers.PortalDesignator `json:"designators,omitempty"`
ClusterName string `json:"clusterName"`
Frameworks []PostureFrameworkOverTime `json:"frameworks"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
}
-------- /api/v1/posture/clustersOvertime response datastructures
type PostureClusterSummary ¶ added in v0.0.122
type PostureClusterSummary struct {
Score float32 `json:"score"`
TotalControls int `json:"totalControls"`
FailedControls int `json:"failedControls"`
SkippedControls int `json:"skippedControls,omitempty"`
WarningControls int `json:"warningControls,omitempty"` // Deprecated
ReportID string `json:"reportGUID"`
Designators identifiers.PortalDesignator `json:"designators"`
Timestamp time.Time `json:"timestamp"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
Frameworks []string `json:"frameworks"`
// Counters - Failed resources by severity
CriticalSeverityResources int `json:"criticalSeverityResources"`
HighSeverityResources int `json:"highSeverityResources"`
MediumSeverityResources int `json:"mediumSeverityResources"`
LowSeverityResources int `json:"lowSeverityResources"`
// Counters - Failed controls by severity
CriticalSeverityControls int `json:"criticalSeverityControls"`
HighSeverityControls int `json:"highSeverityControls"`
MediumSeverityControls int `json:"mediumSeverityControls"`
LowSeverityControls int `json:"lowSeverityControls"`
// Counters - Resources by status
PassedResources int `json:"passedResources"`
FailedResources int `json:"failedResources"`
SkippedResources int `jsons:"skippedResources,omitempty"`
ExcludedResources int `json:"excludedResources,omitempty"` // Deprecated
// Metadata
KubescapeVersion string `json:"kubescapeVersion"`
KubernetesVersion string `json:"kubernetesVersion"`
WorkerNodeCount int `json:"workerNodeCount"`
Location string `json:"location"`
CloudProvider string `json:"cloudProvider"`
// Information about the controls that were run on this entity
// The key is the status of the control (`failed`, `passed`, etc)
ControlsInfo map[string][]ControlInfo `json:"controlsInfo"`
// Names of the cluster
FullName string `json:"clusterFullName"`
ShortName string `json:"clusterShortName"`
PrefixName string `json:"clusterPrefixName"`
//tickets opened for in this cluster
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
type PostureContainerSummary ¶
type PostureControlSummary ¶
type PostureControlSummary struct {
Designators identifiers.PortalDesignator `json:"designators"`
ControlID string `json:"id"` // "C0001"
ControlGUID string `json:"guid"`
Name string `json:"name"`
AffectedResourcesCount int `json:"affectedResourcesCount"`
FailedResourcesCount int `json:"failedResourcesCount"`
SkippedResourcesCount int `json:"skippedResourcesCount"`
WarningResourcesCount int `json:"warningResourcesCount"` // Deprecated
TotalScannedResourcesCount *int `json:"totalScannedResourcesCount"`
PreviousAffectedResourcesCount int `json:"previousAffectedResourcesCount"`
PreviousFailedResourcesCount int `json:"previousFailedResourcesCount"`
PreviousSkippedResourcesCount int `json:"previousSkippedResourcesCount"`
PreviousWarningResourcesCount int `json:"previousWarningResourcesCount"` // Deprecated
Framework string `json:"frameworkName"`
FrameworkSubSectionID []string `json:"frameworkSubsectionID,omitempty"`
Remediation string `json:"remediation"`
Status int `json:"status"`
StatusText string `json:"statusText"`
SubStatusText string `json:"subStatusText,omitempty"`
Description string `json:"description"`
Section string `json:"section"`
Timestamp time.Time `json:"timestamp"`
ReportID string `json:"reportGUID"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
Score float32 `json:"score"`
ComplianceScore *float32 `json:"complianceScore"`
ScoreFactor float32 `json:"baseScore"`
ScoreWeight float32 `json:"scoreWeight"`
ARMOImprovement float32 `json:"ARMOimprovement"`
RelevantCloudProvides []string `json:"relevantCloudProvides"`
ControlInputs []ControlInputs `json:"controlInputs"`
IsLastScan int `json:"isLastScan"`
HighlightPathsCount int64 `json:"highlightPathsCount"`
ClusterShortName string `json:"clusterShortName"`
SmartRemediation bool `json:"smartRemediation"`
FixByNetworkPolicy bool `json:"fixByNetworkPolicy"`
//tickets opened for this control
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
----/api/v1/posture/controls
type PostureExceptionPolicy ¶
type PostureExceptionPolicy struct {
PortalBase `json:",inline" bson:"inline"`
PolicyType string `json:"policyType,omitempty" bson:"policyType,omitempty"`
CreationTime string `json:"creationTime,omitempty" bson:"creationTime,omitempty"`
Actions []PostureExceptionPolicyActions `json:"actions,omitempty" bson:"actions,omitempty"`
Resources []identifiers.PortalDesignator `json:"resources" bson:"resources,omitempty"`
PosturePolicies []PosturePolicy `json:"posturePolicies,omitempty" bson:"posturePolicies,omitempty"`
Reason *string `json:"reason,omitempty" bson:"reason,omitempty"`
ExpirationDate *time.Time `json:"expirationDate,omitempty" bson:"expirationDate"`
CreatedBy string `json:"createdBy,omitempty" bson:"createdBy,omitempty"`
}
func (*PostureExceptionPolicy) IsAlertOnly ¶
func (exceptionPolicy *PostureExceptionPolicy) IsAlertOnly() bool
func (*PostureExceptionPolicy) IsDisable ¶
func (exceptionPolicy *PostureExceptionPolicy) IsDisable() bool
type PostureExceptionPolicyActions ¶
type PostureExceptionPolicyActions string
const AlertOnly PostureExceptionPolicyActions = "alertOnly"
const Disable PostureExceptionPolicyActions = "disable"
type PostureFrameworkOverTime ¶
type PostureFrameworkOverTime struct {
// "frameworkName": "MITRE",
// "riskScore": 54,
RiskScore float32 `json:"riskScore,omitempty"`
ComplianceScore float32 `json:"complianceScore,omitempty"`
Framework string `json:"frameworkName"`
Coords []PostureFrameworkOverTimeCoord `json:"cords"`
}
PostureFrameworkOverTime - the response structure
type PostureFrameworkSubsectionSummary ¶
type PostureFrameworkSubsectionSummary struct {
// The name (title) of the subsection
// Example: General Policies
Name string `json:"name"`
// The name of the framework this subsection belongs to
// Example: CIS
Framework string `json:"framework"`
// Unique id of the subsection inside its framework
// Example: 5.7
ID string `json:"id"`
// Statistics about the controls that were run
// The key is the status of the control (`failed`, `passed`, etc).
// The value is the number of controls
// Example: {"failed": 3, "passed": 4}
ControlsStats map[string]uint `json:"controlsStats"`
}
type PostureFrameworkSummary ¶
type PostureFrameworkSummary struct {
Name string `json:"name"`
TypeTags []string `json:"typeTags"`
Score float32 `json:"value"`
ComplianceScore float32 `json:"complianceScorev1"`
ImprovementScore float32 `json:"improvementScore"`
TotalControls int `json:"totalControls"`
FailedControls int `json:"failedControls"`
SkippedControls int `json:"skippedControls,omitempty"`
WarningControls int `json:"warningControls,omitempty"` // Deprecated
ReportID string `json:"reportGUID"`
Designators identifiers.PortalDesignator `json:"designators"`
Timestamp time.Time `json:"timestamp"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
}
type PostureFrameworksOverTime ¶
type PostureFrameworksOverTime struct {
ClusterName string `json:"clusterName"`
ScoreValue float32 `json:"value"`
ReportID string `json:"reportGUID"`
Timestamp time.Time `json:"timestamp"`
Framework string `json:"frameworkName"`
}
Used for elastic
type PostureJobParams ¶
type PosturePaths ¶
type PosturePaths struct {
ResourceID string `json:"resourceID,omitempty"` // resource on which the remediation needs to be applied
// must have only one of the following
FailedPath string `json:"failedPath,omitempty"` // TODO: deprecate
ReviewPath string `json:"reviewPath,omitempty"`
DeletePath string `json:"deletePath,omitempty"`
FixPath FixPath `json:"fixPath,omitempty"`
FixCommand string `json:"fixCommand,omitempty"`
}
type PosturePolicy ¶
type PosturePolicy struct {
FrameworkName string `json:"frameworkName" bson:"frameworkName"`
// deprecated - use ControlID instead
ControlName string `json:"controlName,omitempty" bson:"controlName,omitempty"`
ControlID string `json:"controlID,omitempty" bson:"controlID,omitempty"`
RuleName string `json:"ruleName,omitempty" bson:"ruleName,omitempty"`
SeverityScore int `json:"severityScore,omitempty" bson:"severityScore,omitempty"`
}
type PostureReportResultRaw ¶
type PostureReportResultRaw struct {
Designators identifiers.PortalDesignator `json:"designators"`
Timestamp time.Time `json:"timestamp"`
ReportID string `json:"reportGUID"`
ResourceID string `json:"resourceID"`
ControlID string `json:"controlID"`
ControlConfigurations []ControlInputs `json:"controlConfigurations,omitempty"`
HighlightsPaths []PosturePaths `json:"highlightsPaths"`
RelatedResourcesIDs []string `json:"relatedResourcesID,omitempty"`
}
type PostureResource ¶
type PostureResource struct {
UniqueResourceResult string `json:"uniqueResourceResult"` // FNV(customerGUID + cluster+resourceID+frameworkName + resource.ReportID) to allow fast search for aggregation
Designators identifiers.PortalDesignator `json:"designators"`
Name string `json:"name"` // wlid/sid and etc.
ResourceID string `json:"resourceID"` //as given by kscape
ControlName string `json:"controlName"`
HighlightPaths []string `json:"highlightPaths"` // specifies "failedPath" - where exactly in the raw resources the control failed
FixPaths []FixPath `json:"fixPaths"` // specifies "fixPaths" - what in the raw resources needs to be added by user
ControlID string `json:"controlID"`
FrameworkName string `json:"frameworkName"`
ControlStatus int `json:"controlStatus"` // it's rather resource status within the control, control might fail but on this specific resource it might be passed (exception)
ControlStatusText string `json:"controlStatusText"`
RelatedExceptions []PostureExceptionPolicy `json:"relatedExceptions"` // configured in portal
ExceptionApplied []PostureExceptionPolicy `json:"exceptionApplied"` //actual ruleResponse
ResourceKind string `json:"kind"`
ResourceNamespace string `json:"namespace"`
Remediation string `json:"remediation"`
Images []PostureContainerSummary `json:"containers,omitempty"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
Recommendations []RecommendationAssociation `json:"recommendations"`
Timestamp time.Time `json:"timestamp"`
ReportID string `json:"reportGUID"`
}
1 resource per 1 control
type PostureResourceSummary ¶
type PostureResourceSummary struct {
Designators identifiers.PortalDesignator `json:"designators"`
Name string `json:"name"` // wlid/sid and etc.
ResourceID string `json:"resourceID"` //as given by kscape
ResourceHash string `json:"resourceHash,omitempty"` //common hash of customerGUID, cluster, kind, name, namespace, apiVersion
//gives upto PostureResourceMaxCtrls controls as an example
FailedControl []string `json:"failedControls"`
WarningControls []string `json:"warningControls"`
SkippedControls []string `json:"skippedControls"`
//maps statusText 2 list of controlIDs
StatusToControls map[string][]string `json:"statusToControls"`
HighlightsPerCtrl []HighlightsByControl `json:"highlightsPerControl"`
//totalcount (including the failed/warning controls slices)
FailedControlCount int `json:"failedControlsCount"`
SkippedControlCount int `json:"skippedControlsCount"`
WarningControlCount int `json:"warningControlsCount"` // Deprecated
Status int `json:"status"`
StatusText string `json:"statusText"`
SubStatusText string `json:"subStatusText,omitempty"`
Remediation []string `json:"remediation"`
ResourceKind string `json:"resourceKind"`
FrameworkName string `json:"frameworkName"`
ExceptionRecommendaion string `json:"exceptionRecommendaion"`
RelatedExceptions []PostureExceptionPolicy `json:"relatedExceptions"` // configured in portal
ExceptionApplied []PostureExceptionPolicy `json:"exceptionApplied"` //actual ruleResponse
Images []PostureContainerSummary `json:"containers,omitempty"`
Recommendations []RecommendationAssociation `json:"recommendations"`
Timestamp time.Time `json:"timestamp"`
ReportID string `json:"reportGUID"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
ArmoBestScore int64 `json:"armoBestScore"`
// Information about the controls that were run on this entity
// The key is the status of the control (`failed`, `passed`, etc)
ControlsInfo map[string][]ControlInfo `json:"controlsInfo"`
// Counters - Failed controls by severity
CriticalSeverityControls int `json:"criticalSeverityControls"`
HighSeverityControls int `json:"highSeverityControls"`
MediumSeverityControls int `json:"mediumSeverityControls"`
LowSeverityControls int `json:"lowSeverityControls"`
ClusterShortName string `json:"clusterShortName"`
// if True, at least one failed control supports smart remediation
SmartRemediation bool `json:"smartRemediation"`
//tickets opened for this resource
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
type PostureScanConfig ¶
type PostureScanConfig struct {
ScanFrequency ScanFrequency `json:"scanFrequency,omitempty" bson:"scanFrequency,omitempty"`
}
type PostureSummary ¶
type PostureSummary struct {
RuntimeImprovementPercentage float32 `json:"runtimeImprovementPercentage"`
LastRun time.Time `json:"lastRun"`
ReportID string `json:"reportGUID"`
Designators identifiers.PortalDesignator `json:"designators"`
PostureAttributes PostureAttributesList `json:"postureAttributes"`
ClusterCloudProvider string `json:"clusterCloudProvider"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
}
--------/api/v1/posture/summary
type Probe ¶ added in v0.0.249
type Probe struct {
Type string `json:"type"` // e,g liveness/readiness/<w.e>
Data string `json:"data"` // actual probe data/settings
}
Probe - represent the various container probes
type Process ¶ added in v0.0.377
type Process struct {
PID uint32 `json:"pid,omitempty" bson:"pid,omitempty"`
Cmdline string `json:"cmdline,omitempty" bson:"cmdline,omitempty"`
Comm string `json:"comm,omitempty" bson:"comm,omitempty"`
PPID uint32 `json:"ppid,omitempty" bson:"ppid,omitempty"`
Pcomm string `json:"pcomm,omitempty" bson:"pcomm,omitempty"`
Hardlink string `json:"hardlink,omitempty" bson:"hardlink,omitempty"`
Uid *uint32 `json:"uid,omitempty" bson:"uid,omitempty"`
Gid *uint32 `json:"gid,omitempty" bson:"gid,omitempty"`
UserName string `json:"userName,omitempty" bson:"userName,omitempty"`
GroupName string `json:"groupName,omitempty" bson:"groupName,omitempty"`
StartTime time.Time `json:"startTime,omitempty" bson:"startTime,omitempty"`
UpperLayer *bool `json:"upperLayer,omitempty" bson:"upperLayer,omitempty"`
Cwd string `json:"cwd,omitempty" bson:"cwd,omitempty"`
Path string `json:"path,omitempty" bson:"path,omitempty"`
// Deprecated: Use ChildrenMap instead
Children []Process `json:"children,omitempty" bson:"children,omitempty"`
ChildrenMap map[CommPID]*Process `json:"childrenMap,omitempty" bson:"childrenMap,omitempty"`
}
func (*Process) MigrateToMap ¶ added in v0.0.549
func (p *Process) MigrateToMap()
MigrateToMap migrates the Children slice to ChildrenMap to accommodate for older versions of the Process struct
type ProcessTree ¶ added in v0.0.377
type ProcessTree struct {
ProcessTree Process `json:"processTree" bson:"processTree"`
UniqueID uint32 `json:"uniqueID,omitempty" bson:"uniqueID,omitempty"`
ContainerID string `json:"containerID,omitempty" bson:"containerID,omitempty"`
}
func (*ProcessTree) FindProcessByPID ¶ added in v0.0.539
func (pt *ProcessTree) FindProcessByPID(pid uint32) *Process
FindProcessByPID searches for a process by PID in the process tree
type ProcessingStatus ¶ added in v0.0.203
type ProcessingStatus string
type ProfileDependency ¶ added in v0.0.591
type ProfileDependency int
const ( Required ProfileDependency = iota Optional NotRequired )
type ProfileIdentifier ¶ added in v0.0.693
type ProfileIdentifier struct {
ProfileScope
Name string `json:"name"`
}
ProfileIdentifier uniquely identifies a profile resource by combining its scope with its name. Used for storage key building/parsing.
type ProfileKind ¶ added in v0.0.653
type ProfileKind string
const ( ContainerProfileKind ProfileKind = "ContainerProfile" TSContainerProfileKind ProfileKind = "TSContainerProfile" ApplicationProfileKind ProfileKind = "ApplicationProfile" NetworkNeighborhoodKind ProfileKind = "NetworkNeighborhood" )
type ProfileMetadata ¶ added in v0.0.591
type ProfileMetadata struct {
Status string `json:"status,omitempty" bson:"status,omitempty"`
Completion string `json:"completion,omitempty" bson:"completion,omitempty"`
Name string `json:"name,omitempty" bson:"name,omitempty"`
FailOnProfile bool `json:"failOnProfile" bson:"failOnProfile"`
Type ProfileType `json:"type" bson:"type"`
ProfileDependency ProfileDependency `json:"profileDependency,omitempty" bson:"profileDependency,omitempty"`
Error string `json:"errorMessage,omitempty" bson:"errorMessage,omitempty"`
}
type ProfileScope ¶ added in v0.0.693
type ProfileScope struct {
HostType HostType `json:"hostType"`
Cluster string `json:"cluster"`
Namespace string `json:"namespace"`
CloudAccountIdentifier string `json:"cloudAccountIdentifier"`
Region string `json:"region"`
HostID string `json:"hostID"`
}
ProfileScope identifies the platform (hostType) and location (cluster, namespace, cloudAccountIdentifier, region, hostID) of a storage resource.
type ProfileType ¶ added in v0.0.591
type ProfileType int
const ( ApplicationProfile ProfileType = iota NetworkProfile )
type Provider ¶ added in v0.0.469
type Provider string
const ( ProviderAlibaba Provider = "alibaba" ProviderAws Provider = "aws" ProviderAzure Provider = "azure" ProviderDigitalOcean Provider = "digitalocean" ProviderEquinixMetal Provider = "equinixmetal" // formerly Packet ProviderExoscale Provider = "exoscale" ProviderGcp Provider = "gcp" ProviderHetzner Provider = "hetzner" ProviderIBM Provider = "ibm" ProviderLinode Provider = "linode" ProviderOpenStack Provider = "openstack" ProviderOracle Provider = "oracle" ProviderOther Provider = "other" ProviderScaleway Provider = "scaleway" ProviderVMware Provider = "vmware" ProviderVultr Provider = "vultr" )
type ProviderConnectionStatus ¶ added in v0.0.270
type ProviderConnectionStatus struct {
Status ConnectedStatus `json:"status"`
}
type QuayImageRegistry ¶ added in v0.0.449
type QuayImageRegistry struct {
BaseContainerImageRegistry `json:",inline"`
ContainerRegistryName string `json:"containerRegistryName"`
RobotAccountName string `json:"robotAccountName"`
RobotAccountToken string `json:"robotAccountToken,omitempty"`
}
func (*QuayImageRegistry) ExtractSecret ¶ added in v0.0.459
func (quay *QuayImageRegistry) ExtractSecret() interface{}
func (*QuayImageRegistry) FillSecret ¶ added in v0.0.459
func (quay *QuayImageRegistry) FillSecret(value interface{}) error
func (*QuayImageRegistry) GetDisplayName ¶ added in v0.0.473
func (quay *QuayImageRegistry) GetDisplayName() string
func (*QuayImageRegistry) MaskSecret ¶ added in v0.0.459
func (quay *QuayImageRegistry) MaskSecret()
func (*QuayImageRegistry) Validate ¶ added in v0.0.459
func (quay *QuayImageRegistry) Validate() error
type QueryScopeParams ¶ added in v0.0.207
type QueryScopeParams struct {
InstanceID string
Cluster []string
Namespace []string
WLIDs []string
Kind []string
Name []string
Repository []string
Registry []string
Tag []string
Custom map[string][]string
}
func (*QueryScopeParams) FixOrAddAsInnerFilters ¶ added in v0.0.207
func (qsp *QueryScopeParams) FixOrAddAsInnerFilters(paginationReq *V2ListRequest, instanceIDField, clusterNameField, namespaceField, wlidField, kindField, nameField string)
FixOrAddAsInnerFilters adds the query scope params as inner filters of the request to adapt the right field names
func (*QueryScopeParams) FixOrAddAsInnerFiltersMap ¶ added in v0.0.207
func (qsp *QueryScopeParams) FixOrAddAsInnerFiltersMap(paginationReq *V2ListRequest, filters Filters)
func (*QueryScopeParams) FixOrAddAsUniqueInnerFilters ¶ added in v0.0.216
func (qsp *QueryScopeParams) FixOrAddAsUniqueInnerFilters(reqObj *UniqueValuesRequestV2, instanceIDField, clusterNameField, namespaceField, wlidField, kindField, nameField string)
fixOrAddAsInnerFilters adds the query scope params as inner filters of the request to adapt the right field names
func (*QueryScopeParams) FixOrAddAsUniqueInnerFiltersMap ¶ added in v0.0.216
func (qsp *QueryScopeParams) FixOrAddAsUniqueInnerFiltersMap(reqObj *UniqueValuesRequestV2, filters Filters)
type RawJSONObject ¶ added in v0.0.207
type RawJSONObject gojay.EmbeddedJSON
RawJSONObject holds bytes of JSON object
func (*RawJSONObject) MarshalJSON ¶ added in v0.0.207
func (rjo *RawJSONObject) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.marshaler interface
type RawResource ¶
type RawResource struct {
Designators identifiers.PortalDesignator `json:"designators"`
Timestamp time.Time `json:"timestamp"`
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
ResourceID string `json:"resourceID"`
PostureReportID string `json:"postureReportID,omitempty"`
SPIFFE string `json:"spiffe"`
Containers []PostureContainerSummary `json:"containers,omitempty"`
RelatedResourcesIDs []string `json:"relatedResourcesID,omitempty"`
RAW json.RawMessage `json:"object"`
}
type RecommendationAssociation ¶
type RecommendationAssociation struct {
PortalBase `json:",inline"`
// audit for user actions taken for this recommendation
UpdatesAudit []UpdateAuditEntry `json:"updatesAudit"`
// the context to show this recommendation to this customer
Context []identifiers.ArmoContext `json:"context"`
// designator object as we have in current resources represntaion
// this is about to be useless
Designators identifiers.PortalDesignator `json:"designators"`
// guid of the recommendation in recommendation DB
RecommendationPrototypeGUID string `json:"recommendationPrototypeGUID"`
RecommendationDetails RecommendationSkeletonV1 `json:"recommendationDetails"`
// current status of this recommendation for the given resource
Status AssociationStatus `json:"status"`
}
this structure is dedicated to connect between recommendation and specific resource and trace the user actions taken due to this recommendation
type RecommendationSkeletonV1 ¶
type RecommendationSkeletonV1 struct {
PortalBase `json:",inline"`
// audit for manual changes made in this recommendation
UpdatesAudit []UpdateAuditEntry `json:"updatesAudit"`
// the action the user should take
Action string `json:"action"`
Description string `json:"description"`
// link to some well explained description of this recommendation
DescriptionLink string `json:"descriptionLink"`
// the context to show this recommendation in
Context []identifiers.ArmoContext `json:"context"`
// the approvement status. Do we should show this recommendation to users?
Approvement ApprovementState `json:"approvement"`
}
type RecordStatus ¶
type RecordStatus int
const ( RecordAlive RecordStatus = 0 RecordShouldDelete RecordStatus = 1 )
type RegistryInfo ¶ added in v0.0.125
type RegistryInfo struct {
RegistryName string `json:"registryName,omitempty" bson:"registryName"`
RegistryProvider string `json:"registryProvider,omitempty" bson:"registryProvider"`
RegistryToken string `json:"registryToken,omitempty" bson:"registryToken"`
Depth *int `json:"depth,omitempty" bson:"depth"`
Include []string `json:"include,omitempty" bson:"include"`
Exclude []string `json:"exclude,omitempty" bson:"exclude"`
Kind string `json:"kind,omitempty" bson:"kind"`
IsHTTPS *bool `json:"isHTTPS,omitempty" bson:"isHTTPS"`
SkipTLSVerify *bool `json:"skipTLSVerify,omitempty" bson:"skipTLSVerify"`
AuthMethod AuthMethod `json:"authMethod,omitempty" bson:"authMethod"`
SecretName string `json:"secretName,omitempty" bson:"secretName"`
}
type RegistryJobParams ¶
type RegistryManageStatus ¶ added in v0.0.471
type RegistryManageStatus string
type RegistryProvider ¶ added in v0.0.449
type RegistryProvider string
const ( AWS RegistryProvider = "aws" Azure RegistryProvider = "azure" Google RegistryProvider = "google" Harbor RegistryProvider = "harbor" Quay RegistryProvider = "quay" Nexus RegistryProvider = "nexus" Gitlab RegistryProvider = "gitlab" )
type RegistryScanStatus ¶ added in v0.0.471
type RegistryScanStatus string
type RelatedResource ¶ added in v0.0.346
type RelatedResource struct {
identifiers.PortalDesignator `json:",inline" bson:",inline"`
Clickable bool `json:"clickable,omitempty" bson:"clickable,omitempty"`
EdgeText []string `json:"edgeText,omitempty" bson:"edgeText,omitempty"`
RelatedResources []RelatedResource `json:"relatedResources,omitempty" bson:"relatedResources,omitempty"`
}
type RelevantImageVulnerabilitiesConfiguration ¶ added in v0.0.198
type RelevantImageVulnerabilitiesConfiguration string
const ( RelevantImageVulnerabilitiesConfigurationEnable RelevantImageVulnerabilitiesConfiguration = "enable" RelevantImageVulnerabilitiesConfigurationDisable RelevantImageVulnerabilitiesConfiguration = "disable" RelevantImageVulnerabilitiesConfigurationDetect RelevantImageVulnerabilitiesConfiguration = "detect" )
type RepoEntityKind ¶
type RepoEntityKind string
Kind of an entity. Can only be one of the following: `file` or `repo` Example: repo
const ( RepoEntityFile RepoEntityKind = "file" RepoEntityRepo RepoEntityKind = "repo" )
type RepoEntitySummary ¶
type RepoEntitySummary struct {
Designators identifiers.PortalDesignator `json:"designators"`
// Name of this entity
// Example: "my-repo"
Name string `json:"name"`
Kind RepoEntityKind `json:"kind"`
// Number of children of the entity. For `file`s entity it would be
// the amount of the resources inside this file, and for `repo`s -
// the amount of scanned files
// Example: 13
ChildCount uint64 `json:"childCount"`
// Status of the entity
// Example: failed
StatusText string `json:"statusText"`
// Information about the controls that were run on this entity
// The key is the status of the control (`failed`, `passed`, etc)
ControlsInfo map[string][]ControlInfo `json:"controlsInfo"`
// Statistics about the controls that were run
// The key is the status of the control (`failed`, `passed`, etc).
// The value is the number of controls
// Example: {"failed": 3, "passed": 4}
ControlsStats map[string]int `json:"controlsStats"`
// Frameworks that were run.
// In multi-frameworks-summary, this property is
// taking the place of the `framework` property
// Example: ["ArmoBest", "MITRE"]
Frameworks []string `json:"frameworks,omitempty"`
// Single framework this summary is for.
// Example: ArmoBest
Framework string `json:"framework,omitempty"`
// Time of the scan that produced this result
Timestamp time.Time `json:"timestamp"`
ReportID string `json:"reportGUID"`
// swagger:ignore
// This record is marked for deletion or not
DeleteStatus RecordStatus `json:"deletionStatus,omitempty"`
//tickets opened for in this entity (repository or repository file)
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
RepoEntitySummary summary of repo scanning entity.
type Repository ¶ added in v0.0.133
type Repository struct {
RepositoryName string `json:"repositoryName"`
}
type ResolvedReason ¶ added in v0.0.375
type ResolvedReason string
type Resource ¶ added in v0.0.334
type Resource struct {
K8sResourceHash string `json:"k8sResourceHash,omitempty" bson:"k8sResourceHash,omitempty"`
Cluster string `json:"cluster,omitempty" bson:"cluster,omitempty"`
ClusterShortName string `json:"clusterShortName"`
Namespace string `json:"namespace,omitempty" bson:"namespace,omitempty"`
Kind string `json:"kind,omitempty" bson:"kind,omitempty"`
Name string `json:"name,omitempty" bson:"name,omitempty"`
}
type RespTotal64 ¶ added in v0.0.207
type RetrieveObjectsByRequestPayload ¶ added in v0.0.207
type RetrieveObjectsByRequestPayload struct {
MultipleItems map[string][]string
SingleItems map[string]string
Exists []string
MustNot []map[string]interface{}
ExcludeFields []string
}
payload for querying/filtering a list, key: <fieldname> and value is the string value
type Risk ¶ added in v0.0.316
type Risk struct {
ID string `json:"ID"`
Type RiskType `json:"type"`
// field to be enriched by the backend, relevant only to type Control
FixByNetworkPolicy bool `json:"fixByNetworkPolicy"`
}
Risk represents an individual risk with an ID and type
type RiskFactor ¶ added in v0.0.283
type RiskFactor string
func GetRiskFactors ¶ added in v0.0.284
func GetRiskFactors(controlIDs []string) []RiskFactor
GetRiskFactors returns a list of unique risk factors for given control IDs.
type RiskType ¶ added in v0.0.316
type RiskType string
func (*RiskType) UnmarshalJSON ¶ added in v0.0.316
UnmarshalJSON is a custom unmarshaler for RiskType that validates its value
type RoleBindingRoleRef ¶ added in v0.0.543
type RoleBindingSubject ¶ added in v0.0.543
type RuleAlert ¶ added in v0.0.359
type RuleAlert struct {
// Rule Description
RuleDescription string `json:"ruleDescription,omitempty" bson:"ruleDescription,omitempty"`
}
type RuleExpression ¶ added in v0.0.623
type RuleExpressions ¶ added in v0.0.623
type RuleExpressions struct {
Message string `json:"message" yaml:"message" bson:"message"`
UniqueID string `json:"uniqueId" yaml:"uniqueId" bson:"uniqueId"`
RuleExpression []RuleExpression `json:"ruleExpression" yaml:"ruleExpression" bson:"ruleExpression"`
}
type RuntimeAlert ¶ added in v0.0.359
type RuntimeAlert struct {
BaseRuntimeAlert `json:",inline" bson:"inline"`
RuleAlert `json:",inline" bson:"inline"`
MalwareAlert `json:",inline" bson:"inline"`
AdmissionAlert `json:",inline" bson:"inline"`
RuntimeAlertK8sDetails `json:",inline" bson:"inline"`
RuntimeAlertECSDetails `json:",inline" bson:"inline"`
cdr.CdrAlert `json:"cdrevent,omitempty" bson:"cdrevent"`
HttpRuleAlert `json:",inline" bson:"inline"`
NetworkScanAlert `json:"networkscan,inline" bson:"networkscan"`
AlertType AlertType `json:"alertType" bson:"alertType"`
AlertSourcePlatform AlertSourcePlatform `json:"alertSourcePlatform" bson:"alertSourcePlatform"`
// Rule ID
RuleID string `json:"ruleID,omitempty" bson:"ruleID,omitempty"`
// IsTriggerAlert indicates if this alert is a trigger alert
IsTriggerAlert bool `json:"isTriggerAlert,omitempty" bson:"isTriggerAlert,omitempty"`
// Hostname is the name of the node agent pod
HostName string `json:"hostName" bson:"hostName"`
Message string `json:"message" bson:"message"`
Fields json.RawMessage `json:"fields,omitempty" bson:"fields,omitempty"`
}
func (*RuntimeAlert) GetAlertSourcePlatform ¶ added in v0.0.545
func (ra *RuntimeAlert) GetAlertSourcePlatform() AlertSourcePlatform
func (*RuntimeAlert) Validate ¶ added in v0.0.664
func (ra *RuntimeAlert) Validate() error
type RuntimeAlertECSDetails ¶ added in v0.0.669
type RuntimeAlertECSDetails struct {
ClusterARN string `json:"clusterArn,omitempty" bson:"clusterArn,omitempty"`
ECSClusterName string `json:"ecsClusterName,omitempty" bson:"ecsClusterName,omitempty"`
ServiceName string `json:"serviceName,omitempty" bson:"serviceName,omitempty"`
TaskARN string `json:"taskArn,omitempty" bson:"taskArn,omitempty"`
TaskFamily string `json:"taskFamily,omitempty" bson:"taskFamily,omitempty"`
TaskDefinitionARN string `json:"taskDefinitionArn,omitempty" bson:"taskDefinitionArn,omitempty"`
ECSContainerName string `json:"ecsContainerName,omitempty" bson:"ecsContainerName,omitempty"`
ContainerARN string `json:"containerArn,omitempty" bson:"containerArn,omitempty"`
ECSContainerID string `json:"ecsContainerID,omitempty" bson:"ecsContainerID,omitempty"`
ContainerInstance string `json:"containerInstance,omitempty" bson:"containerInstance,omitempty"` // EC2 instance ID (EC2 launch type only)
LaunchType string `json:"launchType,omitempty" bson:"launchType,omitempty"` // EC2 or FARGATE
AvailabilityZone string `json:"availabilityZone,omitempty" bson:"availabilityZone,omitempty"`
ECSImage string `json:"ecsImage,omitempty" bson:"ecsImage,omitempty"`
ECSImageDigest string `json:"ecsImageDigest,omitempty" bson:"ecsImageDigest,omitempty"`
}
type RuntimeAlertK8sDetails ¶ added in v0.0.367
type RuntimeAlertK8sDetails struct {
ClusterName string `json:"clusterName,omitempty" bson:"clusterName,omitempty"`
ClusterUID string `json:"clusterUID,omitempty" bson:"clusterUID,omitempty"`
ContainerName string `json:"containerName,omitempty" bson:"containerName,omitempty"`
HostNetwork *bool `json:"hostNetwork,omitempty" bson:"hostNetwork,omitempty"`
OldImage string `json:"oldImage,omitempty" bson:"oldImage,omitempty"`
Image string `json:"image,omitempty" bson:"image,omitempty"`
ImageDigest string `json:"imageDigest,omitempty" bson:"imageDigest,omitempty"`
Namespace string `json:"namespace,omitempty" bson:"namespace,omitempty"`
NodeName string `json:"nodeName,omitempty" bson:"nodeName,omitempty"`
ContainerID string `json:"containerID,omitempty" bson:"containerID,omitempty"`
PodName string `json:"podName,omitempty" bson:"podName,omitempty"`
PodNamespace string `json:"podNamespace,omitempty" bson:"podNamespace,omitempty"`
PodUID string `json:"podUID,omitempty" bson:"podUID,omitempty"`
PodLabels map[string]string `json:"podLabels,omitempty" bson:"podLabels,omitempty"`
WorkloadName string `json:"workloadName,omitempty" bson:"workloadName,omitempty"`
WorkloadNamespace string `json:"workloadNamespace,omitempty" bson:"workloadNamespace,omitempty"`
WorkloadKind string `json:"workloadKind,omitempty" bson:"workloadKind,omitempty"`
WorkloadUID string `json:"workloadUID,omitempty" bson:"workloadUID,omitempty"`
}
type RuntimeIncidentExceptionPolicy ¶ added in v0.0.440
type RuntimeIncidentExceptionPolicy struct {
BaseExceptionPolicy `json:",inline"`
Name string `json:"name"`
IncidentTypeId string `json:"incidentTypeId"`
Severity string `json:"severity"`
SeverityScore int `json:"severityScore"`
}
type RuntimeRule ¶ added in v0.0.623
type RuntimeRule struct {
Enabled bool `json:"enabled" yaml:"enabled" bson:"enabled"`
ID string `json:"id" yaml:"id" bson:"id"`
Name string `json:"name" yaml:"name" bson:"name"`
Description string `json:"description" yaml:"description" bson:"description"`
Expressions RuleExpressions `json:"expressions" yaml:"expressions" bson:"expressions"`
ProfileDependency ProfileDependency `json:"profileDependency" yaml:"profileDependency" bson:"profileDependency"`
Severity int `json:"severity" bson:"severity"`
SeverityString string `json:"severityString" bson:"severityString"`
SupportPolicy bool `json:"supportPolicy" yaml:"supportPolicy" bson:"supportPolicy"`
Tags []string `json:"tags" yaml:"tags" bson:"tags"`
State map[string]any `json:"state,omitempty" yaml:"state,omitempty" bson:"state,omitempty"`
AgentVersionRequirement string `json:"agentVersionRequirement" yaml:"agentVersionRequirement" bson:"agentVersionRequirement"`
IsTriggerAlert bool `json:"isTriggerAlert" yaml:"isTriggerAlert" bson:"isTriggerAlert"`
MitreTactic string `json:"mitreTactic" bson:"mitreTactic"`
MitreTechnique string `json:"mitreTechnique" bson:"mitreTechnique"`
Category string `json:"category" bson:"category"`
IncidentTypeId string `json:"incidentTypeId" bson:"incidentTypeId"`
}
type SavedFilter ¶ added in v0.0.538
type ScanFrequency ¶
type ScanFrequency string
type SearchAfterResp ¶ added in v0.0.207
type SearchAfterResp struct {
Sort interface{} `json:"sort"`
}
type SearchResponse ¶ added in v0.0.207
type SearchResponse struct {
Result []RawJSONObject
Total *RespTotal
Cursor *Cursor
Sort *SearchAfterResp
}
type SeccompStatus ¶ added in v0.0.417
type SeccompStatus int
const ( SeccompStatusUnknown SeccompStatus = 0 SeccompStatusMissingRuntimeInfo SeccompStatus = 1 SeccompStatusMissing SeccompStatus = 2 SeccompStatusOverlyPermissive SeccompStatus = 3 SeccompStatusOptimized SeccompStatus = 4 SeccompStatusMisconfigured SeccompStatus = 5 )
type SeccompWorkload ¶ added in v0.0.417
type SeccompWorkload struct {
Name string `json:"name"`
Kind string `json:"kind"`
Namespace string `json:"namespace"`
ClusterName string `json:"clusterName"`
K8sResourceHash string `json:"k8sResourceHash"`
ProfileStatus SeccompStatus `json:"profileStatus"`
SyscallsUsedCount int `json:"syscallsUsedCount"`
SyscallsUnusedCount int `json:"syscallsUnusedCount"`
SyscallsUsed []string `json:"syscallsUsed"`
SyscallUnused []string `json:"syscallsUnused"`
MissingRuntimeInfoReason MissingRuntimeInfoReason `json:"missingRuntimeInfoReason"`
}
type SecurityIssue ¶ added in v0.0.316
type SecurityIssue struct {
ISecurityIssue `json:",inline,omitempty"`
Cluster string `json:"cluster"`
ClusterShortName string `json:"clusterShortName"`
Namespace string `json:"namespace"`
ResourceName string `json:"resourceName"`
Kind string `json:"kind"`
ResourceID string `json:"resourceID"`
K8sResourceHash string `json:"k8sResourceHash"`
RiskID string `json:"riskID"` // controlID/attackTrackID
RiskType RiskType `json:"riskType,omitempty"`
SecurityRiskID string `json:"securityRiskID"`
Status SecurityIssueStatus `json:"status"`
IsNew bool `json:"isNew"`
LastTimeDetected string `json:"lastTimeDetected,omitempty"`
LastTimeResolved string `json:"lastTimeResolved,omitempty"`
ExceptionApplied bool `json:"exceptionApplied"`
ExceptionPolicyGUID string `json:"exceptionPolicyGUID"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
func (*SecurityIssue) GetClusterName ¶ added in v0.0.343
func (si *SecurityIssue) GetClusterName() string
func (*SecurityIssue) GetK8sResourceHash ¶ added in v0.0.394
func (si *SecurityIssue) GetK8sResourceHash() string
func (*SecurityIssue) GetShortClusterName ¶ added in v0.0.343
func (si *SecurityIssue) GetShortClusterName() string
func (*SecurityIssue) SetClusterName ¶ added in v0.0.343
func (si *SecurityIssue) SetClusterName(clusterName string)
func (*SecurityIssue) SetShortClusterName ¶ added in v0.0.343
func (si *SecurityIssue) SetShortClusterName(clusterShortName string)
func (*SecurityIssue) SetTickets ¶ added in v0.0.394
func (si *SecurityIssue) SetTickets(tickets []Ticket)
type SecurityIssueAttackPath ¶ added in v0.0.325
type SecurityIssueAttackPath struct {
SecurityIssue `json:",inline"`
AttackChainID string `json:"attackChainID"`
FirstSeen string `json:"firstSeen"`
}
type SecurityIssueControl ¶ added in v0.0.325
type SecurityIssueControl struct {
SecurityIssue `json:",inline"`
ControlID string `json:"controlID"`
ReportGUID string `json:"reportGUID"`
FrameworkName string `json:"frameworkName"`
// relevant for controls with network policy fix
AppliedNetworkPolicyType string `json:"appliedNetworkPolicyType,omitempty"`
NetworkPolicyStatus NetworkPolicyStatus `json:"networkPolicyStatus,omitempty"`
MissingRuntimeInfoReason MissingRuntimeInfoReason `json:"missingRuntimeInfoReason,omitempty"`
}
type SecurityIssueSeverity ¶ added in v0.0.320
type SecurityIssueSeverity string
type SecurityIssueStatus ¶ added in v0.0.316
type SecurityIssueStatus string
type SecurityIssueVulnerability ¶ added in v0.0.431
type SecurityIssueVulnerability struct {
SecurityIssue `json:",inline"`
CriticalCount int `json:"criticalCount"`
HighCount int `json:"highCount"`
MediumCount int `json:"mediumCount"`
LowCount int `json:"lowCount"`
SeverityStats map[string][]string `json:"severityStats"`
RiskFactorsCount int `json:"riskFactorsCount"`
RiskFactors []RiskFactor `json:"riskFactors"`
}
type SecurityIssuesCategories ¶ added in v0.0.320
type SecurityIssuesCategories struct {
CategoryResourceCounters map[string]int `json:"categoryResourceCounter"`
TotalResources int `json:"totalResources"`
}
func NewSecurityIssuesCategories ¶ added in v0.0.320
func NewSecurityIssuesCategories() SecurityIssuesCategories
func (*SecurityIssuesCategories) SetCategoryTotal ¶ added in v0.0.320
func (sic *SecurityIssuesCategories) SetCategoryTotal(category string, total int)
type SecurityIssuesRisksTotals ¶ added in v0.0.598
type SecurityIssuesSeverities ¶ added in v0.0.320
type SecurityIssuesSeverities struct {
SeverityResourceCounters map[SecurityIssueSeverity]int `json:"severityResourceCounter"`
TotalResources int `json:"totalResources"`
}
func NewSecurityIssuesSeverities ¶ added in v0.0.320
func NewSecurityIssuesSeverities() SecurityIssuesSeverities
func (*SecurityIssuesSeverities) SetSeverityTotal ¶ added in v0.0.320
func (sis *SecurityIssuesSeverities) SetSeverityTotal(severity SecurityIssueSeverity, total int)
type SecurityIssuesSummary ¶ added in v0.0.316
type SecurityIssuesSummary struct {
SecurityRiskID string `json:"securityRiskID"`
SecurityRiskName string `json:"securityRiskName"`
Category string `json:"category"`
Severity string `json:"severity"`
LastUpdated string `json:"lastUpdated"`
AffectedClustersCount int `json:"affectedClustersCount"`
AffectedNamespacesCount int `json:"affectedNamespacesCount"`
AffectedResourcesCount int `json:"affectedResourcesCount"`
ResourcesDetectedLastUpdateCount int `json:"resourcesDetectedLastUpdateCount"`
ResourcesResolvedLastUpdateCount int `json:"resourcesResolvedLastUpdateCount"`
ResourcesDetectedLastChangeCount int `json:"resourcesDetectedLastChangeCount"`
ResourcesDetectedLastChange []Resource `json:"resourcesDetectedLastChange"`
// resources that are resolved excluding deleted
ResourcesResolvedLastChangeCount int `json:"resourcesResolvedLastChangeCount"`
ResourcesResolvedLastChange []Resource `json:"resourcesResolvedLastChange"`
// resources that are resolved because of a kubernetes resource deletion or cluster deletion
ResourcesDeletedLastChangeCount int `json:"resourcesDeletedLastChangeCount"`
ResourcesDeletedLastChange []Resource `json:"resourcesDeletedLastChange"`
AffectedResourcesChange int `json:"affectedResourcesChange"`
// if True, control supports smart remediation
SmartRemediation bool `json:"smartRemediation"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
}
type SecurityIssuesTrends ¶ added in v0.0.364
type SecurityIssuesTrends struct {
// date in format yyyy-mm-dd
Date string `json:"date"`
// new detected issues within the day
NewDetected int `json:"newDetected"`
// new resolved issues within the day
NewResolved int `json:"newResolved"`
TotalNewDetectedUpToDate int `json:"totalNewDetectedUpToDate"`
TotalNewResolvedUpToDate int `json:"totalNewResolvedUpToDate"`
// new detected issues at the end of the day
NewDetectedEndOfDay int `json:"newDetectedEndOfDay"`
// new resolved issues at the end of the day
NewResolvedEndOfDay int `json:"newResolvedEndOfDay"`
// total detected from the beginning of the period until current date
TotalDetectedUpToDate int `json:"totalDetectedUpToDate"`
}
type SecurityIssuesTrendsSummary ¶ added in v0.0.364
type SecurityIssuesTrendsSummary struct {
SecurityIssuesTrends []SecurityIssuesTrends `json:"securityIssuesTrends"`
// total issues detected for the period
TotalDetectedForPeriod int `json:"totalDetectedForPeriod"`
// total issues resolved for the period
TotalResolvedForPeriod int `json:"totalResolvedForPeriod"`
// current detected issues
CurrentDetected int `json:"currentDetected"`
// CurrentDetected - TotalDetectedUpToDate of first date of period.
ChangeFromBeginningOfPeriod int `json:"changeFromBeginningOfPeriod"`
}
type SecurityRisk ¶ added in v0.0.316
type SecurityRisk struct {
ID string `json:"ID"`
Name string `json:"name"`
Description string `json:"description"`
WhatIs string `json:"whatIs"`
Severity string `json:"severity"`
Category string `json:"category"`
Remediation string `json:"remediation"`
Risks []Risk `json:"risks"`
SecurityIssues []ISecurityIssue `json:"securityIssues,omitempty"`
SmartRemediation bool `json:"smartRemediation"`
}
SecurityRisk represents the main object with various fields and an array of Risks
func (*SecurityRisk) GetRiskTypes ¶ added in v0.0.325
func (sr *SecurityRisk) GetRiskTypes() []RiskType
func (*SecurityRisk) GetRisks ¶ added in v0.0.316
func (sr *SecurityRisk) GetRisks() []Risk
func (*SecurityRisk) GetRisksIDsByType ¶ added in v0.0.316
func (sr *SecurityRisk) GetRisksIDsByType(riskType RiskType) []string
type SecurityRiskExceptionPolicy ¶ added in v0.0.334
type Settings ¶
type Settings struct {
PostureControlInputs map[string][]string `json:"postureControlInputs" bson:"postureControlInputs"`
PostureScanConfig PostureScanConfig `json:"postureScanConfig" bson:"postureScanConfig"`
VulnerabilityScanConfig VulnerabilityScanConfig `json:"vulnerabilityScanConfig" bson:"vulnerabilityScanConfig"`
SlackConfigurations SlackSettings `json:"slackConfigurations,omitempty" bson:"slackConfigurations,omitempty"`
}
func MockSettings ¶
func MockSettings() *Settings
type SlackChannel ¶
type SlackChannels ¶ added in v0.0.270
type SlackChannels struct {
Channels []SlackChannel `json:"channels"`
}
type SlackNotification ¶
type SlackNotification struct {
IsActive bool `json:"isActive" bson:"isActive"`
Channels []SlackChannel `json:"channels" bson:"channels"`
Attributes map[string]interface{} `json:"attributes" bson:"attributes"`
}
type SlackSettings ¶
type SlackSettings struct {
Token string `json:"token" bson:"token"`
Alert2Channel `json:",inline,omitempty" bson:"inline,omitempty"`
Notifications `json:"notifications,omitempty" bson:"notifications,omitempty"`
}
type StackFrame ¶ added in v0.0.468
type StackFrame struct {
// Frame ID
FrameID string `json:"frameId,omitempty" bson:"frameId,omitempty"`
// Function name
Function string `json:"function,omitempty" bson:"function,omitempty"`
// File name
File string `json:"file,omitempty" bson:"file,omitempty"`
// Line number
Line *int `json:"line,omitempty" bson:"line,omitempty"`
// Address
Address string `json:"address,omitempty" bson:"address,omitempty"`
// Arguments
Arguments []string `json:"arguments,omitempty" bson:"arguments,omitempty"`
// User/Kernel space
UserSpace bool `json:"userSpace,omitempty" bson:"userSpace,omitempty"`
// Native/Source code
NativeCode *bool `json:"nativeCode,omitempty" bson:"nativeCode,omitempty"`
// Anomaly flag
Anomaly bool `json:"anomaly,omitempty" bson:"anomaly,omitempty"`
}
type Subscription ¶ added in v0.0.154
type Subscription struct {
// Stripe internal customer ID, usually generated on subscription creation.
StripeCustomerID string `json:"stripeCustomerID,omitempty" bson:"stripeCustomerID,omitempty"`
// Stripe subscription id.
StripeSubscriptionID string `json:"stripeSubscriptionID,omitempty" bson:"stripeSubscriptionID,omitempty"`
// Stripe subscription status, optional values: incomplete, incomplete_expired, trialing, active, past_due, canceled, or unpaid.
SubscriptionStatus string `json:"subscriptionStatus,omitempty" bson:"subscriptionStatus,omitempty"`
// Date when the subscription was first created. The date might differ from the created date due to backdating
StartDate int64 `json:"startDate,omitempty" bson:"startDate,omitempty"`
// Stripe The most recent invoice this subscription has generated.
LatestInvoice string `json:"latestInvoice,omitempty" bson:"latestInvoice,omitempty"`
// determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.
CancelAtPeriodEnd *bool `json:"cancelAtPeriodEnd,omitempty" bson:"cancelAtPeriodEnd,omitempty"`
// End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
CurrentPeriodStart int64 `json:"currentPeriodStart,omitempty" bson:"currentPeriodStart,omitempty"`
// End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
CurrentPeriodEnd int64 `json:"currentPeriodEnd,omitempty" bson:"currentPeriodEnd,omitempty"`
// If the subscription has a trial, the end of that trial.
TrialEnd int64 `json:"trialEnd,omitempty" bson:"trialEnd,omitempty"`
// monthly average of daily sum of max scanned Worker Nodes per cluster per day
NumNodes int `json:"numNodes,omitempty" bson:"numNodes,omitempty"`
// can be "free", "team" or "enterprise"
LicenseType LicenseType `json:"licenseType,omitempty" bson:"licenseType,omitempty"`
}
hold information of a single subscription.
type SynchronizerClient ¶ added in v0.0.333
type SynchronizerClient struct {
CustomerGUID string `json:"customerGUID"`
Cluster string `json:"cluster"`
Replica string `json:"replica"`
LastKeepAlive time.Time `json:"lastKeepAlive"`
ConnectionTime time.Time `json:"connectionTime"`
HelmVersion string `json:"helmVersion"`
SynchronizerVersion string `json:"synchronizerVersion"`
ConnectionId string `json:"connectionId"`
FirstConnected time.Time `json:"firstConnected"`
GitVersion string `json:"gitVersion"`
CloudProvider string `json:"cloudProvider"`
ClusterStatus string `json:"clusterStatus"`
LearningTime string `json:"learningTime"`
}
SynchronizerClient represents a client which is connected to the synchronizer server
type Ticket ¶ added in v0.0.371
type Ticket struct {
GUID string `json:"guid,omitempty"` //ticket guid in armo
JiraCollabGUID string `json:"jiraCollabGUID,omitempty"` //integration guid between jira creator and the ticket
TicketManager TicketManager `json:"ticketManager"` //ticket service provider
Owner map[string]string `json:"owner,omitempty"` //armo entity that owns the ticket
Subjects []map[string]string `json:"subjects,omitempty"` //armo entities mentioned in the ticket
Link string `json:"link,omitempty"` //link to the ticket
Status string `json:"status,omitempty"` //status of the ticket
LinkTitle string `json:"linkTitle,omitempty"` //title of the ticket
Severity string `json:"severity,omitempty"` //severity of the ticket
Error string `json:"error,omitempty"` //error message if any
ErrorCode int `json:"errorCode,omitempty"` //error code if any (e.g. http status code like 401)
ProviderData map[string]string `json:"providerData,omitempty"` //provider specific data
CreatedBy string `json:"createdBy,omitempty"` //user that created the ticket
// metadata for the ticket
CustomerGUID string `json:"customerGUID,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty"`
}
type TicketManager ¶ added in v0.0.371
type TicketManager string
const ( TicketManagerJira TicketManager = "jira" TicketManagerLinear TicketManager = "linear" )
type TimeSeriesContainerProfileObject ¶ added in v0.0.651
type TimeSeriesContainerProfileObject struct {
CustomerGUID string `json:"customerGUID"`
ProfileScope
Provider Provider `json:"provider"`
Name string `json:"name"`
SeriesID string `json:"seriesID"`
TSSuffix string `json:"tsSuffix"`
ReportTimestamp string `json:"reportTimestamp"`
Status string `json:"status"`
Completion string `json:"completion"`
PreviousReportTimestamp string `json:"previousReportTimestamp"`
ResourceObjectRef string `json:"resourceObjectRef"`
HasData bool `json:"hasData"`
}
type Trace ¶ added in v0.0.468
type Trace struct {
// Trace ID
TraceID string `json:"traceId,omitempty" bson:"traceId,omitempty"`
// Stack trace
Stack []StackFrame `json:"stack,omitempty" bson:"stack,omitempty"`
// Package name
Package string `json:"package,omitempty" bson:"package,omitempty"`
// Language
Language string `json:"language,omitempty" bson:"language,omitempty"`
}
type UniqueCardinalityResponseV2 ¶ added in v0.0.207
UniqueCardinalityResponseV2 holds response data of cardinality request
func (*UniqueCardinalityResponseV2) ReplaceFieldsFromKeywords ¶ added in v0.0.216
func (uvr *UniqueCardinalityResponseV2) ReplaceFieldsFromKeywords(keywordMap map[string]string)
ReplaceFieldsFromKeywords restores the original fields names from the .keyword if necessary
type UniqueValuesRequestV2 ¶ added in v0.0.207
type UniqueValuesRequestV2 struct {
Fields map[string]string `json:"fields"`
// Which elements of the list to return, each field can hold multiple values separated by comma
// Example: ": {"severity": "High,Medium", "type": "61539,30303"}
// An empty map means "return the complete list"
InnerFilters []map[string]string `json:"innerFilters"`
PageSize int `json:"pageSize,omitempty"`
//for apis that support pagination
PageNum *int `json:"pageNum,omitempty"`
//Include hit counts for each field
CountFields *bool `json:"countFields,omitempty"`
FieldsReverseKeywordMap map[string]string `json:"-"`
Cursor string `json:"-"`
// The time window to search (Default: since - beginning of the time, until - now)
Since *time.Time `json:"since,omitempty"`
Until *time.Time `json:"until,omitempty"`
TimestampField string `json:"-"`
// Ticket manager to use for the request - for example, to get tickets from Jira or Linear
TicketManager TicketManager `json:"ticketManager,omitempty"`
}
UniqueValuesRequestV2 holds data to return unique values to
func (*UniqueValuesRequestV2) GetFieldsNames ¶ added in v0.0.216
func (uvr *UniqueValuesRequestV2) GetFieldsNames() []string
GetFieldsNames retunrs slice of Fields names
func (*UniqueValuesRequestV2) ReplaceFieldsToKeywords ¶ added in v0.0.216
func (uvr *UniqueValuesRequestV2) ReplaceFieldsToKeywords(keywordMap map[string]string)
ReplaceFieldsToKeywords replaces the original fields names to the .keyword if necessary
func (*UniqueValuesRequestV2) ValidateCountFields ¶ added in v0.0.317
func (u *UniqueValuesRequestV2) ValidateCountFields(countDefault bool) bool
func (*UniqueValuesRequestV2) ValidatePageProperties ¶ added in v0.0.207
func (u *UniqueValuesRequestV2) ValidatePageProperties(maxPageSize int)
ValidatePageProperties validate page size and page number to be valid
type UniqueValuesResponseFieldsCount ¶ added in v0.0.207
type UniqueValuesResponseFieldsCount struct {
Field string `json:"key"`
Count int64 `json:"count"`
}
UniqueValuesResponseFieldsCount holds response data of UniqueValuesResponseV2 request
type UniqueValuesResponseV2 ¶ added in v0.0.207
type UniqueValuesResponseV2 struct {
Fields map[string][]string `json:"fields"`
FieldsCount map[string][]UniqueValuesResponseFieldsCount `json:"fieldsCount"`
}
UniqueValuesResponseV2 holds response data of unique values
func (*UniqueValuesResponseV2) ListFields ¶ added in v0.0.216
func (uvr *UniqueValuesResponseV2) ListFields(key string) []string
ListFields list all UniqueValuesResponseV2 fields
func (*UniqueValuesResponseV2) ReplaceFieldsFromKeywords ¶ added in v0.0.216
func (uvr *UniqueValuesResponseV2) ReplaceFieldsFromKeywords(keywordMap map[string]string)
ReplaceFieldsFromKeywords restores the original fields names from the .keyword if necessary
type UniqueValuesSearchByScopeFiltersFunc ¶ added in v0.0.216
type UniqueValuesSearchByScopeFiltersFunc func(customerGUID string, scopeFilters *QueryScopeParams, reqObj *UniqueValuesRequestV2) (*UniqueValuesResponseV2, error)
type UpdateAuditEntry ¶
type V2ListRequest ¶ added in v0.0.197
type V2ListRequest struct {
// properties of the requested next page
// Use ValidatePageProperties to set PageSize field
PageSize *int `json:"pageSize"`
// One can leave it empty for 0, then call ValidatePageProperties
PageNum *int `json:"pageNum"`
// The time window of the list to return. Default: since - begining og the time, until - now.
Since *time.Time `json:"since"`
Until *time.Time `json:"until"`
// Which elements of the list to return, each field can hold multiple values separated by comma
// An empty map means "return the complete list"
// Example: [{"severity": "High,Medium", "type": "61539,30303"}]
InnerFilters []map[string]string `json:"innerFilters"`
// How to order (sort) the list, field name + sort order (asc/desc), like https://www.w3schools.com/sql/sql_orderby.asp
// When empty, the default sort order is used. To disable the default sort order, set IgnoreDefaultSort to true
// Example: timestamp:asc,severity:desc
OrderBy string `json:"orderBy"`
// When true, the default sort order is ignored
// TODO: take it off, and use the default sort order when OrderBy is empty
IgnoreDefaultSort bool `json:"ignoreDefaultOrderBy,omitempty"`
// Cursor to the next page of former requset.
// Cursor cannot be used with another parameters of this struct
Cursor *Cursor `json:"cursorV1,omitempty"`
CursorDepracated string `json:"cursor"`
// FieldsList allow us to return only subset of the source document fields
// Don't expose FieldsList outside without well designed decision
// swagger:ignore
FieldsList []string `json:"includeFields"`
FieldsReverseKeywordMap map[string]string `json:"-"`
// TODO: reuse cursor struct (few line above)
SearchAfter *SearchAfterResp `json:"searchAfter"`
// For PUT request, can be used to update only specific fields with specific values
// map of field name to new value
FieldsToUpdate map[string]string `json:"fieldsToUpdate"`
//internal flag to indicate if the request is validated (avoid fixing pagination twice in the same request)
// swagger:ignore
FixedPageNum bool `json:"_fixedPageNum"`
// Ticket manager to use for the request - for example, to get tickets from Jira or Linear
TicketManager TicketManager `json:"ticketManager,omitempty"`
}
TODO use armotypes.V2ListRequest V2ListRequest descripts what portion of the list the client is requesting swagger:model PaginationRequest
func (*V2ListRequest) GetFieldsNames ¶ added in v0.0.207
func (lr *V2ListRequest) GetFieldsNames() []string
GetFieldsNames retunrs slice of Fields names
func (*V2ListRequest) ReplaceFieldsToKeywords ¶ added in v0.0.216
func (lr *V2ListRequest) ReplaceFieldsToKeywords(keywordMap map[string]string)
ReplaceFieldsToKeywords replaces the original fields names to the .keyword if necessary
func (*V2ListRequest) ValidateOrderBy ¶ added in v0.0.216
func (lr *V2ListRequest) ValidateOrderBy(defaultDescOrder string)
ValidateOrderBy vlidate that the order-by field is well configured to the desired state
func (*V2ListRequest) ValidatePageProperties ¶ added in v0.0.207
func (lr *V2ListRequest) ValidatePageProperties(maxPageSize int)
ValidatePageProperties validate page size and page number to be valid
type V2ListResponse ¶ added in v0.0.207
type V2ListResponse V2ListResponseGeneric[interface{}]
type V2ListResponseGeneric ¶ added in v0.0.246
type V2ListResponseGeneric[T any] struct { Total RespTotal `json:"total"` Response T `json:"response"` // Cursor for quick access to the next page. Not supported yet Cursor string `json:"cursor"` }
V2ListResponse holds the response of some list request with some metadata
type VolumeScanState ¶ added in v0.0.617
type VolumeScanState struct {
CustomerGUID string `json:"customerGUID"`
VolumeID string `json:"volumeID"`
VolumeScanID string `json:"volumeScanID"`
ScanStatus string `json:"scanStatus"`
ErrorType string `json:"errorType,omitempty"`
ErrorRaw string `json:"errorRaw,omitempty"`
ErrorDescription string `json:"errorDescription,omitempty"`
}
type Vulnerabilities ¶ added in v0.0.205
type VulnerabilitiesComponent ¶ added in v0.0.283
type VulnerabilitiesComponent struct {
CustomerGUID string `json:"customerGUID"`
Name string `json:"name"`
Version string `json:"version"`
PackageType string `json:"packageType"`
// swagger:ignore
FirstSeen time.Time `json:"firstSeen"` //first found in the user account (not in the world)
FixVersions []string `json:"fixVersions"`
PathsInfo []ComponentPathInfo `json:"pathsInfo"`
}
type Vulnerability ¶ added in v0.0.142
type Vulnerability struct {
Name string `json:"name"`
UniqueFindingID int64 `json:"uniqueFindingID"`
ID string `json:"id"`
Severity string `json:"severity"`
SeverityScore int `json:"severityScore"`
Links []string `json:"links"`
Description string `json:"description"`
Exploitable string `json:"exploitable"`
IsRelevant string `json:"isRelevant"`
DiscoveredDate time.Time `json:"discoveredDate"`
ComponentInfo VulnerabilitiesComponent `json:"componentInfo"`
CvssInfo CvssInfo `json:"cvssInfo"`
EpssInfo EpssInfo `json:"epssInfo"`
CisaKevInfo CisaKevInfo `json:"cisaKevInfo"`
WorkloadsCount int `json:"workloadsCount"`
ImagesCount int `json:"imagesCount"`
HostsCount int `json:"hostsCount"`
IgnoreRulesSummary map[string]IgnoreRuleSummary `json:"ignoreRulesSummary"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
HasTickets bool `json:"hasTickets,omitempty"`
TicketsCount int `json:"ticketsCount,omitempty"`
}
type VulnerabilityExceptionPolicy ¶
type VulnerabilityExceptionPolicy struct {
PortalBase `json:",inline" bson:"inline"`
// Policy type. Must be 'vulnerabilityExceptionPolicy'
// required: true
// Example: vulnerabilityExceptionPolicy
PolicyType string `json:"policyType,omitempty" bson:"policyType,omitempty"`
// Creation time of the policy
// Example: 2022-03-31T08:57:58.048014
CreationTime string `json:"creationTime" bson:"creationTime"`
// Actions to apply (currently only 'ignore' is available)
// required: true
// min: 1
// Example: ["ignore"]
Actions []VulnerabilityExceptionPolicyActions `json:"actions" bson:"actions,omitempty"`
// Items to apply the actions on
// required: true
// min: 1
Designatores []identifiers.PortalDesignator `json:"designators" bson:"designators,omitempty"`
// Vulnerabilities to take the actions on
// required: true
// min: 1
VulnerabilityPolicies []VulnerabilityPolicy `json:"vulnerabilities" bson:"vulnerabilities,omitempty"`
Reason string `json:"reason,omitempty" bson:"reason,omitempty"`
ExpirationDate *time.Time `json:"expirationDate" bson:"expirationDate,omitempty"`
ExpiredOnFix *bool `json:"expiredOnFix,omitempty" bson:"expiredOnFix,omitempty"`
CreatedBy string `json:"createdBy,omitempty" bson:"createdBy,omitempty"`
}
func MockVulnerabilityException ¶
func MockVulnerabilityException() *VulnerabilityExceptionPolicy
func (*VulnerabilityExceptionPolicy) IsAlertOnly ¶
func (exceptionPolicy *VulnerabilityExceptionPolicy) IsAlertOnly() bool
type VulnerabilityExceptionPolicyActions ¶
type VulnerabilityExceptionPolicyActions string
const Ignore VulnerabilityExceptionPolicyActions = "ignore"
type VulnerabilityJobParams ¶
type VulnerabilityPolicy ¶
type VulnerabilityScanConfig ¶
type VulnerabilityScanConfig struct {
ScanFrequency ScanFrequency `json:"scanFrequency,omitempty" bson:"scanFrequency,omitempty"`
CriticalPriorityThreshold int `json:"criticalPriorityThreshold,omitempty" bson:"criticalPriorityThreshold,omitempty"`
HighPriorityThreshold int `json:"highPriorityThreshold,omitempty" bson:"highPriorityThreshold,omitempty"`
MediumPriorityThreshold int `json:"mediumPriorityThreshold,omitempty" bson:"mediumPriorityThreshold,omitempty"`
ScanNewDeployment bool `json:"scanNewDeployment,omitempty" bson:"scanNewDeployment,omitempty"`
AllowlistRegistries []string `json:"AllowlistRegistries,omitempty" bson:"AllowlistRegistries,omitempty"`
BlocklistRegistries []string `json:"BlocklistRegistries,omitempty" bson:"BlocklistRegistries,omitempty"`
}
type VulnerabilityToHost ¶ added in v0.0.615
type VulnerabilityToHost struct {
CustomerGUID string `json:"customerGUID"`
Region string `json:"region"`
InstanceHash string `json:"instanceHash"`
InstanceScanId string `json:"instanceScanId"`
HostID string `json:"hostID"`
HostName string `json:"hostName"`
AccountID string `json:"accountID"`
AccountName string `json:"accountName"`
HostType string `json:"hostType"`
ImageID string `json:"imageID"`
ImageName string `json:"imageName"`
KernelVersion string `json:"kernelVersion"`
PrivateIpAddress string `json:"privateIpAddress"`
PublicIpAddress string `json:"publicIpAddress"`
CloudAccountGUID string `json:"cloudAccountGUID"`
Provider string `json:"provider"`
VolumeCount int `json:"volumeCount"`
LastScanTime time.Time `json:"lastScanTime"`
CriticalCount int `json:"criticalCount"`
HighCount int `json:"highCount"`
MediumCount int `json:"mediumCount"`
LowCount int `json:"lowCount"`
UnknownCount int `json:"unknownCount"`
SeverityStats map[string][]string `json:"severityStats"`
RiskFactorsCount int `json:"riskFactorsCount"`
RiskFactors []RiskFactor `json:"riskFactors"`
Labels []string `json:"labels"`
HasRelevancyData bool `json:"hasRelevancyData"`
Tickets []Ticket `json:"tickets,omitempty"`
MissingRuntimeInfoReason MissingRuntimeInfoReason `json:"missingRuntimeInfoReason"`
TicketsCount int `json:"ticketsCount,omitempty"`
ScanStatus string `json:"scanStatus"`
HostErrorType string `json:"hostErrorType,omitempty"`
HostErrorRaw string `json:"hostErrorRaw,omitempty"`
HostErrorDescription string `json:"hostErrorDescription,omitempty"` // enriched on API level with host error descriptions for UI
VolumesInfo map[string]VolumeScanState `json:"volumeScanStates"`
VolumeErrorDescriptions []string `json:"volumeErrorDescriptions,omitempty"` // enriched on API level with volume error descriptions for UI
}
type VulnerabilityUniqueComponent ¶ added in v0.0.451
type VulnerabilityUniqueDailyFindings ¶ added in v0.0.405
type VulnerabilityUniqueFinding ¶ added in v0.0.405
type VulnerabilityUniqueFinding struct {
CustomerGUID string `json:"customerGUID"`
SeverityScore int64 `json:"severityScore"`
VulnerabilityID string `json:"vulnerabilityID"`
Component string `json:"component"`
ComponentVersion string `json:"componentVersion"`
FixAvailable *bool `json:"fixAvailable"`
ResourceHash string `json:"resourceHash"`
CloudHostHash string `json:"cloudHostHash"`
IsRelevant bool `json:"isRelevant"`
ScanDate time.Time `json:"scanDate"`
CloudAccountGUID string `json:"cloudAccountGUID,omitempty"` // optional
InstanceScanID string `json:"instanceScanID,omitempty"` // optional
}
type VulnerabilityWorkload ¶ added in v0.0.283
type VulnerabilityWorkload struct {
Wlid string `json:"wlid"`
ResourceHash string `json:"resourceHash"` //common hash of customerGUID, cluster, kind, name, namespace, apiVersion
Name string `json:"name"` // deprecated
Workload string `json:"workload"` // workload name (replaced 'name' field)
Namespace string `json:"namespace"`
Kind string `json:"kind"`
Cluster string `json:"cluster"`
ClusterShortName string `json:"clusterShortName"`
LastScanTime time.Time `json:"lastScanTime"`
CustomerGUID string `json:"customerGUID"`
ImagesCount int `json:"imagesCount"`
CriticalCount int `json:"criticalCount"`
HighCount int `json:"highCount"`
MediumCount int `json:"mediumCount"`
LowCount int `json:"lowCount"`
UnknownCount int `json:"unknownCount"`
SeverityStats map[string][]string `json:"severityStats"`
RiskFactorsCount int `json:"riskFactorsCount"`
RiskFactors []RiskFactor `json:"riskFactors"`
Labels []string `json:"labels"`
HasRelevancyData bool `json:"hasRelevancyData"`
Images []string `json:"images"`
TicketManager TicketManager `json:"ticketManager,omitempty"`
Tickets []Ticket `json:"tickets,omitempty"`
MissingRuntimeInfoReason MissingRuntimeInfoReason `json:"missingRuntimeInfoReason"`
TicketsCount int `json:"ticketsCount,omitempty"`
}
type WorkloadStatus ¶ added in v0.0.419
type WorkloadStatus struct {
ResourceHash string `json:"resourceHash"`
CustomerGUID string `json:"customerGUID"`
ClusterName string `json:"clusterName"`
IsInternetFacing *bool `json:"isInternetFacing"`
AiClientProviders []string `json:"aiClientProviders"`
AiServerProviders []string `json:"aiServerProviders"`
RiskFactors []string `json:"riskFactors"`
}
type WorkloadViews ¶ added in v0.0.586
type WorkloadViews struct {
WorkloadName string `json:"workloadName"`
Kind string `json:"kind"` // will be deprecated in the future after type is introduced
Type string `json:"type"`
Cluster string `json:"cluster"`
AccountID string `json:"accountId"`
Region string `json:"region"`
Provider string `json:"provider"`
Namespace string `json:"namespace"`
CreationTimestamp *time.Time `json:"creationTimestamp,omitempty"`
CompletionStatus string `json:"completionStatus,omitempty"`
Status string `json:"status,omitempty"`
LearningPeriod string `json:"learningPeriod,omitempty"`
RiskFactors []string `json:"riskFactors,omitempty"`
LearningPercentage *int `json:"learningPercentage,omitempty"`
HostName string `json:"hostName,omitempty"`
}
Source Files
¶
- attackchainstypes.go
- attackchainstypesutils.go
- cachetypes.go
- cloudposturetypes.go
- clusters.go
- common.go
- configtypes.go
- configtypes_mock.go
- containers.go
- crds.go
- customerslackconfigurations.go
- datastructuresmethod.go
- exceptionpolicy.go
- executionpolicytypes.go
- healthreports.go
- helmconsts.go
- integrationtypes.go
- inventory.go
- k8stypes.go
- kpitypes.go
- kubernetes_objects.go
- linuxobjects.go
- malware.go
- microservice_info.go
- microservice_info_method.go
- networkconnection.go
- networkpolicies.go
- networkstream.go
- nodesProfile.go
- oauth2types.go
- pagination_structs.go
- pagination_structs_methods.go
- paginationmethods.go
- podstatus.go
- portaltypes.go
- portaltypes_mock.go
- portaltypesutils.go
- postureexceptionpolicytypes.go
- postureexceptionpolicytypesutils.go
- posturerecommendations.go
- posturetypes.go
- recordstatus.go
- registrymethods.go
- registrytypes.go
- reposcanning.go
- runtimeincidents.go
- runtimerule.go
- savedfilters.go
- seccomp.go
- securityrisks.go
- storage_objects.go
- synchronizerclients.go
- vulnerabilityexceptionpolicytypes.go
- vulnerabilityexceptionpolicytypes_mock.go
- vulnerabilitytypes.go
- workloadstatus.go
- workloadview.go