Documentation ¶
Index ¶
- Constants
- Variables
- func RESTTimeString(t time.Time) string
- func UpgradeLogLevel(level string) string
- type AdmCtlTimeStamps
- type AlertType
- type AssetCVECount
- type AssetQueryFilterViewModel
- type AssetSessionSummary
- type Audit
- type Collection
- type Condition
- type Event
- type IBMSAFinding
- type Incident
- type LogCommon
- type ModifierType
- type OwnerReference
- type Pagination
- type Principal
- type PrincipalCollection
- type QuerySessionRequest
- type RESTAWSAccountKey
- type RESTAWSAccountKeyConfig
- type RESTAcceptedAlerts
- type RESTAdmCatOptions
- type RESTAdmCtrlPromoteRequest
- type RESTAdmCtrlPromoteRequestData
- type RESTAdmCtrlRulesExport
- type RESTAdmCtrlRulesTestResult
- type RESTAdmCtrlRulesTestResults
- type RESTAdmCtrlTestRuleInfo
- type RESTAdmRuleCriterion
- type RESTAdmRuleOptions
- type RESTAdmRuleTypeOptions
- type RESTAdminCriteriaTemplate
- type RESTAdminCustomCriteriaOptions
- type RESTAdmissionConfigData
- type RESTAdmissionRule
- type RESTAdmissionRuleConfig
- type RESTAdmissionRuleConfigData
- type RESTAdmissionRuleData
- type RESTAdmissionRuleOption
- type RESTAdmissionRulesData
- type RESTAdmissionState
- type RESTAdmissionStats
- type RESTAdmissionStatsData
- type RESTAgent
- type RESTAgentConfig
- type RESTAgentConfigData
- type RESTAgentCounter
- type RESTAgentCounterData
- type RESTAgentData
- type RESTAgentStatsData
- type RESTAgentsData
- type RESTAllUserPermitOptions
- type RESTApikey
- type RESTApikeyCreation
- type RESTApikeyCreationData
- type RESTApikeyData
- type RESTApikeyGenerated
- type RESTApikeyGeneratedData
- type RESTApikeysData
- type RESTAssetIDList
- type RESTAssetQueryStats
- type RESTAssetView
- type RESTAuditsData
- type RESTAuthData
- type RESTAuthPassword
- type RESTAuthToken
- type RESTAvaiableComplianceFilter
- type RESTAwsCloudRes
- type RESTAwsFuncPermission
- type RESTAwsFuncSummary
- type RESTAwsFunction
- type RESTAwsLambdaRes
- type RESTAwsLambdaResDetail
- type RESTAwsResDetail
- type RESTAwsResource
- type RESTAwsResourceConfig
- type RESTAwsResourceCreate
- type RESTBenchCheck
- type RESTBenchItem
- type RESTBenchMeta
- type RESTBenchReport
- type RESTCheckUpgradeInfo
- type RESTCloudResList
- type RESTClusterCspUsage
- type RESTCompProfilesExport
- type RESTComplianceAsset
- type RESTComplianceAssetData
- type RESTComplianceData
- type RESTComplianceProfile
- type RESTComplianceProfileConfig
- type RESTComplianceProfileConfigData
- type RESTComplianceProfileData
- type RESTComplianceProfileEntry
- type RESTComplianceProfileEntryConfigData
- type RESTComplianceProfilesData
- type RESTController
- type RESTControllerConfig
- type RESTControllerConfigData
- type RESTControllerCounter
- type RESTControllerCounterData
- type RESTControllerData
- type RESTControllersData
- type RESTConversation
- type RESTConversationCompact
- type RESTConversationDetail
- type RESTConversationEndpoint
- type RESTConversationEndpointConfig
- type RESTConversationEndpointConfigData
- type RESTConversationEndpointData
- type RESTConversationEntry
- type RESTConversationQuery
- type RESTConversationQueryData
- type RESTConversationReport
- type RESTConversationReportEntry
- type RESTConversationsData
- type RESTConversationsDetailData
- type RESTConversationsVerboseData
- type RESTCrdDlpGroupConfig
- type RESTCrdDlpGroupSetting
- type RESTCrdGroupConfig
- type RESTCrdWafGroupConfig
- type RESTCrdWafGroupSetting
- type RESTCriteriaEntry
- type RESTCspAdapterInfo
- type RESTCustomCheck
- type RESTCustomCheckConfig
- type RESTCustomCheckConfigData
- type RESTCustomCheckData
- type RESTCustomCheckListData
- type RESTCustomChecks
- type RESTDebugIP2Workload
- type RESTDebugIP2WorkloadData
- type RESTDebugSyncInfo
- type RESTDebugSyncInfoData
- type RESTDeployFedRulesReq
- type RESTDeployFedRulesResp
- type RESTDerivedDlpRule
- type RESTDerivedDlpRuleData
- type RESTDerivedDlpRuleMac
- type RESTDerivedDlpRuleMacData
- type RESTDerivedPolicyRule
- type RESTDerivedPolicyRuleData
- type RESTDerivedWorkloadDlpRule
- type RESTDerivedWorkloadDlpRuleData
- type RESTDerivedWorkloadPolicyRule
- type RESTDlpConfig
- type RESTDlpCriteriaEntry
- type RESTDlpGroup
- type RESTDlpGroupConfig
- type RESTDlpGroupConfigData
- type RESTDlpGroupData
- type RESTDlpGroupsData
- type RESTDlpRule
- type RESTDlpRuleConfig
- type RESTDlpRuleConfigData
- type RESTDlpRuleData
- type RESTDlpRuleDetail
- type RESTDlpRulesData
- type RESTDlpSensor
- type RESTDlpSensorConfig
- type RESTDlpSensorConfigData
- type RESTDlpSensorData
- type RESTDlpSensorExport
- type RESTDlpSensorsData
- type RESTDlpSetting
- type RESTDomain
- type RESTDomainConfig
- type RESTDomainConfigData
- type RESTDomainEntryConfig
- type RESTDomainEntryConfigData
- type RESTDomainsData
- type RESTEULA
- type RESTEULAData
- type RESTError
- type RESTErrorReadOnlyRules
- type RESTEventsData
- type RESTExposedEndpoint
- type RESTFedAuthData
- type RESTFedConfigData
- type RESTFedCspSupportReq
- type RESTFedCspSupportResp
- type RESTFedCspUsage
- type RESTFedDataCfgMap
- type RESTFedImageScanResult
- type RESTFedInternalCommandReq
- type RESTFedInternalCommandResp
- type RESTFedJoinReq
- type RESTFedJoinReqInternal
- type RESTFedJoinRespInternal
- type RESTFedJoinToken
- type RESTFedJointClusterInfo
- type RESTFedLeaveReq
- type RESTFedLeaveReqInternal
- type RESTFedMasterClusterInfo
- type RESTFedMembereshipData
- type RESTFedPingReq
- type RESTFedPingResp
- type RESTFedPromoteReqData
- type RESTFedPromoteRespData
- type RESTFedRemovedReqInternal
- type RESTFedRulesSettings
- type RESTFedScanDataRevs
- type RESTFedScanResultData
- type RESTFedSystemConfig
- type RESTFedSystemConfigConfig
- type RESTFedTokenResp
- type RESTFedView
- type RESTFileMonitorConfig
- type RESTFileMonitorConfigData
- type RESTFileMonitorFile
- type RESTFileMonitorFileData
- type RESTFileMonitorFilter
- type RESTFileMonitorFilterConfig
- type RESTFileMonitorProfile
- type RESTFileMonitorProfileData
- type RESTFileMonitorProfilesData
- type RESTGCRKey
- type RESTGCRKeyConfig
- type RESTGroup
- type RESTGroupBatchDelete
- type RESTGroupBrief
- type RESTGroupCaps
- type RESTGroupConfig
- type RESTGroupConfigData
- type RESTGroupData
- type RESTGroupDetail
- type RESTGroupExport
- type RESTGroupStatsData
- type RESTGroupsBriefData
- type RESTGroupsData
- type RESTHost
- type RESTHostAsset
- type RESTHostAssetView
- type RESTHostData
- type RESTHostsData
- type RESTIBMSAConfig
- type RESTIBMSASetupToken
- type RESTIBMSASetupUrl
- type RESTIDName
- type RESTIPAddr
- type RESTIPPort
- type RESTImageAsset
- type RESTImageAssetView
- type RESTImageAssetViewV2
- type RESTImportTask
- type RESTImportTaskData
- type RESTIncidentsData
- type RESTInternalSubnets
- type RESTInternalSubnetsData
- type RESTK8sNvAcceptableAlerts
- type RESTK8sNvRbacStatus
- type RESTLicenseCode
- type RESTLicenseInfo
- type RESTLicenseKey
- type RESTLicenseKeyCfgMap
- type RESTLicenseRequest
- type RESTLicenseRequestData
- type RESTLicenseShow
- type RESTLicenseShowData
- type RESTList
- type RESTListData
- type RESTMappableRoles
- type RESTMeter
- type RESTMeterList
- type RESTMetry
- type RESTModuleCve
- type RESTNvAcceptableAlerts
- type RESTNvAlert
- type RESTNvAlertGroup
- type RESTNvAlerts
- type RESTNvUsage
- type RESTPermitsAssigned
- type RESTPlatformAsset
- type RESTPlatformAssetView
- type RESTPolicyMismatch
- type RESTPolicyPromoteRequest
- type RESTPolicyPromoteRequestData
- type RESTPolicyRule
- type RESTPolicyRuleActionData
- type RESTPolicyRuleConfig
- type RESTPolicyRuleConfigData
- type RESTPolicyRuleData
- type RESTPolicyRuleInsert
- type RESTPolicyRuleMove
- type RESTPolicyRulesData
- type RESTPolicyViolationsData
- type RESTPolicyViolationsWLData
- type RESTPollFedRulesReq
- type RESTPollFedRulesResp
- type RESTPollFedScanDataReq
- type RESTPollFedScanDataResp
- type RESTProbeContainer
- type RESTProbeContainersData
- type RESTProbeProcess
- type RESTProbeProcessesData
- type RESTProbeSummary
- type RESTProbeSummaryData
- type RESTProcessInfo
- type RESTProcessList
- type RESTProcessProfile
- type RESTProcessProfileConfig
- type RESTProcessProfileConfigData
- type RESTProcessProfileData
- type RESTProcessProfileEntry
- type RESTProcessProfileEntryConfig
- type RESTProcessProfilesData
- type RESTProcessRuleResp
- type RESTProcessRulesResp
- type RESTProcessUuidEntry
- type RESTProfiling
- type RESTProfilingData
- type RESTProtoPort
- type RESTProxy
- type RESTProxyConfig
- type RESTPwdProfile
- type RESTPwdProfileBasic
- type RESTPwdProfileConditional
- type RESTPwdProfileConfig
- type RESTPwdProfileConfigData
- type RESTPwdProfileData
- type RESTPwdProfileDataConditional
- type RESTPwdProfilesData
- type RESTPwdProfilesDataCfgMap
- type RESTRegistry
- type RESTRegistryAuth
- type RESTRegistryConfig
- type RESTRegistryConfigAuth
- type RESTRegistryConfigData
- type RESTRegistryConfigDataV2
- type RESTRegistryConfigIntegrations
- type RESTRegistryConfigScan
- type RESTRegistryConfigV2
- type RESTRegistryDebugImage
- type RESTRegistryDebugImageData
- type RESTRegistryDebugImageTag
- type RESTRegistryImageSummary
- type RESTRegistryImageSummaryData
- type RESTRegistryIntegrations
- type RESTRegistryScan
- type RESTRegistrySummary
- type RESTRegistrySummaryData
- type RESTRegistrySummaryListData
- type RESTRegistryTestData
- type RESTRegistryTestDataV2
- type RESTRegistryTestStep
- type RESTRegistryTestStepData
- type RESTRegistryV2
- type RESTRemoteExportOptions
- type RESTRemoteRepo_GitHubConfig
- type RESTRemoteRepository
- type RESTRemoteRepositoryConfig
- type RESTRemoteRepositoryConfigData
- type RESTRemoteRepository_GitHubConfigConfig
- type RESTRemoteRolePermits
- type RESTResponseRule
- type RESTResponseRuleActionData
- type RESTResponseRuleConfig
- type RESTResponseRuleConfigData
- type RESTResponseRuleData
- type RESTResponseRuleInsert
- type RESTResponseRuleOptionData
- type RESTResponseRuleOptions
- type RESTResponseRulesData
- type RESTRiskScoreMetrics
- type RESTRiskScoreMetricsCVE
- type RESTRiskScoreMetricsGroup
- type RESTRiskScoreMetricsWL
- type RESTRolePermission
- type RESTRolePermitOptionInternal
- type RESTScanAppPackage
- type RESTScanAwsFuncDetail
- type RESTScanAwsFuncReport
- type RESTScanBrief
- type RESTScanCacheData
- type RESTScanCacheRecord
- type RESTScanCacheStat
- type RESTScanConfig
- type RESTScanConfigConfig
- type RESTScanConfigData
- type RESTScanImageSummary
- type RESTScanImageSummaryData
- type RESTScanLayer
- type RESTScanLayersReport
- type RESTScanLayersReportData
- type RESTScanMeta
- type RESTScanModule
- type RESTScanPackageReqData
- type RESTScanPkgReport
- type RESTScanPkgReportData
- type RESTScanPlatformSummary
- type RESTScanPlatformSummaryData
- type RESTScanRepoReport
- type RESTScanRepoReportData
- type RESTScanRepoReq
- type RESTScanRepoReqData
- type RESTScanRepoSubmitData
- type RESTScanReport
- type RESTScanReportData
- type RESTScanSchedule
- type RESTScanSecret
- type RESTScanSetIdPerm
- type RESTScanSignatureInfo
- type RESTScanStatus
- type RESTScanStatusData
- type RESTScanner
- type RESTScannerData
- type RESTScoreMetricsData
- type RESTSecurityData
- type RESTSecurityScores
- type RESTSelfApikeyData
- type RESTSelfUserData
- type RESTServer
- type RESTServerConfig
- type RESTServerConfigData
- type RESTServerData
- type RESTServerGroupRoleConfigData
- type RESTServerGroupRoleDomainsConfig
- type RESTServerGroupRoleDomainsConfigData
- type RESTServerGroupsOrderConfig
- type RESTServerGroupsOrderConfigData
- type RESTServerLDAP
- type RESTServerLDAPConfig
- type RESTServerLDAPConfigCfgMap
- type RESTServerLDAPTest
- type RESTServerOIDC
- type RESTServerOIDCConfig
- type RESTServerOIDCConfigCfgMap
- type RESTServerRoleGroupsConfig
- type RESTServerRoleGroupsConfigData
- type RESTServerSAML
- type RESTServerSAMLConfig
- type RESTServerSAMLConfigCfgMap
- type RESTServerTest
- type RESTServerTestData
- type RESTServerTestResult
- type RESTServerTestResultData
- type RESTServersData
- type RESTService
- type RESTServiceBatchConfig
- type RESTServiceBatchConfigData
- type RESTServiceConfig
- type RESTServiceConfigData
- type RESTServiceData
- type RESTServicesData
- type RESTSession
- type RESTSessionList
- type RESTSessionSummary
- type RESTSessionSummaryData
- type RESTSnifferArgs
- type RESTSnifferArgsData
- type RESTSnifferData
- type RESTSnifferInfo
- type RESTSnifferResult
- type RESTSnifferResultData
- type RESTSniffersData
- type RESTStats
- type RESTSysAtmoConfigConfig
- type RESTSysNetConfigConfig
- type RESTSystemConfig
- type RESTSystemConfigAuthCfgV2
- type RESTSystemConfigAuthV2
- type RESTSystemConfigAutoscale
- type RESTSystemConfigAutoscaleConfig
- type RESTSystemConfigConfig
- type RESTSystemConfigConfigCfgMap
- type RESTSystemConfigConfigData
- type RESTSystemConfigConfigV2
- type RESTSystemConfigData
- type RESTSystemConfigDataV2
- type RESTSystemConfigIBMSAV2
- type RESTSystemConfigIBMSAVCfg2
- type RESTSystemConfigMiscCfgV2
- type RESTSystemConfigMiscV2
- type RESTSystemConfigModeAutoV2
- type RESTSystemConfigNetSvcV2
- type RESTSystemConfigNewSvcV2
- type RESTSystemConfigProxyCfgV2
- type RESTSystemConfigProxyV2
- type RESTSystemConfigSvcCfgV2
- type RESTSystemConfigSyslogCfgV2
- type RESTSystemConfigSyslogV2
- type RESTSystemConfigTls
- type RESTSystemConfigTlsCfg
- type RESTSystemConfigV2
- type RESTSystemRequest
- type RESTSystemRequestData
- type RESTSystemStats
- type RESTSystemStatsData
- type RESTSystemSummary
- type RESTSystemSummaryData
- type RESTSystemUsageReport
- type RESTSystemUsageReportData
- type RESTSystemWebhookConfigData
- type RESTTeleStatus
- type RESTThreatData
- type RESTThreatsData
- type RESTToken
- type RESTTokenAuthServer
- type RESTTokenAuthServerRedirect
- type RESTTokenAuthServersData
- type RESTTokenAuthServersRedirectData
- type RESTTokenData
- type RESTTokenRedirect
- type RESTUnquarReq
- type RESTUpgradeInfo
- type RESTUpgradeVersionInfo
- type RESTUser
- type RESTUserConfig
- type RESTUserConfigData
- type RESTUserData
- type RESTUserPermitOption
- type RESTUserPermitOptions
- type RESTUserPwdConfig
- type RESTUserPwdConfigData
- type RESTUserRole
- type RESTUserRoleConfig
- type RESTUserRoleConfigData
- type RESTUserRoleData
- type RESTUserRoleDomainsConfig
- type RESTUserRoleDomainsConfigData
- type RESTUserRolesData
- type RESTUserRolesDataCfgMap
- type RESTUsersData
- type RESTUsersDataCfgMap
- type RESTViolationWorkload
- type RESTVulQueryStats
- type RESTVulnPackageVersion
- type RESTVulnProfilesExport
- type RESTVulnerability
- type RESTVulnerabilityAsset
- type RESTVulnerabilityAssetData
- type RESTVulnerabilityAssetDataV2
- type RESTVulnerabilityAssetV2
- type RESTVulnerabilityProfile
- type RESTVulnerabilityProfileConfig
- type RESTVulnerabilityProfileConfigData
- type RESTVulnerabilityProfileData
- type RESTVulnerabilityProfileEntry
- type RESTVulnerabilityProfileEntryConfigData
- type RESTVulnerabilityProfilesData
- type RESTWafConfig
- type RESTWafCriteriaEntry
- type RESTWafGroup
- type RESTWafGroupConfig
- type RESTWafGroupConfigData
- type RESTWafGroupData
- type RESTWafGroupsData
- type RESTWafRule
- type RESTWafRuleData
- type RESTWafRuleDetail
- type RESTWafRulesData
- type RESTWafSensor
- type RESTWafSensorConfig
- type RESTWafSensorConfigData
- type RESTWafSensorData
- type RESTWafSensorExport
- type RESTWafSensorsData
- type RESTWafSetting
- type RESTWebhook
- type RESTWorkload
- type RESTWorkloadAsset
- type RESTWorkloadAssetView
- type RESTWorkloadBrief
- type RESTWorkloadBriefV2
- type RESTWorkloadConfig
- type RESTWorkloadConfigCfg
- type RESTWorkloadConfigCfgData
- type RESTWorkloadConfigData
- type RESTWorkloadDetail
- type RESTWorkloadDetailData
- type RESTWorkloadDetailDataV2
- type RESTWorkloadDetailMiscV2
- type RESTWorkloadDetailV2
- type RESTWorkloadIntercept
- type RESTWorkloadInterceptData
- type RESTWorkloadInterceptPort
- type RESTWorkloadPorts
- type RESTWorkloadRequest
- type RESTWorkloadRequestData
- type RESTWorkloadRtAttribesV2
- type RESTWorkloadSecurityV2
- type RESTWorkloadStatsData
- type RESTWorkloadV2
- type RESTWorkloadsBriefData
- type RESTWorkloadsData
- type RESTWorkloadsDataV2
- type RESTX509CertInfo
- type REST_SigstoreRootOfTrustCollection
- type REST_SigstoreRootOfTrust_GET
- type REST_SigstoreRootOfTrust_PATCH
- type REST_SigstoreRootOfTrust_POST
- type REST_SigstoreVerifier
- type REST_SigstoreVerifierCollection
- type REST_SigstoreVerifier_PATCH
- type Resource
- type Sort
- type SortOrder
- type Threat
- type User
- type UserAccessControl
- type UserCollection
- type UserCondition
- type Violation
- type VulAssetCountDist
- type VulAssetSessionSummary
- type VulQueryFilterViewModel
Constants ¶
const ( ServerCatAuth string = "auth" ServerCatNotify string = "notify" ServerCatLog string = "log" ServerTypeLDAP string = "ldap" ServerTypeSAML string = "saml" ServerTypeOIDC string = "oidc" ServerLDAPTypeOpenLDAP string = "OpenLDAP" ServerLDAPTypeMSAD string = "MicrosoftAD" LDAPGroupMemberAttrOpenLDAP string = "memberUid" LDAPGroupMemberAttrMSAD string = "member" LDAPUserNameAttrOpenLDAP string = "uid" LDAPUserNameAttrMSAD string = "sAMAccountName" )
const ( BenchCategoryDocker = "docker" BenchCategoryKube = "kubernetes" BenchCategoryCustom = "custom" BenchTypeMaster = "master" BenchTypeWorker = "worker" BenchTypeHost = "host" BenchTypeContainer = "container" )
const ( SnifferStRunning string = "running" SnifferStStopped string = "stopped" SnifferStFailed string = "failed" )
const ( ScanVulStatusUnpatched string = "unpatched" ScanVulStatusFixExists string = "fix exists" ScanVulStatusWillNotFix string = "will not fix" ScanVulStatusUnaffected string = "unaffected" )
const ( CfgTypeLearned = "learned" CfgTypeUserCreated = "user_created" CfgTypeGround = "ground" CfgTypeFederal = "federal" CfgSystemDefined = "system_defined" )
const ( WireInline string = share.WireInline WireDefault string = share.WireDefault )
const ( WebhookDefaultName = "default" WebhookTypeSlack = "Slack" WebhookTypeJSON = "JSON" WebhookTypeTeams = "Teams" )
const ( AutoScaleNone = "" AutoScaleImmediate = "immediate" AutoScaleDelayed = "delayed" AutoScaleNA = "n/a" )
const ( ScanSourceJenkins string = "jenkins" ScanSourceServerless string = "serverless" )
const ( ComplianceTemplateAll = "all" ComplianceTemplatePCI = "PCI" ComplianceTemplateGDPR = "GDPR" ComplianceTemplateHIPAA = "HIPAA" ComplianceTemplateNIST = "NIST" // NIST SP 800-190 ComplianceTemplatePCIv4 = "PCIv4" ComplianceTemplateDISA = "DISA" )
const ( VulnerabilityNameRecent = "_RecentVuln" VulnerabilityNameRecentWithoutFix = "_RecentVulnWithoutFix" )
const ( RegistryStatusIdle = "idle" RegistryStatusScanning = "scanning" RegistryImageSourceOpenShift = "openshift" )
const ( ScanSchManual = "manual" ScanSchAuto = "auto" ScanSchPeriodical = "periodical" ScanIntervalMin = 5 * 60 ScanIntervalMax = 7 * 24 * 60 * 60 ScanPersistImageMax = 8192 )
const ( MatchSrcYaml = "yaml" MatchSrcImage = "image" MatchSrcBoth = "both" )
const ( ValidatingDenyRuleType = "deny" ValidatingExceptRuleType = "exception" ValidatingAllowRuleType = "allow" // same meaning as ValidatingExceptRuleType )
const ( ApikeyExpireNever string = "never" ApikeyExpireOneHour string = "onehour" ApikeyExpireOneDay string = "oneday" ApikeyExpireOneMonth string = "onemonth" ApikeyExpireOneYear string = "oneyear" ApikeyExpireCustomHour string = "hours" )
const ( FedRoleNone = "" FedRoleMaster = "master" FedRoleJoint = "joint" )
const ( FedClusterStatusNone = "active" FedClusterStatusCmdUnknown = "unknown_cmd" FedClusterStatusCmdReceived = "notified" FedClusterStatusCmdReqError = "req_error" FedStatusMasterUpgradeRequired = "master_upgrade_required" // for describing master cluster only FedStatusJointUpgradeRequired = "joint_upgrade_required" // for describing joint cluster only FedStatusClusterUpgradeOngoing = "cluster_upgrade_ongoing" // could get this status only when rolling upgrade & polling fed rules on joint cluster are happenging FedStatusJointVersionTooNew = "joint_version_too_new" // for describing joint cluster only FedStatusClusterConnected = "connected" // for describing master cluster only FedStatusClusterDisconnected = "disconnected" // for describing master cluster only FedStatusClusterJoined = "joined" // for describing joint cluster only. short-lived (between joining and the first polling) FedStatusClusterOutOfSync = "out_of_sync" // for describing joint cluster only FedStatusClusterSynced = "synced" // for describing joint cluster only FedStatusClusterKicked = "kicked" // for describing self on joint cluster only FedStatusClusterLeft = "left" // for describing joint cluster only FedStatusLicenseDisallowed = "license_disallow" // for describing clusters in fed FedStatusClusterPinging = "pinging" // for describing joint cluster only. short-lived (between license update and the immediate ping) FedStatusClusterSyncing = "syncing" // for describing joint cluster only. short-lived (when joint cluster is applying fed rules) FedStatusClusterPending = "pending" // for describing joint cluster only. when master cluster is not sure joint cluster has finished the joining fed operation )
const ( ProfilingCPU string = "cpu" ProfilingMemory string = "memory" ProfilingDurationMax uint32 = 60 )
const ( HTTPTestStepStage = "stage" HTTPTestStepImage = "images" HTTPTestStepURL = "url" HTTPTestStepResponse = "response" HTTPTestStepError = "error" )
const ( CategoryEvent = "event" CategoryViolation = "violation" // merged into CategoryRuntime in config, stil used in log category CategoryThreat = "threat" // merged into CategoryRuntime in config, stil used in log category CategoryIncident = "incident" // merged into CategoryRuntime in config, stil used in log category CategoryRuntime = "security-event" CategoryAudit = "audit" )
const ( LogLevelEMERG = "Emergency" LogLevelALERT = "Alert" LogLevelCRIT = "Critical" LogLevelERR = "Error" LogLevelWARNING = "Warning" LogLevelNOTICE = "Notice" LogLevelINFO = "Info" LogLevelDEBUG = "Debug" )
const ( SeverityCritical = "Critical" SeverityHigh = "High" SeverityMedium = "Medium" SeverityLow = "Low" SeverityInfo = "Info" )
const ( EventNameContainerStart = "Container.Start" EventNameContainerStop = "Container.Stop" EventNameContainerRemove = "Container.Remove" EventNameContainerSecured = "Container.Secured" EventNameContainerUnsecured = "Container.Unsecured" EventNameAgentStart = "Enforcer.Start" EventNameAgentJoin = "Enforcer.Join" EventNameAgentStop = "Enforcer.Stop" EventNameAgentDisconnect = "Enforcer.Disconnect" EventNameAgentConnect = "Enforcer.Connect" EventNameAgentKicked = "Enforcer.Kicked" EventNameControllerStart = "Controller.Start" EventNameControllerJoin = "Controller.Join" EventNameControllerLeave = "Controller.Leave" EventNameControllerStop = "Controller.Stop" EventNameControllerDisconnect = "Controller.Disconnect" EventNameControllerConnect = "Controller.Connect" EventNameControllerLeadLost = "Controller.Lead.Lost" EventNameControllerLeadElect = "Controller.Lead.Elected" EventNameAuthLogin = "User.Login" EventNameAuthLogout = "User.Logout" EventNameAuthTimeout = "User.Timeout" EventNameAuthLoginFailed = "User.Login.Failed" EventNameAuthLoginBlocked = "User.Login.Blocked" EventNameAuthLoginUnblocked = "User.Login.Unblocked" EventNameAuthUserPwdRestByAdmin = "User.Password.Reset" EventNameAuthAccessDenied = "User.Resource.Access.Denied" EventNameRESTWrite = "RESTful.Write" EventNameRESTRead = "RESTful.Read" EventNameScannerJoin = "Scanner.Join" EventNameScannerUpdate = "Scanner.Update" EventNameScannerLeave = "Scanner.Leave" EventNameScanFail = "Scan.Failed" EventNameScanSucceed = "Scan.Succeeded" EventNameBenchDockerFail = "Docker.CIS.Benchmark.Failed" EventNameBenchKubeFail = "Kubenetes.CIS.Benchmark.Failed" EventNameLicenseUpdate = "License.Update" EventNameLicenseExpire = "License.Expire" EventNameLicenseRemove = "License.Remove" EventNameLicenseEnforcerLimitReached = "License.EnforcerLimitReached" EventNameAdmCtrlK8sConfigured = "Admission.Control.Configured" // for admission control EventNameAdmCtrlK8sConfigFailed = "Admission.Control.ConfigFailed" // for admission control EventNameInitCfgMapDone = "ConfigMap.Load" // for initial Config EventNameInitCfgMapError = "ConfigMap.Failed" // for initial Config failure EventNameCrdImported = "Crd.Import" // for crd Config import EventNameCrdRemoved = "Crd.Remove" // for crd Config remove due to k8s miss EventNameCrdErrDetected = "Crd.Error" // for remove error crd EventNameCrdSkipped = "Crd.Skipped" // for crd skip ('kubectl create -f' on existing crd resource) EventNameFedPromote = "Federation.Promote" // for multi-clusters EventNameFedDemote = "Federation.Demote" // for multi-clusters EventNameFedJoin = "Federation.Join" // for joint cluster in multi-clusters EventNameFedLeave = "Federation.Leave" // for multi-clusters EventNameFedKick = "Federation.Kick" // for multi-clusters EventNameFedPolicySync = "Federation.Policy.Sync" // for multi-clusters EventNameImport = "Configuration.Import" EventNameExport = "Configuration.Export" EventNameImportFail = "Configuration.Import.Failed" EventNameExportFail = "Configuration.Export.Failed" EventNameCloudScanNormal = "Cloud.Scan.Normal" // for cloud scan nomal ret EventNameCloudScanAlert = "Cloud.Scan.Alert" // for cloud scan ret with alert EventNameCloudScanFail = "Cloud.Scan.Fail" // for cloud scan fail EventNameGroupAutoRemove = "Group.Auto.Remove" EventNameMemoryPressureAgent = "Agent.Memory.Pressure" EventNameMemoryPressureController = "Controller.Memory.Pressure" EventNameK8sNvRBAC = "Kubenetes.NeuVector.RBAC" EventNameGroupAutoPromote = "Group.Auto.Promote" EventNameAuthDefAdminPwdUnchanged = "User.Password.Alert" EventNameScannerAutoScaleDisabled = "Configuration.ScannerAutoScale.Disabled" EventNameK8sAdmissionWebhookChange = "Kubenetes.Admission.Webhook.Change" // for admission control EventNameGroupMetricViolation = "Group.Metric.Violation" EventNameKvRestored = "Configuration.Restore" EventNameScanDataRestored = "Scan.Data.Restore" )
const ( EventNameHostPrivilEscalate = "Host.Privilege.Escalation" EventNameContainerPrivilEscalate = "Container.Privilege.Escalation" EventNameHostSuspiciousProcess = "Host.Suspicious.Process" EventNameContainerSuspiciousProcess = "Container.Suspicious.Process" EventNameContainerQuarantined = "Container.Quarantined" EventNameContainerUnquarantined = "Container.Unquarantined" EventNameHostFileAccessViolation = "Host.FileAccess.Violation" EventNameContainerFileAccessViolation = "Container.FileAccess.Violation" EventNameHostPackageUpdated = "Host.Package.Updated" EventNameContainerPackageUpdated = "Container.Package.Updated" EventNameHostTunnelDetected = "Host.Tunnel.Detected" EventNameContainerTunnelDetected = "Container.Tunnel.Detected" EventNameProcessProfileViolation = "Process.Profile.Violation" // container EventNameHostProcessProfileViolation = "Host.Process.Violation" // host )
TODO: these are not events but incidents
const ( EventNameComplianceContainerBenchViolation = "Compliance.Container.Violation" EventNameComplianceContainerFileBenchViolation = "Compliance.ContainerFile.Violation" EventNameComplianceHostBenchViolation = "Compliance.Host.Violation" EventNameComplianceImageBenchViolation = "Compliance.Image.Violation" EventNameContainerScanReport = "Container.Scan.Report" EventNameHostScanReport = "Host.Scan.Report" EventNameRegistryScanReport = "Registry.Scan.Report" EventNamePlatformScanReport = "Platform.Scan.Report" EventNameAdmCtrlK8sReqAllowed = "Admission.Control.Allowed" // for admission control EventNameAdmCtrlK8sReqViolation = "Admission.Control.Violation" // for admission control EventNameAdmCtrlK8sReqDenied = "Admission.Control.Denied" // for admission control EventNameComplianceContainerCustomCheckViolation = "Compliance.ContainerCustomCheck.Violation" EventNameComplianceHostCustomCheckViolation = "Compliance.HostCustomCheck.Violation" EventNameAwsLambdaScan = "AwsLambda.Scan" )
TODO: these are audit related
const ( EventCatREST = "RESTFUL" EventCatAuth = "AUTH" EventCatWorkload = "WORKLOAD" EventCatAgent = "ENFORCER" EventCatController = "CONTROLLER" EventCatScan = "SCANNER" EventCatBench = "CIS.BENCHMARK" EventCatLicense = "LICENSE" EventCatConfigMap = "CONFIGMAP" EventCatCrd = "CRD" EventCatAdmCtrl = "ADMISSION.CONTROL" EventCatFed = "FEDERATION" EventCatConfig = "CONFIGURATION" EventCatCloud = "CLOUD" EventCatGroup = "GROUP" )
const ( ThreatActionMonitor = "alert" ThreatActionAllow = "allow" ThreatActionBlock = "deny" ThreatActionReset = "reset" )
const ( TargetServer = "server" TargetClient = "client" )
const ( IncidentActionAlert = "Alert" IncidentActionDenied = "Denied" )
const AddrGrpValVhPrefix string = "vh:"
const AdmCtrlCrdRuleIDBase = 110000
const AdmCtrlCrdRuleIDMax = 120000
const AllContainerGroup string = "containers"
const AllHostGroup string = "nodes"
const AuthServerLocal string = "local"
const AuthServerPlatform string = "_platform_"
const BriefFlag string = "brief"
const ConfSectionAll string = "all"
const ConfSectionConfig string = "config"
const ConfSectionPolicy string = "policy"
const ConfSectionUser string = "user"
const DefaultControllerRESTAPIPort = 10443
const DlpRuleCommentMaxLen int = 256
const DlpRuleNameMaxLen int = 256
const DlpRulePatternMaxLen int = 512
const DlpRulePatternMaxNum int = 16
const DlpRulePatternTotalMaxLen int = 1024
const DlpSensorNameMaxLen int = 256
const DomainContainers string = "_containers"
const DomainImages string = "_images"
const DomainNodes string = "_nodes"
const EndpointIngress string = "ingress"
const EndpointKindAddrGroup string = "address"
const EndpointKindContainer string = "container"
const EndpointKindExternal string = "external"
const EndpointKindHostIP string = "node_ip"
const EndpointKindIPSvcGroup string = "ip_service"
const EndpointKindService string = "nv_service" // Used in collapse view
const EndpointKindWorkloadIP string = "workload_ip"
const FederalGroupPrefix string = "fed."
const FilterByAgent string = "enforcer"
const FilterByDomain string = "domain"
const FilterByGroup string = "group"
const FilterByHost string = "node"
const FilterByID string = "id"
const FilterByPredefined string = "predefined"
const FilterByWorkload string = "workload"
const FilterPrefix string = "f_"
const FilterServerCategory string = "category"
const FilterServerType string = "type"
const GrpMetricMax uint32 = (1<<32 - 1)
const LearnedExternal string = "external"
const LearnedGroupPrefix string = "nv."
const LearnedHostPrefix string = "Host:"
const LearnedSvcGroupPrefix string = "nv.ip."
const LearnedWorkloadPrefix string = "Workload:"
const LicenseIDTypeHost string = "host"
const MaxDlpPredefinedRuleID = 40000
const MaxFedAdmRespRuleID = 110000
const MaxWafRuleID = 50000
const MeterTypeICMPFlood string = "icmp_flood"
const MeterTypeIPSrcSessionLimit string = "ip_src_session_limit"
const MeterTypeSYNFlood string = "syn_flood"
const MeterTypeTCPNoData string = "tcp_nodata"
const MinDlpPredefinedRuleID = 30000
const MinDlpRuleID = 20000
const MinWafRuleID = 40000
waf
const OPeq string = "eq"
const OPgt string = "gt"
const OPgte string = "gte"
const OPin string = "in"
const OPlt string = "lt"
const OPlte string = "lte"
const OPneq string = "neq"
const OPprefix string = "prefix"
const PageLimit string = "limit"
const PageStart string = "start"
const PlatformContainerAddon string = "addon"
const PlatformContainerCore string = "core"
const PolicyAppAny string = "any"
const PolicyAutoID uint32 = 0
const PolicyDomainNameMaxLen int = 256
const PolicyFedRuleIDBase uint32 = share.PolicyFedRuleIDBase
const PolicyFedRuleIDMax uint32 = share.PolicyFedRuleIDMax
const PolicyGroundRuleIDBase uint32 = share.PolicyGroundRuleIDBase
const PolicyGroundRuleIDMax uint32 = share.PolicyGroundRuleIDMax
const PolicyLearnedIDBase uint32 = share.PolicyLearnedIDBase
const PolicyPortAny string = "any"
const QueryDuration string = "token_duration"
const QueryKeySection string = "section"
const QueryKeyShow string = "show"
const QueryKeyView string = "view"
const QueryScope string = "scope"
const QueryValueShowAccepted string = "accepted"
const QueryValueViewPod string = "pod"
const QueryValueViewPodOnly string = "pod_only"
const RESTAPIKeyHeader string = "X-Auth-Apikey"
const RESTErrAdmCtrlUnSupported int = 30
const RESTErrAgentError int = 21
const RESTErrCISBenchError int = 23
const RESTErrClusterRPCError int = 24
const RESTErrClusterTimeout int = 11
const RESTErrClusterWrongData int = 10
const RESTErrDuplicateName int = 13
const RESTErrFailExport int = 17
const RESTErrFailImport int = 18
const RESTErrFailKubernetesApi int = 28
const RESTErrFailLockCluster int = 19
const RESTErrFailReadCluster int = 9
const RESTErrFailRegistryScan int = 27
const RESTErrFailRepoScan int = 26
const RESTErrFailWriteCluster int = 8
const RESTErrFedDuplicateName int = 41
const RESTErrFedJointUnreachable int = 40
const RESTErrFedOperationFailed int = 39
const RESTErrIBMSABadDashboardURL int = 45
const RESTErrIBMSATestFailed int = 44
const RESTErrInvalidName int = 15
const RESTErrInvalidQueryToken int = 53
const RESTErrInvalidRequest int = 6
const RESTErrJointUpgradeRequired int = 43
const RESTErrK8sApiSrvToWebhook int = 34
const RESTErrK8sNvRBAC int = 31
const RESTErrLicenseFail int = 20
const RESTErrMasterUpgradeRequired int = 42
const RESTErrMethodNotAllowed int = 2
const RESTErrNoUpdatePermission int = 33
const RESTErrNotEnoughFilter int = 12
const RESTErrNotFound int = 1
Don't modify value or reorder
const RESTErrNvPermission int = 35
const RESTErrObjectAccessDenied int = 25
const RESTErrObjectInuse int = 16
const RESTErrObjectNotFound int = 7
const RESTErrOpNotAllowed int = 4
const RESTErrPasswordExpired int = 48
const RESTErrPlatformAuthDisabled int = 50
const RESTErrPromoteFail int = 49
const RESTErrProxyError int = 29 // Not used
const RESTErrReadOnlyRules int = 46
const RESTErrRemoteExportFail int = 52
const RESTErrRemoterRequestFail int = 38
const RESTErrTooManyLoginUser int = 5
const RESTErrUserLoginBlocked int = 47
const RESTErrWeakPassword int = 14
const RESTErrWebhookIsDisabled int = 36
const RESTErrWebhookSvcForAdmCtrl int = 32
const RESTErrWorkloadNotRunning int = 22
const RESTMaskedValue string = "The value is masked"
const RESTNvPageDashboard string = "dashboard"
const RESTNvPageHeader string = "X-Nv-Page"
const RESTRancherTokenHeader string = "X-R-Sess"
const RESTTokenHeader string = "X-Auth-Token"
const RawFlag string = "raw"
const ScanStatusFailed string = "failed"
const ScanStatusFailed_SignatureScan string = "failed_signature_scan"
const ScanStatusFinished string = "finished"
const ScanStatusIdle string = ""
const ScanStatusScanning string = "scanning"
const ScanStatusScheduled string = "scheduled"
const ScanStatusUnsupported string = "unsupported"
const SortAsc string = "asc"
const SortDesc string = "desc"
const SortPrefix string = "s_"
const StartingFedAdmRespRuleID = 100000
const StartingLocalAdmCtrlRuleID = 1000
Admission control
const StartingLocalVulProfRuleID = 1000
const StateLeft string = "stopped"
const StateOffline string = "disconnected"
const StateOnline string = "connected"
const StateUnmanaged string = "unmanaged"
const SupportFlag string = "support"
const SyslogDefaultUDPPort uint16 = 514
syslog related
const SyslogProtocolTCPTLS = 66
const UserIdleTimeoutMax uint32 = 3600
const UserIdleTimeoutMin uint32 = 30
const UserRoleAdmin string = "admin"
const UserRoleCIOps string = "ciops"
const UserRoleFedAdmin string = "fedAdmin"
the following role can only be interactively assigned on master cluster in a federation
const UserRoleFedReader string = "fedReader"
const UserRoleIBMSA string = "ibmsa" // it's a hidden role. (no user has this role in kv)
const UserRoleImportStatus string = "_hidden_import_status_#" // it's a hidden role. (no user has this role in kv)
const UserRoleNone string = ""
const UserRoleReader string = "reader"
const VerboseFlag string = "verbose"
const WithCapFlag string = "with_cap"
const WorkloadStateDiscover string = "discover"
const WorkloadStateExit string = "exit"
const WorkloadStateMonitor string = "monitor"
const WorkloadStateProtect string = "protect"
const WorkloadStateQuarantine string = "quarantined"
const WorkloadStateUnmanaged string = "unmanaged"
const WorkloadTunnelIF string = "Workload:ingress"
Variables ¶
var LogLevelList []string = []string{ LogLevelEMERG, LogLevelALERT, LogLevelCRIT, LogLevelERR, LogLevelWARNING, LogLevelNOTICE, LogLevelINFO, LogLevelDEBUG, }
var RESTTimeFomat string = time.RFC3339
var ThreatLevelList []string = []string{ LogLevelCRIT, LogLevelERR, LogLevelWARNING, LogLevelNOTICE, LogLevelINFO, }
Functions ¶
func RESTTimeString ¶
func UpgradeLogLevel ¶
Types ¶
type AdmCtlTimeStamps ¶
type AssetCVECount ¶
type AssetCVECount struct { ID string `json:"id"` DisplayName string `json:"display_name"` Critical int `json:"critical,omitempty"` High int `json:"high"` Medium int `json:"medium"` Low int `json:"low"` }
func (AssetCVECount) MarshalJSON ¶
func (c AssetCVECount) MarshalJSON() ([]byte, error)
type AssetSessionSummary ¶
type AssetSessionSummary struct {
TopImages []*AssetCVECount `json:"top_images"`
}
type Audit ¶
type Audit struct { LogCommon WorkloadID string `json:"workload_id,omitempty"` WorkloadName string `json:"workload_name,omitempty"` WorkloadDomain string `json:"workload_domain,omitempty"` WorkloadImage string `json:"workload_image,omitempty"` WorkloadService string `json:"workload_service,omitempty"` Image string `json:"image,omitempty"` // workload ImageID string `json:"image_id,omitempty"` // workload Registry string `json:"registry,omitempty"` // image RegistryName string `json:"registry_name,omitempty"` // image Repository string `json:"repository,omitempty"` // image Tag string `json:"tag,omitempty"` // image BaseOS string `json:"base_os,omitempty"` CriticalCnt int `json:"critical_vul_cnt"` HighCnt int `json:"high_vul_cnt"` MediumCnt int `json:"medium_vul_cnt"` CriticalVuls []string `json:"critical_vuls,omitempty"` HighVuls []string `json:"high_vuls,omitempty"` MediumVuls []string `json:"medium_vuls,omitempty"` CVEDBVersion string `json:"cvedb_version,omitempty"` Message string `json:"message"` User string `json:"user,omitempty"` Error string `json:"error,omitempty"` AggregationFrom int64 `json:"aggregation_from,omitempty"` Count uint32 `json:"count,omitempty"` Items []string `json:"items,omitempty"` Group string `json:"group,omitempty"` Platform string `json:"platform,omitempty"` PlatformVersion string `json:"platform_version,omitempty"` // cloud Region string `json:"region,omitempty"` ProjectName string `json:"project_name,omitempty"` // one vuln. per log Packages []string `json:"packages,omitempty"` PackageVersion string `json:"package_ver,omitempty"` FixedVersion string `json:"fixed_ver,omitempty"` Score float32 `json:"score,omitempty"` ScoreV3 float32 `json:"score_v3,omitempty"` Vectors string `json:"vectors,omitempty"` VectorsV3 string `json:"vectors_v3,omitempty"` Link string `json:"link,omitempty"` Description string `json:"description,omitempty"` Published string `json:"pub_date,omitempty"` LastMod string `json:"last_mod_date,omitempty"` // report vuln. in layer ImageLayerDigest string `json:"image_layer_digest,omitempty"` Cmds string `json:"cmds,omitempty"` // intermediate data Vuls map[string]*share.ScanVulnerability `json:"-"` Layers []Audit `json:"-"` PVCName string `json:"pvc_name,omitempty"` PVCStorageClassName string `json:"pvc_storageclass_name,omitempty"` }
type Collection ¶
type Collection struct { Type string `json:"type,omitempty"` Links map[string]string `json:"links"` CreateTypes map[string]string `json:"createTypes,omitempty"` Actions map[string]string `json:"actions"` Pagination *Pagination `json:"pagination,omitempty"` Sort *Sort `json:"sort,omitempty"` Filters map[string][]Condition `json:"filters,omitempty"` ResourceType string `json:"resourceType"` }
type Condition ¶
type Condition struct { Modifier ModifierType `json:"modifier,omitempty"` Value interface{} `json:"value,omitempty"` }
type Event ¶
type Event struct { LogCommon ControllerID string `json:"controller_id"` ControllerName string `json:"controller_name"` WorkloadID string `json:"workload_id"` WorkloadName string `json:"workload_name"` WorkloadDomain string `json:"workload_domain"` WorkloadImage string `json:"workload_image"` WorkloadService string `json:"workload_service"` Category string `json:"category"` User string `json:"user"` UserRoles map[string]string `json:"user_roles"` // domain -> role UserAddr string `json:"user_addr"` UserSession string `json:"user_session"` RESTMethod string `json:"rest_method,omitempty"` RESTRequest string `json:"rest_request,omitempty"` RESTBody string `json:"rest_body,omitempty"` EnforcerLimit int `json:"enforcer_limit,omitempty"` LicenseExpire string `json:"license_expire,omitempty"` Msg string `json:"message"` }
type IBMSAFinding ¶
type Incident ¶
type Incident struct { LogCommon ID string `json:"id"` WorkloadID string `json:"workload_id,omitempty"` WorkloadName string `json:"workload_name,omitempty"` WorkloadDomain string `json:"workload_domain,omitempty"` WorkloadImage string `json:"workload_image,omitempty"` WorkloadService string `json:"workload_service,omitempty"` RemoteWL string `json:"remote_workload_id,omitempty"` RemoteWLName string `json:"remote_workload_name,omitempty"` RemoteWLDomain string `json:"remote_workload_domain,omitempty"` RemoteWLImage string `json:"remote_workload_image,omitempty"` RemoteWLService string `json:"remote_workload_service,omitempty"` ProcName string `json:"proc_name,omitempty"` ProcPath string `json:"proc_path,omitempty"` ProcCmd string `json:"proc_cmd,omitempty"` ProcRealUID int `json:"proc_real_uid,omitempty"` ProcEffUID int `json:"proc_effective_uid,omitempty"` ProcRealUser string `json:"proc_real_user,omitempty"` ProcEffUser string `json:"proc_effective_user,omitempty"` FilePath string `json:"file_path,omitempty"` Files []string `json:"file_name,omitempty"` ClientIP string `json:"client_ip,omitempty"` ServerIP string `json:"server_ip,omitempty"` ClientPort uint16 `json:"client_port,omitempty"` ServerPort uint16 `json:"server_port,omitempty"` ServerConnPort uint16 `json:"server_conn_port,omitempty"` EtherType uint16 `json:"ether_type,omitempty"` IPProto uint8 `json:"ip_proto,omitempty"` ConnIngress bool `json:"conn_ingress,omitempty"` ProcPName string `json:"proc_parent_name,omitempty"` ProcPPath string `json:"proc_parent_path,omitempty"` Action string `json:"action"` Group string `json:"group,omitempty"` RuleID string `json:"rule_id"` AggregationFrom int64 `json:"aggregation_from,omitempty"` Count int `json:"count,omitempty"` Msg string `json:"message"` }
type LogCommon ¶
type LogCommon struct { Name string `json:"name,omitempty"` Level string `json:"level"` ReportedTimeStamp int64 `json:"reported_timestamp"` ReportedAt string `json:"reported_at"` ClusterName string `json:"cluster_name"` ResponseRuleID int `json:"response_rule_id,omitempty"` HostID string `json:"host_id"` HostName string `json:"host_name"` AgentID string `json:"enforcer_id"` AgentName string `json:"enforcer_name"` }
type ModifierType ¶
type ModifierType string
type OwnerReference ¶
type OwnerReference struct { APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` BlockOwnerDeletion *bool `json:"blockOwnerDeletion,omitempty" yaml:"blockOwnerDeletion,omitempty"` Controller *bool `json:"controller,omitempty" yaml:"controller,omitempty"` Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` UID string `json:"uid,omitempty" yaml:"uid,omitempty"` }
type Pagination ¶
type Pagination struct { Marker string `json:"marker,omitempty"` First string `json:"first,omitempty"` Previous string `json:"previous,omitempty"` Next string `json:"next,omitempty"` Last string `json:"last,omitempty"` Limit *int64 `json:"limit,omitempty"` Total *int64 `json:"total,omitempty"` Partial bool `json:"partial,omitempty"` }
type Principal ¶
type Principal struct { Resource Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` Created string `json:"created,omitempty" yaml:"created,omitempty"` CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` ExtraInfo map[string]string `json:"extraInfo,omitempty" yaml:"extraInfo,omitempty"` Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` LoginName string `json:"loginName,omitempty" yaml:"loginName,omitempty"` Me bool `json:"me,omitempty" yaml:"me,omitempty"` MemberOf bool `json:"memberOf,omitempty" yaml:"memberOf,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` PrincipalType string `json:"principalType,omitempty" yaml:"principalType,omitempty"` ProfilePicture string `json:"profilePicture,omitempty" yaml:"profilePicture,omitempty"` ProfileURL string `json:"profileURL,omitempty" yaml:"profileURL,omitempty"` Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` }
type PrincipalCollection ¶
type PrincipalCollection struct { Collection Data []Principal `json:"data,omitempty"` }
type QuerySessionRequest ¶
type QuerySessionRequest struct { Type int // 0=vul, 1=asset QueryToken string CreationTime int64 UserAccess *UserAccessControl Filters *VulQueryFilterViewModel FiltersAsset *AssetQueryFilterViewModel }
type RESTAWSAccountKey ¶
type RESTAWSAccountKeyConfig ¶
type RESTAcceptedAlerts ¶
type RESTAcceptedAlerts struct { ManagerAlerts []string `json:"manager_alerts"` // message key slice of manager-generated alerts ControllerAlerts []string `json:"controller_alerts"` // message key slice of controller-generated alerts UserAlerts []string `json:"user_alerts"` // message key slice of current login user alerts }
type RESTAdmCatOptions ¶
type RESTAdmCatOptions struct {
K8sOptions *RESTAdmRuleOptions `json:"k8s_options,omitempty"`
}
type RESTAdmCtrlPromoteRequest ¶
type RESTAdmCtrlPromoteRequest struct {
IDs []uint32 `json:"ids"`
}
type RESTAdmCtrlPromoteRequestData ¶
type RESTAdmCtrlPromoteRequestData struct {
Request *RESTAdmCtrlPromoteRequest `json:"request"`
}
type RESTAdmCtrlRulesExport ¶
type RESTAdmCtrlRulesExport struct { ExportConfig bool `json:"export_config"` IDs []uint32 `json:"ids"` // used when ExportRules is true RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
type RESTAdmCtrlRulesTestResult ¶
type RESTAdmCtrlRulesTestResult struct { Index int `json:"index"` Name string `json:"name"` Kind string `json:"kind"` Message string `json:"message"` MatchedRules []*RESTAdmCtrlTestRuleInfo `json:"matched_rules"` // one entry per matched rule for all rules(irrelevant to rule type/status/mode/action) Allowed bool `json:"allowed"` // final result if the yaml is applied to k8s }
type RESTAdmCtrlRulesTestResults ¶
type RESTAdmCtrlRulesTestResults struct { GlobalMode string `json:"global_mode"` // monitor/protect Results []*RESTAdmCtrlRulesTestResult `json:"results,omitempty"` // one entry per yaml doc }
type RESTAdmCtrlTestRuleInfo ¶
type RESTAdmCtrlTestRuleInfo struct { ContainerImage string `json:"container_image"` // the tested container image in the pod ID uint32 `json:"id"` Disabled bool `json:"disabled"` // for disabled rules, we still get their matching results(not taking effect in determining final result) simply for user's reference Type string `json:"type"` // allow / deny Mode string `json:"mode"` // monitor/protect RuleDetails string `json:"rule_details"` // rule criteria details RuleCfgType string `json:"rule_cfg_type"` // CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) }
type RESTAdmRuleCriterion ¶
type RESTAdmRuleCriterion struct { Name string `json:"name"` Op string `json:"op"` Value string `json:"value"` SubCriteria []*RESTAdmRuleCriterion `json:"sub_criteria,omitempty"` Type string `json:"type,omitempty"` Kind string `json:"template_kind,omitempty"` Path string `json:"path,omitempty"` ValueType string `json:"value_type,omitempty"` }
type RESTAdmRuleOptions ¶
type RESTAdmRuleOptions struct {
RuleOptions map[string]*RESTAdmissionRuleOption `json:"rule_options"` // key is criterion name
}
type RESTAdmRuleTypeOptions ¶
type RESTAdmRuleTypeOptions struct { DenyOptions *RESTAdmCatOptions `json:"deny_options"` ExceptionOptions *RESTAdmCatOptions `json:"exception_options"` PspCollection []*RESTAdmRuleCriterion `json:"psp_collection,omitempty"` PssCollections map[string][]string `json:"pss_collections,omitempty"` SigstoreVerifiers []string `json:"sigstore_verifiers,omitempty"` }
type RESTAdmissionConfigData ¶
type RESTAdmissionConfigData struct { State *RESTAdmissionState `json:"state,omitempty"` Options *RESTAdmRuleTypeOptions `json:"admission_options,omitempty"` K8sEnv bool `json:"k8s_env"` CustomCriteriaOptions []*RESTAdminCustomCriteriaOptions `json:"admission_custom_criteria_options,omitempty"` CustomCriteriaTemplates []*RESTAdminCriteriaTemplate `json:"admission_custom_criteria_templates,omitempty"` PredefinedRiskyRoles []string `json:"predefined_risky_roles,omitempty"` }
type RESTAdmissionRule ¶
type RESTAdmissionRule struct { ID uint32 `json:"id"` Category string `json:"category"` Comment string `json:"comment"` Criteria []*RESTAdmRuleCriterion `json:"criteria"` Disable bool `json:"disable"` Critical bool `json:"critical"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) RuleType string `json:"rule_type"` // ValidatingExceptRuleType / ValidatingDenyRuleType (see above) RuleMode string `json:"rule_mode"` // "" / share.AdmCtrlModeMonitor / share.AdmCtrlModeProtect Containers []string `json:"containers"` // empty for all containers, "containers" / "init_containers" / "ephemeral_containers" }
type RESTAdmissionRuleConfig ¶
type RESTAdmissionRuleConfig struct { ID uint32 `json:"id"` Category *string `json:"category"` Comment *string `json:"comment,omitempty"` Criteria []*RESTAdmRuleCriterion `json:"criteria,omitempty"` Disable *bool `json:"disable,omitempty"` Actions *[]string `json:"actions,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) RuleType string `json:"rule_type"` // ValidatingExceptRuleType / ValidatingDenyRuleType (see above) RuleMode *string `json:"rule_mode,omitempty"` // only for deny rules: "" / share.AdmCtrlModeMonitor / share.AdmCtrlModeProtect Containers []string `json:"containers"` // empty for all containers, "containers" / "init_containers" / "ephemeral_containers" }
Passed from manager to controller. Omit fields indicate that it's not modified.
type RESTAdmissionRuleConfigData ¶
type RESTAdmissionRuleConfigData struct {
Config *RESTAdmissionRuleConfig `json:"config"`
}
type RESTAdmissionRuleData ¶
type RESTAdmissionRuleData struct {
Rule *RESTAdmissionRule `json:"rule"`
}
type RESTAdmissionRuleOption ¶
type RESTAdmissionRulesData ¶
type RESTAdmissionRulesData struct {
Rules []*RESTAdmissionRule `json:"rules"`
}
type RESTAdmissionState ¶
type RESTAdmissionState struct { Enable *bool `json:"enable,omitempty"` Mode *string `json:"mode,omitempty"` DefaultAction *string `json:"default_action,omitempty"` AdmClientMode *string `json:"adm_client_mode,omitempty"` AdmSvcType *string `json:"adm_svc_type,omitempty"` FailurePolicy *string `json:"failure_policy,omitempty"` // "ignore" / "fail" AdmClientModeOptions map[string]string `json:"adm_client_mode_options,omitempty"` // key is AdmClientModeSvc or AdmClientModeUrl CtrlStates map[string]bool `json:"ctrl_states,omitempty"` // key is NvAdmValidateType CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround (see above) }
type RESTAdmissionStats ¶
type RESTAdmissionStats struct { K8sAllowedRequests uint64 `json:"k8s_allowed_requests"` K8sDeniedRequests uint64 `json:"k8s_denied_requests"` K8sErroneousRequests uint64 `json:"k8s_erroneous_requests"` K8sIgnoredRequests uint64 `json:"k8s_ignored_requests"` K8sProcessingRequests int64 `json:"k8s_processing_requests"` JenkinsAllowedRequests uint64 `json:"jenkins_allowed_requests"` // obsolete JenkinsDeniedRequests uint64 `json:"jenkins_denied_requests"` // obsolete JenkinsErroneousRequests uint64 `json:"jenkins_erroneous_requests"` // obsolete }
type RESTAdmissionStatsData ¶
type RESTAdmissionStatsData struct {
Stats *RESTAdmissionStats `json:"stats"`
}
type RESTAgent ¶
type RESTAgent struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` HostName string `json:"host_name"` HostID string `json:"host_id"` Ver string `json:"version"` Labels map[string]string `json:"labels"` Domain string `json:"domain"` PidMode string `json:"pid_mode"` NetworkMode string `json:"network_mode"` CreatedAt string `json:"created_at"` StartedAt string `json:"started_at"` JoinedAt string `json:"joined_at"` MemoryLimit int64 `json:"memory_limit"` CPUs string `json:"cpus"` ClusterIP string `json:"cluster_ip"` State string `json:"connection_state"` DisconnAt string `json:"disconnected_at"` NvProtect bool `json:"nv_protect"` }
Although we can define shared fields in RESTAgent and RESTController in a common struct, it would make filter not working
type RESTAgentConfig ¶
type RESTAgentConfigData ¶
type RESTAgentConfigData struct {
Config *RESTAgentConfig `json:"config"`
}
type RESTAgentCounter ¶
type RESTAgentCounter struct { RXPackets uint64 `json:"rx_packets"` RXDropPackets uint64 `json:"rx_drop_packets"` TXPackets uint64 `json:"tx_packets"` TXDropPackets uint64 `json:"tx_drop_packets"` ErrorPackets uint64 `json:"error_packets"` NoWorkloadPackets uint64 `json:"no_workload_packets"` IPv4Packets uint64 `json:"ipv4_packets"` IPv6Packets uint64 `json:"ipv6_packets"` TCPPackets uint64 `json:"tcp_packets"` TCPNoSessionPackets uint64 `json:"tcp_no_session_packets"` UDPPackets uint64 `json:"udp_packets"` ICMPPackets uint64 `json:"icmp_packets"` OtherPackets uint64 `json:"other_packets"` Assemblys uint64 `json:"total_assemblys"` FreedAssemblys uint64 `json:"freed_assemblys"` Fragments uint64 `json:"total_fragments"` FreedFragments uint64 `json:"freed_fragments"` TimeoutFragments uint64 `json:"timeout_fragments"` TotalSessions uint64 `json:"total_sessions"` TCPSessions uint64 `json:"tcp_sessions"` UDPSessions uint64 `json:"udp_sessions"` ICMPSessions uint64 `json:"icmp_sessions"` IPSessions uint64 `json:"ip_sessions"` ParserSessions []uint64 `json:"parser_sessions"` ParserPackets []uint64 `json:"parser_packets"` DropMeters uint64 `json:"drop_meters"` ProxyMeters uint64 `json:"proxy_meters"` CurMeters uint64 `json:"cur_meters"` CurLogCaches uint64 `json:"cur_log_caches"` LimitDropConns uint64 `json:"limit_drop_conns"` LimitPassConns uint64 `json:"limit_pass_conns"` PolicyType1Rules uint32 `json:"policy_type1_rules"` PolicyType2Rules uint32 `json:"policy_type2_rules"` PolicyDomains uint32 `json:"policy_domains"` PolicyDomainIPs uint32 `json:"policy_domain_ips"` GoRoutines uint32 `json:"goroutines"` LsofOutput []string `json:"lsof"` PSOutput []string `json:"ps"` }
type RESTAgentCounterData ¶
type RESTAgentCounterData struct {
Counter *RESTAgentCounter `json:"counter"`
}
type RESTAgentData ¶
type RESTAgentData struct {
Agent *RESTAgent `json:"enforcer"`
}
type RESTAgentStatsData ¶
type RESTAgentsData ¶
type RESTAgentsData struct {
Agents []*RESTAgent `json:"enforcers"`
}
type RESTAllUserPermitOptions ¶
type RESTAllUserPermitOptions struct {
Options RESTUserPermitOptions `json:"options"`
}
type RESTApikey ¶
type RESTApikey struct { ExpirationType string `json:"expiration_type"` ExpirationHours uint32 `json:"expiration_hours"` Name string `json:"apikey_name"` SecretKey string `json:"apikey_secret,cloak"` Description string `json:"description"` Role string `json:"role"` RoleDomains map[string][]string `json:"role_domains,omitempty"` // role -> domains ExpirationTimestamp int64 `json:"expiration_timestamp"` // used in GET CreatedTimestamp int64 `json:"created_timestamp"` // used in GET CreatedByEntity string `json:"created_by_entity"` // it could be username or apikey (access key) }
type RESTApikeyCreation ¶
type RESTApikeyCreation struct { ExpirationType string `json:"expiration_type"` ExpirationHours uint32 `json:"expiration_hours"` Name string `json:"apikey_name"` Description string `json:"description"` Role string `json:"role"` RoleDomains map[string][]string `json:"role_domains,omitempty"` // role -> domains }
type RESTApikeyCreationData ¶
type RESTApikeyCreationData struct {
Apikey *RESTApikeyCreation `json:"apikey"`
}
type RESTApikeyData ¶
type RESTApikeyData struct {
Apikey *RESTApikey `json:"apikey"`
}
type RESTApikeyGenerated ¶
type RESTApikeyGeneratedData ¶
type RESTApikeyGeneratedData struct {
Apikey *RESTApikeyGenerated `json:"apikey"`
}
type RESTApikeysData ¶
type RESTApikeysData struct { Apikeys []*RESTApikey `json:"apikeys"` GlobalRoles []string `json:"global_roles"` DomainRoles []string `json:"domain_roles"` }
type RESTAssetIDList ¶
type RESTAssetIDList struct {
IDs []string `json:"ids"`
}
type RESTAssetQueryStats ¶
type RESTAssetQueryStats struct { TotalRecordCount int `json:"total_records"` QueryToken string `json:"query_token"` PerfStats []string `json:"debug_perf_stats"` Summary *AssetSessionSummary `json:"summary"` }
for asset pagination
type RESTAssetView ¶
type RESTAssetView struct { Workloads []*RESTWorkloadAssetView `json:"workloads"` Nodes []*RESTHostAssetView `json:"nodes"` Platforms []*RESTPlatformAssetView `json:"platforms"` Images []*RESTImageAssetView `json:"images"` Vuls []*RESTVulnerabilityAssetV2 `json:"vulnerabilities"` QueryStat *RESTVulQueryStats `json:"summary"` }
type RESTAuditsData ¶
type RESTAuditsData struct {
Audits []*Audit `json:"audits"`
}
type RESTAuthData ¶
type RESTAuthData struct { ClientIP string `json:"client_ip"` Password *RESTAuthPassword `json:"password,omitempty"` Token *RESTAuthToken `json:"Token,omitempty"` }
type RESTAuthPassword ¶
type RESTAuthToken ¶
type RESTAvaiableComplianceFilter ¶
type RESTAvaiableComplianceFilter struct {
AvailableFilter []string `json:"available_filter"`
}
type RESTAwsCloudRes ¶
type RESTAwsCloudRes struct { CloudType string `json:"cloud_type"` ProjectName string `json:"project_name"` RegionList []string `json:"region_list"` // any new resource add name need start with aws_xxx, other parameter can't use it as UI use aws_xxx to filter ResLambda *RESTAwsLambdaRes `json:"aws_lambda_resource"` }
type RESTAwsFuncPermission ¶
type RESTAwsFuncPermission struct { AttachedPolicy bool `json:"aws_attached_policy"` PolicyLevel string `json:"policy_permission_level"` PermitState []string `json:"permission_state"` AllowedDetail map[string][]RESTAwsResDetail `json:"allowed_detail"` }
type RESTAwsFuncSummary ¶
type RESTAwsFuncSummary struct { FuncID string `json:"function_id"` Version string `json:"version"` FuncName string `json:"function_name"` ScanResult string `json:"scan_result"` HighVuls int `json:"high"` MedVuls int `json:"medium"` PermissionLevel string `json:"permission_level"` Status string `json:"status"` }
type RESTAwsFunction ¶
type RESTAwsFunction struct { FuncName string `json:"function_name"` Region string `json:"region"` Report []RESTScanAwsFuncReport `json:"report"` }
type RESTAwsLambdaRes ¶
type RESTAwsLambdaRes struct { Status string `json:"status"` RegionResMap map[string]*RESTAwsLambdaResDetail `json:"aws_region_resource"` }
type RESTAwsLambdaResDetail ¶
type RESTAwsLambdaResDetail struct { Status string `json:"status"` LambdaFunc []RESTAwsFuncSummary `json:"func_list"` }
type RESTAwsResDetail ¶
type RESTAwsResource ¶
type RESTAwsResource struct { AccID string `json:"acc_id,cloak"` AccKey string `json:"acc_key,cloak"` ProjectName string `json:"project_name"` RegionList []string `json:"region_list"` ResLambda *RESTAwsLambdaRes `json:"aws_lambda_resource"` }
type RESTAwsResourceConfig ¶
type RESTAwsResourceCreate ¶
type RESTBenchCheck ¶
type RESTBenchCheck struct { TestNum string `json:"test_number"` Category string `json:"category"` Type string `json:"type"` Profile string `json:"profile"` Scored bool `json:"scored"` Automated bool `json:"automated"` Description string `json:"description"` Remediation string `json:"remediation"` Tags []string `json:"tags,omitempty"` // Tags provide list of compliance that related to the cis test item. TagsV2 map[string]share.TagDetails `json:"tags_v2,omitempty"` // TagsV2 provide compliance details for each compliance tag }
type RESTBenchItem ¶
type RESTBenchMeta ¶
type RESTBenchMeta struct {
RESTBenchCheck
}
type RESTBenchReport ¶
type RESTBenchReport struct { RunAtTimeStamp int64 `json:"run_timestamp"` RunAt string `json:"run_at"` Version string `json:"cis_version"` Items []*RESTBenchItem `json:"items"` }
type RESTCheckUpgradeInfo ¶
type RESTCheckUpgradeInfo struct { MinUpgradeVersion *RESTUpgradeInfo `json:"min_upgrade_version"` MaxUpgradeVersion *RESTUpgradeInfo `json:"max_upgrade_version"` }
type RESTCloudResList ¶
type RESTCloudResList struct {
AwsCloudRes []RESTAwsCloudRes `json:"cloud_resources"`
}
type RESTClusterCspUsage ¶
type RESTClusterCspUsage struct { CspType string `json:"csp_type"` Nodes int `json:"nodes"` // total nodes count in this cluster }
csp-adapter billing integration
type RESTCompProfilesExport ¶
type RESTCompProfilesExport struct { Names []string `json:"names"` RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
compliance profile export. only support "default" profile to export(5.3+)
type RESTComplianceAsset ¶
type RESTComplianceAsset struct { Name string `json:"name"` Category string `json:"category"` Type string `json:"type"` Level string `json:"level"` Profile string `json:"profile"` Scored bool `json:"scored"` Description string `json:"description"` Message []string `json:"message"` Remediation string `json:"remediation"` Group string `json:"group"` Tags map[string]share.TagDetails `json:"tags"` Workloads []string `json:"workloads"` Nodes []string `json:"nodes"` Images []string `json:"images"` Platforms []string `json:"platforms"` }
type RESTComplianceAssetData ¶
type RESTComplianceAssetData struct { Compliances []*RESTComplianceAsset `json:"compliances"` Workloads map[string][]RESTIDName `json:"workloads"` Nodes map[string][]RESTIDName `json:"nodes"` Images map[string][]RESTIDName `json:"images"` Platforms map[string][]RESTIDName `json:"platforms"` KubeVersion string `json:"kubernetes_cis_version"` DockerVersion string `json:"docker_cis_version"` }
type RESTComplianceData ¶
type RESTComplianceData struct { RunAtTimeStamp int64 `json:"run_timestamp"` RunAt string `json:"run_at"` KubeVersion string `json:"kubernetes_cis_version"` DockerVersion string `json:"docker_cis_version"` Items []*RESTBenchItem `json:"items"` }
type RESTComplianceProfile ¶
type RESTComplianceProfile struct { Name string `json:"name"` DisableSystem bool `json:"disable_system"` Entries []RESTComplianceProfileEntry `json:"entries"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround (see above) }
type RESTComplianceProfileConfig ¶
type RESTComplianceProfileConfig struct { Name string `json:"name"` DisableSystem *bool `json:"disable_system,omitempty"` Entries *[]*RESTComplianceProfileEntry `json:"entries,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround (see above) }
type RESTComplianceProfileConfigData ¶
type RESTComplianceProfileConfigData struct {
Config *RESTComplianceProfileConfig `json:"config"`
}
type RESTComplianceProfileData ¶
type RESTComplianceProfileData struct {
Profile *RESTComplianceProfile `json:"profile"`
}
type RESTComplianceProfileEntryConfigData ¶
type RESTComplianceProfileEntryConfigData struct {
Config *RESTComplianceProfileEntry `json:"config"`
}
type RESTComplianceProfilesData ¶
type RESTComplianceProfilesData struct {
Profiles []*RESTComplianceProfile `json:"profiles"`
}
type RESTController ¶
type RESTController struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` HostName string `json:"host_name"` HostID string `json:"host_id"` Ver string `json:"version"` Labels map[string]string `json:"labels"` Domain string `json:"domain"` CreatedAt string `json:"created_at"` StartedAt string `json:"started_at"` JoinedAt string `json:"joined_at"` MemoryLimit int64 `json:"memory_limit"` CPUs string `json:"cpus"` ClusterIP string `json:"cluster_ip"` Leader bool `json:"leader"` State string `json:"connection_state"` DisconnAt string `json:"disconnected_at"` OrchConnStatus string `json:"orch_conn_status"` OrchConnLastError string `json:"orch_conn_last_error"` ReadPrimeConfig bool `json:"read_prime_config"` }
type RESTControllerConfig ¶
type RESTControllerConfigData ¶
type RESTControllerConfigData struct {
Config *RESTControllerConfig `json:"config"`
}
type RESTControllerCounter ¶
type RESTControllerCounterData ¶
type RESTControllerCounterData struct {
Counter *RESTControllerCounter `json:"counter"`
}
type RESTControllerData ¶
type RESTControllerData struct {
Controller *RESTController `json:"controller"`
}
type RESTControllersData ¶
type RESTControllersData struct {
Controllers []*RESTController `json:"controllers"`
}
type RESTConversation ¶
type RESTConversation struct { From *RESTConversationEndpoint `json:"from"` To *RESTConversationEndpoint `json:"to"` *RESTConversationReport }
func (*RESTConversation) GetDomain ¶
func (o *RESTConversation) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTConversationCompact ¶
type RESTConversationCompact struct { From string `json:"from"` To string `json:"to"` *RESTConversationReport }
type RESTConversationDetail ¶
type RESTConversationDetail struct { *RESTConversation Entries []*RESTConversationEntry `json:"entries"` }
type RESTConversationEndpoint ¶
type RESTConversationEndpoint struct { Kind string `json:"kind"` RESTWorkloadBrief }
The difference between Endpoint list and Workload Brief list is, endpoint list container nv.host, nv.workload and nv.external.
func (*RESTConversationEndpoint) GetDomain ¶
func (o *RESTConversationEndpoint) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTConversationEndpointConfigData ¶
type RESTConversationEndpointConfigData struct {
Config *RESTConversationEndpointConfig `json:"config"`
}
type RESTConversationEndpointData ¶
type RESTConversationEndpointData struct {
Endpoints []*RESTConversationEndpoint `json:"endpoints"`
}
type RESTConversationEntry ¶
type RESTConversationEntry struct { Bytes uint64 `json:"bytes"` Sessions uint32 `json:"sessions"` Port string `json:"port"` MappedPort string `json:"mapped_port"` Application string `json:"application"` Server string `json:"Server"` ThreatName string `json:"threat_name"` Severity string `json:"severity"` PolicyAction string `json:"policy_action"` PolicyID uint32 `json:"policy_id"` LastSeenAt string `json:"last_seen_at"` CIP string `json:"client_ip"` SIP string `json:"server_ip"` FQDN string `json:"fqdn"` Xff bool `json:"xff"` ToSidecar bool `json:"to_sidecar"` Nbe bool `json:"nbe"` }
type RESTConversationQuery ¶
type RESTConversationQueryData ¶
type RESTConversationQueryData struct {
Query *RESTConversationQuery `json:"query"`
}
type RESTConversationReport ¶
type RESTConversationReport struct { Bytes uint64 `json:"bytes"` Sessions uint32 `json:"sessions"` Severity string `json:"severity"` PolicyAction string `json:"policy_action"` Protos []string `json:"protocols,omitempty"` Apps []string `json:"applications,omitempty"` Ports []string `json:"ports,omitempty"` SidecarProxy bool `json:"sidecar_proxy,omitempty"` EventType []string `json:"event_type,omitempty"` XffEntry bool `json:"xff_entry,omitempty"` //has xff entry Entries []*RESTConversationReportEntry `json:"entries"` Nbe bool `json:"nbe,omitempty"` //cross namespace entry }
type RESTConversationReportEntry ¶
type RESTConversationReportEntry struct { Bytes uint64 `json:"bytes"` Sessions uint32 `json:"sessions"` Port string `json:"port,omitempty"` Application string `json:"application,omitempty"` PolicyAction string `json:"policy_action"` CIP string `json:"client_ip,omitempty"` SIP string `json:"server_ip,omitempty"` FQDN string `json:"fqdn,omitempty"` }
type RESTConversationsData ¶
type RESTConversationsData struct { Endpoints []*RESTConversationEndpoint `json:"endpoints"` Convers []*RESTConversationCompact `json:"conversations"` }
type RESTConversationsDetailData ¶
type RESTConversationsDetailData struct {
Conver *RESTConversationDetail `json:"conversation"`
}
type RESTConversationsVerboseData ¶
type RESTConversationsVerboseData struct { Endpoints []*RESTConversationEndpoint `json:"endpoints"` Convers []*RESTConversation `json:"conversations"` }
type RESTCrdDlpGroupConfig ¶
type RESTCrdDlpGroupConfig struct { Status bool `json:"status,omitempty"` RepSensors []RESTCrdDlpGroupSetting `json:"replace,omitempty"` //replace list used by GUI }
type RESTCrdDlpGroupSetting ¶
type RESTCrdGroupConfig ¶
type RESTCrdGroupConfig struct { OriginalName string `json:"original_name"` Name string `json:"name"` Comment string `json:"comment"` Criteria *[]RESTCriteriaEntry `json:"criteria,omitempty"` MonMetric *bool `json:"mon_metric,omitempty"` GrpSessCur *uint32 `json:"grp_sess_cur,omitempty"` GrpSessRate *uint32 `json:"grp_sess_rate,omitempty"` GrpBandWidth *uint32 `json:"grp_band_width,omitempty"` }
type RESTCrdWafGroupConfig ¶
type RESTCrdWafGroupConfig struct { Status bool `json:"status,omitempty"` RepSensors []RESTCrdWafGroupSetting `json:"replace,omitempty"` //replace list used by GUI }
type RESTCrdWafGroupSetting ¶
type RESTCriteriaEntry ¶
type RESTCspAdapterInfo ¶
type RESTCspAdapterInfo struct {
AdapterVersions string `json:"adapter_versions"`
}
type RESTCustomCheck ¶
type RESTCustomCheck struct { Name string `json:"name"` Script string `json:"script"` Configurable bool `json:"configurable"` }
Custom check
type RESTCustomCheckConfig ¶
type RESTCustomCheckConfig struct { Add *RESTCustomChecks `json:"add"` Del *RESTCustomChecks `json:"delete"` Update *RESTCustomChecks `json:"update"` }
type RESTCustomCheckConfigData ¶
type RESTCustomCheckConfigData struct {
Config *RESTCustomCheckConfig `json:"config"`
}
type RESTCustomCheckData ¶
type RESTCustomCheckData struct {
Config *RESTCustomChecks `json:"config"`
}
type RESTCustomCheckListData ¶
type RESTCustomCheckListData struct {
Configs []*RESTCustomChecks `json:"configs"`
}
type RESTCustomChecks ¶
type RESTCustomChecks struct { Group string `json:"group"` Enabled bool `json:"enabled"` Writable bool `json:"writable"` Scripts []*RESTCustomCheck `json:"scripts"` }
type RESTDebugIP2Workload ¶
type RESTDebugIP2Workload struct { IP string `json:"ip"` Workload *RESTWorkloadBrief `json:"workload"` }
type RESTDebugIP2WorkloadData ¶
type RESTDebugIP2WorkloadData struct {
IP2Workloads []*RESTDebugIP2Workload `json:"ip_2_workloads"`
}
type RESTDebugSyncInfo ¶
type RESTDebugSyncInfo struct { ClusterIP string `json:"cluster_ip"` Leader bool `json:"leader"` SyncErrorFound bool `json:"sync_error_found"` LearnedRuleMax uint32 `json:"learned_rule_max"` GraphNodeCount uint32 `json:"graph_node_count"` PolicyError []*RESTPolicyMismatch `json:"policy_error,omitempty"` }
type RESTDebugSyncInfoData ¶
type RESTDebugSyncInfoData struct {
Sync []*RESTDebugSyncInfo `json:"sync"`
}
type RESTDeployFedRulesReq ¶
type RESTDeployFedRulesReq struct { Force bool `json:"force"` // true means deploying all federal rules. false means only deploying the newly changed federal rules. IDs []string `json:"ids"` // empty means deploy to all clusters }
for deploying fed settings to joint clusters
type RESTDeployFedRulesResp ¶
type RESTDerivedDlpRule ¶
type RESTDerivedDlpRuleData ¶
type RESTDerivedDlpRuleData struct {
Rules []*RESTDerivedDlpRule `json:"rules"`
}
type RESTDerivedDlpRuleMac ¶
type RESTDerivedDlpRuleMac struct {
Mac string `json:"mac"`
}
type RESTDerivedDlpRuleMacData ¶
type RESTDerivedDlpRuleMacData struct {
Macs []*RESTDerivedDlpRuleMac `json:"macs"`
}
type RESTDerivedPolicyRule ¶
type RESTDerivedPolicyRuleData ¶
type RESTDerivedPolicyRuleData struct {
WorkloadRules []*RESTDerivedWorkloadPolicyRule `json:"workload_rules"`
}
type RESTDerivedWorkloadDlpRule ¶
type RESTDerivedWorkloadDlpRule struct { DlpWorkload *RESTWorkloadBrief `json:"dlp_workload"` Mode string `json:"mode,omitempty"` DefAct uint32 `json:"defact,omitempty"` ApplyDir int32 `json:"applydir,omitempty"` DlpMacs []string `json:"dlp_macs"` DlpRules []*RESTDlpSetting `json:"dlp_rules"` WafRules []*RESTDlpSetting `json:"waf_rules"` Rids []uint32 `json:"rids"` Wafrids []uint32 `json:"wafrids"` RuleType string `json:"ruletype"` }
type RESTDerivedWorkloadDlpRuleData ¶
type RESTDerivedWorkloadDlpRuleData struct {
Rules []*RESTDerivedWorkloadDlpRule `json:"rules"`
}
type RESTDerivedWorkloadPolicyRule ¶
type RESTDerivedWorkloadPolicyRule struct { Workload *RESTWorkloadBrief `json:"workload"` Rules []*RESTDerivedPolicyRule `json:"rules"` }
type RESTDlpConfig ¶
type RESTDlpCriteriaEntry ¶
type RESTDlpGroup ¶
type RESTDlpGroup struct { Name string `json:"name"` Status bool `json:"status"` Sensors []*RESTDlpSetting `json:"sensors"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround }
type RESTDlpGroupConfig ¶
type RESTDlpGroupConfig struct { Name string `json:"name"` Status *bool `json:"status,omitempty"` DelSensors *[]string `json:"delete,omitempty"` //delete list used by CLI Sensors *[]RESTDlpConfig `json:"sensors,omitempty"` //change list used by CLI RepSensors *[]RESTDlpConfig `json:"replace,omitempty"` //replace list used by GUI }
type RESTDlpGroupConfigData ¶
type RESTDlpGroupConfigData struct {
Config *RESTDlpGroupConfig `json:"config"`
}
type RESTDlpGroupData ¶
type RESTDlpGroupData struct {
DlpGroup *RESTDlpGroup `json:"dlp_group"`
}
type RESTDlpGroupsData ¶
type RESTDlpGroupsData struct {
DlpGroups []*RESTDlpGroup `json:"dlp_groups"`
}
type RESTDlpRule ¶
type RESTDlpRule struct { Name string `json:"name"` ID uint32 `json:"id"` Patterns []RESTDlpCriteriaEntry `json:"patterns"` CfgType string `json:"cfg_type"` }
type RESTDlpRuleConfig ¶
type RESTDlpRuleConfig struct { Name string `json:"name"` Patterns []RESTDlpCriteriaEntry `json:"patterns"` }
type RESTDlpRuleConfigData ¶
type RESTDlpRuleConfigData struct {
Config *RESTDlpRuleConfig `json:"config"`
}
type RESTDlpRuleData ¶
type RESTDlpRuleData struct {
Rule *RESTDlpRuleDetail `json:"rule"`
}
type RESTDlpRuleDetail ¶
type RESTDlpRuleDetail struct { Sensors []string `json:"sensors"` Rules []*RESTDlpRule `json:"rules"` }
type RESTDlpRulesData ¶
type RESTDlpRulesData struct {
Rules []*RESTDlpRule `json:"rules"`
}
type RESTDlpSensor ¶
type RESTDlpSensorConfig ¶
type RESTDlpSensorConfig struct { Name string `json:"name"` RuleChgList *[]RESTDlpRule `json:"change,omitempty"` //change list used by CLI RuleDelList *[]RESTDlpRule `json:"delete,omitempty"` //delete list used by CLI Rules *[]RESTDlpRule `json:"rules,omitempty"` //replace list used by GUI Comment *string `json:"comment,omitempty"` }
type RESTDlpSensorConfigData ¶
type RESTDlpSensorConfigData struct {
Config *RESTDlpSensorConfig `json:"config"`
}
type RESTDlpSensorData ¶
type RESTDlpSensorData struct {
Sensor *RESTDlpSensor `json:"sensor"`
}
type RESTDlpSensorExport ¶
type RESTDlpSensorExport struct { Names []string `json:"names"` RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
type RESTDlpSensorsData ¶
type RESTDlpSensorsData struct {
Sensors []*RESTDlpSensor `json:"sensors"`
}
type RESTDlpSetting ¶
type RESTDomain ¶
type RESTDomainConfig ¶
type RESTDomainConfig struct {
TagPerDomain *bool `json:"tag_per_domain,omitempty"`
}
type RESTDomainConfigData ¶
type RESTDomainConfigData struct {
Config *RESTDomainConfig `json:"config"`
}
type RESTDomainEntryConfig ¶
type RESTDomainEntryConfigData ¶
type RESTDomainEntryConfigData struct {
Config *RESTDomainEntryConfig `json:"config"`
}
type RESTDomainsData ¶
type RESTDomainsData struct { Domains []*RESTDomain `json:"domains"` TagPerDomain bool `json:"tag_per_domain"` }
type RESTEULAData ¶
type RESTEULAData struct { EULA *RESTEULA `json:"eula"` BootstrapPwdCmd string `json:"bootstrap_password_command"` // k8s command to retrieve the bootstrap password K8sRbacAlertMsg string `json:"k8s_rbac_alert_message,omitempty"` // alert message when k8s role/rolebinding neuvector-binding-secret is not correct }
type RESTError ¶
type RESTError struct { Code int `json:"code"` Error string `json:"error"` Message string `json:"message"` PwdProfileBasic *RESTPwdProfileBasic `json:"password_profile_basic,omitempty"` ImportTaskData *RESTImportTaskData `json:"import_task_data,omitempty"` }
type RESTErrorReadOnlyRules ¶
type RESTEventsData ¶
type RESTEventsData struct {
Events []*Event `json:"events"`
}
type RESTExposedEndpoint ¶
type RESTExposedEndpoint struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` PodName string `json:"pod_name"` Service string `json:"service"` ThreatSeverity string `json:"severity"` CriticalVuls int `json:"critical"` HighVuls int `json:"high"` MedVuls int `json:"medium"` PolicyMode string `json:"policy_mode"` PolicyAction string `json:"policy_action"` Protos []string `json:"protocols,omitempty"` Apps []string `json:"applications,omitempty"` Ports []string `json:"ports,omitempty"` Entries []*RESTConversationReportEntry `json:"entries"` }
type RESTFedAuthData ¶
type RESTFedConfigData ¶
type RESTFedConfigData struct { PingInterval *uint32 `json:"ping_interval,omitempty"` // in minute PollInterval *uint32 `json:"poll_interval,omitempty"` // in minute Name *string `json:"name,omitempty"` // cluster name RestInfo *share.CLUSRestServerInfo `json:"rest_info,omitempty"` UseProxy *string `json:"use_proxy,omitempty"` // "" / https DeployRepoScanData *bool `json:"deploy_repo_scan_data"` // whether fed repo scan data deployment is enabled }
type RESTFedCspSupportReq ¶
type RESTFedCspSupportReq struct { ID string `json:"id"` // id of joint cluster JointTicket string `json:"joint_ticket"` // generated using joint cluster's secret FedKvVersion string `json:"fed_kv_version"` // kv version in the code of joint cluster RestVersion string `json:"rest_version,omitempty"` // rest version in the code of joint cluster }
type RESTFedCspSupportResp ¶
type RESTFedCspSupportResp struct { Compliant bool `json:"compliant"` ExpireTime int64 `json:"expire_time"` // the last billing "compliant" state's expiration time in seconds CspErrors []string `json:"csp_errors"` // internal errors from csp-adapter NvError string `json:"nv_error"` // error message for nv to check csp-config CspConfigData string `json:"csp_config_data"` // raw csp-config data CspConfigFrom string `json:"csp_config_from"` // "master"/"joint"/ "": where is csp-config data from JointReportUsage bool `json:"joint_report_usage"` AdapterVersions string `json:"adapter_versions"` MeteringArchiveData string `json:"metering_archive_data"` // raw metering-archive data }
type RESTFedCspUsage ¶
type RESTFedCspUsage struct { TotalNodes int `json:"total_nodes"` // nodes of all reachable cluster(s) in the nv setup Unreachable int `json:"unreachable_downstreams"` // unreachable downstream clusters CspUsages map[string]int `json:"csp_usages"` // key: cspType, value: nodes of all reachable cluster(s) with the same cspType MemberUsages []*RESTClusterCspUsage `json:"member_usages"` // list of all reachable clusters' usages, only available on master cluster }
type RESTFedDataCfgMap ¶
type RESTFedDataCfgMap struct { ClusterName string `json:"cluster_name"` // this cluster's unique name in federation PrimaryRestInfo share.CLUSRestServerInfo `json:"primary_rest_info"` // rest info about primary cluster ManagedRestInfo *share.CLUSRestServerInfo `json:"managed_rest_info,omitempty"` // rest info about managed cluster (for managed clusters only) UseProxy string `json:"use_proxy"` // "" / https JoinToken string `json:"join_token"` // must be in a format that is 36 characters long, i.e., 32 hexadecimal characters grouped as 8-4-4-4-12 and separated by four hyphens DeployRepoScanData *bool `json:"deploy_repo_scan_data,omitempty"` // whether fed repo scan data deployment is enabled (for master cluster only) }
type RESTFedImageScanResult ¶
type RESTFedImageScanResult struct { MD5 string `json:"md5"` // it's md5 of json.marshal(gob(regImageSummaryReport)) Summary *share.CLUSRegistryImageSummary `json:"summary,omitempty"` Report *share.CLUSScanReport `json:"report,omitempty"` }
type RESTFedInternalCommandReq ¶
type RESTFedInternalCommandReq struct { FedKvVersion string `json:"fed_kv_version"` // kv version in the code of master cluster Command string `json:"command"` // currently supported commands: _cmdPollFedRules / _cmdForcePullFedRules User string `json:"user"` // current operating user Revisions map[string]uint64 `json:"revisions"` // key is fed rules type, value is the revision of current fed rules }
type RESTFedInternalCommandResp ¶
type RESTFedInternalCommandResp struct {
Result int `json:"result"` // value: _fedCmdReceived/....
}
type RESTFedJoinReq ¶
type RESTFedJoinReq struct { Name string `json:"name"` // cluster name Server string `json:"server"` // server of master cluster Port uint `json:"port"` // port of master cluster JoinToken string `json:"join_token"` // generated by the master cluster, i.e. RESTFedJoinToken.JoinToken JointRestInfo *share.CLUSRestServerInfo `json:"joint_rest_info,omitempty"` // rest info about this joint cluster UseProxy *string `json:"use_proxy,omitempty"` // "" / https }
type RESTFedJoinReqInternal ¶
type RESTFedJoinReqInternal struct { User string `json:"user"` // current operating user Remote string `json:"remote"` // current operating user's remote info UserRoles map[string]string `json:"user_roles"` // current operating user's roles FedKvVersion string `json:"fed_kv_version"` // kv version in the code of the joining cluster RestVersion string `json:"rest_version,omitempty"` // rest version in the code of joining cluster JoinTicket string `json:"join_ticket"` // generated by the master cluster, not containing master's server/port JointCluster RESTFedJointClusterInfo `json:"joint_cluster"` // info about joint cluster CspType string `json:"csp_type"` Nodes int `json:"nodes"` }
type RESTFedJoinRespInternal ¶
type RESTFedJoinRespInternal struct { PollInterval uint32 `json:"poll_interval"` // in minute CACert string `json:"ca_cert"` // ca cert for the federated rest server in master cluster ClientKey string `json:"client_key"` // client key for the joint cluster ClientCert string `json:"client_cert"` // client cert for the joint cluster MasterCluster *RESTFedMasterClusterInfo `json:"master_cluster"` // info about the master cluster CspType string `json:"csp_type"` // master's billing csp type }
type RESTFedJoinToken ¶
type RESTFedJoinToken struct {
JoinToken string `json:"join_token"`
}
type RESTFedJointClusterInfo ¶
type RESTFedJointClusterInfo struct { Disabled bool `json:"disabled"` Name string `json:"name"` // cluster name ID string `json:"id"` Secret string `json:"secret"` User string `json:"user"` // the user who joins this cluster to federation Status string `json:"status"` // ex: FedStatusClusterSynced/FedStatusClusterOutOfSync (see above) RestVersion string `json:"rest_version"` // joint cluster's kv.GetRestVer() RestInfo share.CLUSRestServerInfo `json:"rest_info"` ProxyRequired bool `json:"proxy_required"` // a joint cluster may be reachable without proxy even master cluster is configured to use proxy. decided when it joins fed. }
type RESTFedLeaveReq ¶
type RESTFedLeaveReq struct {
Force bool `json:"force"` // true means leave federation no matter master cluster succeeds or not
}
type RESTFedLeaveReqInternal ¶
type RESTFedLeaveReqInternal struct { ID string `json:"id"` // id of the joint cluster to leave federation JointTicket string `json:"joint_ticket"` // generated using joint cluster's secret User string `json:"user"` // current operating user Remote string `json:"remote"` // current operating user's remote info UserRoles map[string]string `json:"user_roles"` // current operating user's roles }
for leaving federation request from joint clusters to master cluster
type RESTFedMasterClusterInfo ¶
type RESTFedMasterClusterInfo struct { Disabled bool `json:"disabled"` Name string `json:"name"` // cluster name ID string `json:"id"` Secret string `json:"secret"` // used for encryoting/decrypting join_ticket issued by the master cluster. never export User string `json:"user"` // the user who promoets this cluster to master cluster in federation Status string `json:"status"` // ex: FedStatusClusterSynced/FedStatusClusterOutOfSync (see above) RestVersion string `json:"rest_version"` // from kv.GetRestVer() RestInfo share.CLUSRestServerInfo `json:"rest_info"` }
master cluster: a promoted cluster. One per-federation joint cluster: the other non-master clusters that join the federation 1. A cluster becomes master cluster after it's promoted (providing the ip/port for other clusters to join) 2. A cluster can join one federation at most 3. A master cluster with joint cluster(s) cannot join other federation 4. A master cluster without any joint cluster can join another federation. At the same time it becomes joint cluster of another federation.
type RESTFedMembereshipData ¶
type RESTFedMembereshipData struct { FedRole string `json:"fed_role"` // FedRoleMaster / FedRoleJoint / FedRoleNone (see above) LocalRestInfo share.CLUSRestServerInfo `json:"local_rest_info"` // MasterCluster *RESTFedMasterClusterInfo `json:"master_cluster,omitempty"` // master cluster JointClusters []*RESTFedJointClusterInfo `json:"joint_clusters"` // all non-master clusters in the federation UseProxy string `json:"use_proxy"` // "" / https DeployRepoScanData bool `json:"deploy_repo_scan_data"` // whether fed repo scan data deployment is enabled }
type RESTFedPingReq ¶
type RESTFedPingResp ¶
type RESTFedPingResp struct {
Result int `json:"result"` // value: _fedSuccess/....
}
type RESTFedPromoteReqData ¶
type RESTFedPromoteReqData struct { Name string `json:"name,omitempty"` // cluster name PingInterval uint32 `json:"ping_interval"` // in minute PollInterval uint32 `json:"poll_interval"` // in minute MasterRestInfo *share.CLUSRestServerInfo `json:"master_rest_info,omitempty"` // rest info about this master cluster UseProxy *string `json:"use_proxy,omitempty"` // "" / https DeployRepoScanData *bool `json:"deploy_repo_scan_data"` // whether fed repo scan data deployment is enabled }
type RESTFedPromoteRespData ¶
type RESTFedPromoteRespData struct { FedRole string `json:"fed_role"` MasterCluster RESTFedMasterClusterInfo `json:"master_cluster"` // info about this master cluster UseProxy string `json:"use_proxy,omitempty"` // "" / https DeployRepoScanData bool `json:"deploy_repo_scan_data"` // whether fed repo scan data deployment is enabled }
type RESTFedRemovedReqInternal ¶
type RESTFedRemovedReqInternal struct {
User string `json:"user"` // current operating user
}
type RESTFedRulesSettings ¶
type RESTFedRulesSettings struct { AdmCtrlRulesData *share.CLUSFedAdmCtrlRulesData `json:"admctrl_rules_data,omitempty"` NetworkRulesData *share.CLUSFedNetworkRulesData `json:"network_rules_data,omitempty"` ResponseRulesData *share.CLUSFedResponseRulesData `json:"response_rules_data,omitempty"` GroupsData *share.CLUSFedGroupsData `json:"groups_data,omitempty"` FileMonitorData *share.CLUSFedFileMonitorData `json:"file_monitor_data,omitempty"` ProcessProfilesData *share.CLUSFedProcessProfileData `json:"process_profiles_data,omitempty"` SystemConfigData *share.CLUSFedSystemConfigData `json:"system_config_data,omitempty"` }
type RESTFedScanDataRevs ¶
type RESTFedScanDataRevs struct { RegConfigRev uint64 `json:"reg_config_rev"` // fed registry revision ScannedRegRevs map[string]uint64 `json:"scanned_reg_revs"` // revisions of all fed registry scan data (registry name : revision) ScannedRepoRev uint64 `json:"scanned_repo_rev"` // revision of fed repo scan data on master cluster }
type RESTFedScanResultData ¶
type RESTFedScanResultData struct { UpdatedScanResults map[string]map[string]*RESTFedImageScanResult `json:"updated_scan_result,omitempty"` // registry name : image id : scan result; it contains only new/updated scan results DeletedScanResults map[string][]string `json:"deleted_scan_result,omitempty"` // registry name : []image id. map value being nil means the registry is deleted UpToDateRegs []string `json:"up_to_date_regs,omitempty"` // registries whose images scan result in managed cluster is already up-to-date }
type RESTFedSystemConfig ¶
type RESTFedSystemConfig struct {
Webhooks []RESTWebhook `json:"webhooks"`
}
fed system config
type RESTFedSystemConfigConfig ¶
type RESTFedSystemConfigConfig struct {
Webhooks *[]*RESTWebhook `json:"webhooks,omitempty"`
}
type RESTFedTokenResp ¶
type RESTFedTokenResp struct {
Token string `json:"token"` // for issued by remote joint cluster
}
type RESTFedView ¶
type RESTFedView struct {
Compatible bool `json:"compatible"`
}
type RESTFileMonitorConfig ¶
type RESTFileMonitorConfig struct { AddFilters []*RESTFileMonitorFilterConfig `json:"add_filters,omitempty"` DelFilters []*RESTFileMonitorFilterConfig `json:"delete_filters,omitempty"` UpdateFilters []*RESTFileMonitorFilterConfig `json:"update_filters,omitempty"` }
type RESTFileMonitorConfigData ¶
type RESTFileMonitorConfigData struct {
Config *RESTFileMonitorConfig `json:"config"`
}
type RESTFileMonitorFile ¶
type RESTFileMonitorFileData ¶
type RESTFileMonitorFileData struct {
Files []*RESTFileMonitorFile `json:"files"`
}
type RESTFileMonitorFilter ¶
type RESTFileMonitorFilter struct { Filter string `json:"filter"` Recursive bool `json:"recursive"` Behavior string `json:"behavior"` Apps []string `json:"applications"` CfgType string `json:"cfg_type"` Group string `json:"group,omitempty"` CreatedTimeStamp int64 `json:"created_timestamp"` UpdatedTimeStamp int64 `json:"last_modified_timestamp"` }
type RESTFileMonitorProfile ¶
type RESTFileMonitorProfile struct { Group string `json:"group"` Filters []*RESTFileMonitorFilter `json:"filters"` }
type RESTFileMonitorProfileData ¶
type RESTFileMonitorProfileData struct {
Profile *RESTFileMonitorProfile `json:"profile"`
}
type RESTFileMonitorProfilesData ¶
type RESTFileMonitorProfilesData struct {
Profiles []*RESTFileMonitorProfile `json:"profiles"`
}
type RESTGCRKey ¶
type RESTGCRKey struct {
JsonKey string `json:"json_key,cloak"`
}
type RESTGCRKeyConfig ¶
type RESTGCRKeyConfig struct {
JsonKey *string `json:"json_key,omitempty,cloak"`
}
type RESTGroup ¶
type RESTGroup struct { RESTGroupBrief Criteria []RESTCriteriaEntry `json:"criteria"` Members []*RESTWorkloadBrief `json:"members"` PolicyRules []uint32 `json:"policy_rules"` ResponseRules []uint32 `json:"response_rules"` }
type RESTGroupBatchDelete ¶
type RESTGroupBatchDelete struct {
Groups []string `json:"groups"`
}
type RESTGroupBrief ¶
type RESTGroupBrief struct { Name string `json:"name"` Comment string `json:"comment"` Learned bool `json:"learned"` Reserved bool `json:"reserved"` PolicyMode string `json:"policy_mode,omitempty"` ProfileMode string `json:"profile_mode,omitempty"` NotScored bool `json:"not_scored"` Domain string `json:"domain"` CreaterDomains []string `json:"creater_domains"` Kind string `json:"kind"` PlatformRole string `json:"platform_role"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) BaselineProfile string `json:"baseline_profile"` MonMetric bool `json:"monitor_metric"` GrpSessCur uint32 `json:"group_sess_cur"` GrpSessRate uint32 `json:"group_sess_rate"` GrpBandWidth uint32 `json:"group_band_width"` RESTGroupCaps }
type RESTGroupCaps ¶
type RESTGroupConfig ¶
type RESTGroupConfig struct { Name string `json:"name"` Comment *string `json:"comment"` Criteria *[]RESTCriteriaEntry `json:"criteria,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) MonMetric *bool `json:"monitor_metric,omitempty"` GrpSessCur *uint32 `json:"group_sess_cur,omitempty"` GrpSessRate *uint32 `json:"group_sess_rate,omitempty"` GrpBandWidth *uint32 `json:"group_band_width,omitempty"` }
type RESTGroupConfigData ¶
type RESTGroupConfigData struct {
Config *RESTGroupConfig `json:"config"`
}
type RESTGroupData ¶
type RESTGroupData struct {
Group *RESTGroupDetail `json:"group"`
}
type RESTGroupDetail ¶
type RESTGroupDetail struct { RESTGroupBrief Criteria []RESTCriteriaEntry `json:"criteria"` Members []*RESTWorkloadBrief `json:"members"` PolicyRules []*RESTPolicyRule `json:"policy_rules"` ResponseRules []*RESTResponseRule `json:"response_rules"` }
type RESTGroupExport ¶
type RESTGroupExport struct { Groups []string `json:"groups"` PolicyMode string `json:"policy_mode,omitempty"` ProfileMode string `json:"profile_mode,omitempty"` // for both process/file profiles(if specified) since 5.4.1 RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
NV 5.4(-): process/file profile mode value priority is "policy_mode" NV 5.4.1(+): process/file profile mode value priority is "profile_mode" -> "policy_mode" NV future: process profile mode value priority is "profile_mode" -> "policy_mode" NV future: file profile mode value priority is "file_profile_mode" -> "profile_mode" -> "policy_mode"
type RESTGroupStatsData ¶
type RESTGroupsBriefData ¶
type RESTGroupsBriefData struct {
Groups []*RESTGroupBrief `json:"groups"`
}
type RESTGroupsData ¶
type RESTGroupsData struct {
Groups []*RESTGroup `json:"groups"`
}
type RESTHost ¶
type RESTHost struct { Name string `json:"name"` ID string `json:"id"` Runtime string `json:"runtime"` RuntimeVer string `json:"runtime_version"` RuntimeAPIVer string `json:"runtime_api_version"` Platform string `json:"platform"` OS string `json:"os"` Kernel string `json:"kernel"` CPUs int64 `json:"cpus"` Memory int64 `json:"memory"` CGroupVersion int `json:"cgroup_version"` Containers int `json:"containers"` Pods int `json:"pods"` Ifaces map[string][]*RESTIPAddr `json:"interfaces"` State string `json:"state"` CapDockerBench bool `json:"cap_docker_bench"` CapKubeBench bool `json:"cap_kube_bench"` DockerBenchStatus string `json:"docker_bench_status,omitempty"` KubeBenchStatus string `json:"kube_bench_status,omitempty"` PolicyMode string `json:"policy_mode"` ProfileMode string `json:"profile_mode"` ScanSummary *RESTScanBrief `json:"scan_summary"` StorageDriver string `json:"storage_driver"` Labels map[string]string `json:"labels"` Annotations map[string]string `json:"annotations"` }
type RESTHostAsset ¶
type RESTHostAssetView ¶
type RESTHostAssetView struct { ID string `json:"id"` Name string `json:"name"` PolicyMode string `json:"policy_mode"` OS string `json:"os"` Kernel string `json:"kernel"` CPUs int `json:"cpus"` Memory int64 `json:"memory"` Containers int `json:"containers"` High int `json:"high"` Medium int `json:"medium"` Low int `json:"low"` Vulnerabilities []string `json:"vulnerabilities"` ScannedAt string `json:"scanned_at"` }
type RESTHostData ¶
type RESTHostData struct {
Host *RESTHost `json:"host"`
}
type RESTHostsData ¶
type RESTHostsData struct {
Hosts []*RESTHost `json:"hosts"`
}
type RESTIBMSAConfig ¶
type RESTIBMSAConfig struct { AccountID string `json:"account_id"` APIKey string `json:"apikey"` ProviderID string `json:"provider_id"` // service-id FindingsURL string `json:"findings_url"` TokenURL string `json:"token_url"` OnboardNoteName string `json:"onboard_note_name"` OnboardID string `json:"onboard_id"` OnboardProviderID string `json:"onboard_provider_id"` }
type RESTIBMSASetupToken ¶
type RESTIBMSASetupToken struct {
AccessToken string `json:"access_token"`
}
type RESTIBMSASetupUrl ¶
type RESTIBMSASetupUrl struct {
URL string `json:"url"`
}
type RESTIDName ¶
type RESTIPAddr ¶
type RESTIPPort ¶
type RESTImageAsset ¶
type RESTImageAssetView ¶
type RESTImageAssetViewV2 ¶
type RESTImageAssetViewV2 struct { ID string `json:"image_id"` Name string `json:"repository"` Critical int `json:"critical,omitempty"` High int `json:"high"` Medium int `json:"medium"` CreatedAt string `json:"created_at"` ScannedAt string `json:"scanned_at"` Digest string `json:"digest"` BaseOS string `json:"base_os"` RegName string `json:"reg_name"` Registry string `json:"repo_url"` Size int `json:"size"` Tag string `json:"tag"` }
func (RESTImageAssetViewV2) MarshalJSON ¶
func (c RESTImageAssetViewV2) MarshalJSON() ([]byte, error)
type RESTImportTask ¶
type RESTImportTask struct { TID string `json:"tid"` CtrlerID string `json:"ctrler_id"` LastUpdateTime time.Time `json:"last_update_time,omitempty"` Percentage int `json:"percentage"` TriggeredBy string `json:"triggered_by,omitempty"` // fullname of the user who triggers import Status string `json:"status,omitempty"` TempToken string `json:"temp_token,omitempty"` }
Import task
type RESTImportTaskData ¶
type RESTImportTaskData struct {
Data *RESTImportTask `json:"data"`
}
type RESTIncidentsData ¶
type RESTIncidentsData struct {
Incidents []*Incident `json:"incidents"`
}
type RESTInternalSubnets ¶
type RESTInternalSubnetsData ¶
type RESTInternalSubnetsData struct {
InternalSubnets *RESTInternalSubnets `json:"internal_subnets"`
}
type RESTK8sNvAcceptableAlerts ¶
type RESTK8sNvAcceptableAlerts struct { ClusterRoleErrors map[string]string `json:"clusterrole_errors"` // key is md5 of the English message ClusterRoleBindingErrors map[string]string `json:"clusterrolebinding_errors"` // key is md5 of the English message RoleErrors map[string]string `json:"role_errors"` // key is md5 of the English message RoleBindingErrors map[string]string `json:"rolebinding_errors"` // key is md5 of the English message NvCrdSchemaErrors map[string]string `json:"neuvector_crd_errors"` // key is md5 of the English message OtherAlerts map[string]string `json:"other_alerts"` // key is md5 of the English message }
type RESTK8sNvRbacStatus ¶
type RESTK8sNvRbacStatus struct { ClusterRoleErrors []string `json:"clusterrole_errors,omitempty"` // obsolete ClusterRoleBindingErrors []string `json:"clusterrolebinding_errors,omitempty"` // obsolete RoleErrors []string `json:"role_errors,omitempty"` // obsolete RoleBindingErrors []string `json:"rolebinding_errors,omitempty"` // obsolete NvCrdSchemaErrors []string `json:"neuvector_crd_errors,omitempty"` // obsolete NvUpgradeInfo *RESTCheckUpgradeInfo `json:"neuvector_upgrade_info"` AcceptableAlerts *RESTK8sNvAcceptableAlerts `json:"acceptable_alerts,omitempty"` // acceptable controller-generated alerts AcceptedAlerts []string `json:"accepted_alerts,omitempty"` // keys of accepted manager-generated/user alerts }
type RESTLicenseCode ¶
type RESTLicenseCode struct {
LicenseCode string `json:"license_code"`
}
type RESTLicenseInfo ¶
type RESTLicenseInfo struct { Name string `json:"name"` Email string `json:"email"` Phone string `json:"phone"` ID string `json:"id,omitempty"` IDType string `json:"id_type,omitempty"` InstallationID string `json:"installation_id"` // nv installation id }
func (*RESTLicenseInfo) GetDomain ¶
func (o *RESTLicenseInfo) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTLicenseKey ¶
type RESTLicenseKey struct {
LicenseKey string `json:"license_key,cloak"`
}
type RESTLicenseKeyCfgMap ¶
type RESTLicenseKeyCfgMap struct { RESTLicenseKey AlwaysReload bool `json:"always_reload"` }
type RESTLicenseRequest ¶
type RESTLicenseRequestData ¶
type RESTLicenseRequestData struct {
Request *RESTLicenseRequest `json:"license_request"`
}
type RESTLicenseShow ¶
type RESTLicenseShow struct {
Info *RESTLicenseInfo `json:"info"`
}
type RESTLicenseShowData ¶
type RESTLicenseShowData struct {
License *RESTLicenseShow `json:"license"`
}
type RESTList ¶
type RESTList struct { Application []string `json:"application,omitempty"` RegistryType []string `json:"registry_type,omitempty"` Compliance []RESTBenchMeta `json:"compliance,omitempty"` }
type RESTListData ¶
type RESTListData struct {
List *RESTList `json:"list"`
}
type RESTMappableRoles ¶
type RESTMeter ¶
type RESTMeter struct { Type string `json:"type"` Workload string `json:"workload_id"` PeerIP string `json:"peer_ip"` Count uint32 `json:"cur_count"` SpanCount uint32 `json:"span_count"` Span uint8 `json:"span"` Tap bool `json:"tap"` Idle uint16 `json:"idle"` UpperLimit uint32 `json:"upper_limit"` LowerLimit uint32 `json:"lower_limit"` }
type RESTMeterList ¶
type RESTMeterList struct {
Meters []*RESTMeter `json:"meters"`
}
type RESTMetry ¶
type RESTMetry struct { CPU float64 `json:"cpu"` Memory uint64 `json:"memory"` SessionIn uint32 `json:"session_in"` SessionOut uint32 `json:"session_out"` SessionCurIn uint32 `json:"cur_session_in,omitempty"` SessionCurOut uint32 `json:"cur_session_out,omitempty"` PacketIn uint64 `json:"packet_in"` PacketOut uint64 `json:"packet_out"` ByteIn uint64 `json:"byte_in"` ByteOut uint64 `json:"byte_out"` }
type RESTModuleCve ¶
type RESTNvAcceptableAlerts ¶
type RESTNvAcceptableAlerts struct { ClusterRoleAlerts *RESTNvAlertGroup `json:"clusterrole_alerts,omitempty"` ClusterRoleBindingAlerts *RESTNvAlertGroup `json:"clusterrolebinding_alerts,omitempty"` RoleAlerts *RESTNvAlertGroup `json:"role_alerts,omitempty"` RoleBindingAlerts *RESTNvAlertGroup `json:"rolebinding_alerts,omitempty"` NvCrdSchemaAlerts *RESTNvAlertGroup `json:"neuvector_crd_alerts,omitempty"` CertificateAlerts *RESTNvAlertGroup `json:"certificate_alerts,omitempty"` OtherAlerts *RESTNvAlertGroup `json:"other_alerts,omitempty"` }
type RESTNvAlert ¶
type RESTNvAlertGroup ¶
type RESTNvAlertGroup struct { Type AlertType `json:"type"` Data []*RESTNvAlert `json:"data,omitempty"` }
type RESTNvAlerts ¶
type RESTNvAlerts struct { NvUpgradeInfo *RESTCheckUpgradeInfo `json:"neuvector_upgrade_info"` AcceptableAlerts *RESTNvAcceptableAlerts `json:"acceptable_alerts,omitempty"` // acceptable controller-generated alerts AcceptedAlerts []string `json:"accepted_alerts,omitempty"` // keys of accepted manager-generated/user alerts }
type RESTNvUsage ¶
type RESTNvUsage struct { LocalClusterRole string `json:"local_clusterd_role"` // "primary", "downstream", "standalone" FedUsage *RESTFedCspUsage `json:"fed_usage,omitempty"` // list of all reachable clusters' usages, only available on master cluster LocalClusterUsage RESTClusterCspUsage `json:"local_cluster_usage"` // local cluster' cspType & usage CspConfigFrom string `json:"csp_config_from"` // "master"/"joint"/ "": where is csp-config data from when collecting support config }
type RESTPermitsAssigned ¶
type RESTPermitsAssigned struct { Permits []*RESTRolePermission `json:"permissions"` Domains []string `json:"domains"` // all domains in this slice have the same permissions assigned }
type RESTPlatformAsset ¶
type RESTPlatformAssetView ¶
type RESTPolicyMismatch ¶
type RESTPolicyMismatch struct { ClusterRule *RESTPolicyRule `json:"cluster_rule"` LearnedRule *RESTPolicyRule `json:"learned_rule"` }
type RESTPolicyPromoteRequest ¶
type RESTPolicyPromoteRequest struct {
IDs []uint32 `json:"ids"`
}
type RESTPolicyPromoteRequestData ¶
type RESTPolicyPromoteRequestData struct {
Request *RESTPolicyPromoteRequest `json:"request"`
}
type RESTPolicyRule ¶
type RESTPolicyRule struct { ID uint32 `json:"id"` Comment string `json:"comment"` From string `json:"from"` // group name To string `json:"to"` // group name Ports string `json:"ports"` // free-style port list Action string `json:"action"` Applications []string `json:"applications"` Learned bool `json:"learned"` Disable bool `json:"disable"` CreatedTS int64 `json:"created_timestamp"` LastModTS int64 `json:"last_modified_timestamp"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) Priority uint32 `json:"priority"` }
type RESTPolicyRuleActionData ¶
type RESTPolicyRuleActionData struct { Move *RESTPolicyRuleMove `json:"move,omitempty"` Insert *RESTPolicyRuleInsert `json:"insert,omitempty"` Rules *[]*RESTPolicyRule `json:"rules,omitempty"` Delete *[]uint32 `json:"delete,omitempty"` }
type RESTPolicyRuleConfig ¶
type RESTPolicyRuleConfig struct { ID uint32 `json:"id"` Comment *string `json:"comment,omitempty"` From *string `json:"from,omitempty"` // group name To *string `json:"to,omitempty"` // group name Ports *string `json:"ports,omitempty"` // free-style port list Action *string `json:"action,omitempty"` Applications *[]string `json:"applications,omitempty"` Disable *bool `json:"disable,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) Priority uint32 `json:"priority,omitempty"` }
Omit fields indicate that it's not modified.
type RESTPolicyRuleConfigData ¶
type RESTPolicyRuleConfigData struct { Config *RESTPolicyRuleConfig `json:"config"` Replicate bool `json:"replicate,omitempty"` }
type RESTPolicyRuleData ¶
type RESTPolicyRuleData struct {
Rule *RESTPolicyRule `json:"rule"`
}
type RESTPolicyRuleInsert ¶
type RESTPolicyRuleInsert struct { // nil: last; 0: first; +id: after rule 'id'; -id: before rule 'id' After *int `json:"after,omitempty"` Rules []*RESTPolicyRule `json:"rules"` }
type RESTPolicyRuleMove ¶
type RESTPolicyRulesData ¶
type RESTPolicyRulesData struct {
Rules []*RESTPolicyRule `json:"rules"`
}
type RESTPolicyViolationsData ¶
type RESTPolicyViolationsData struct {
Violations []*Violation `json:"violations"`
}
type RESTPolicyViolationsWLData ¶
type RESTPolicyViolationsWLData struct {
ViolationWorkloads []*RESTViolationWorkload `json:"violation_workloads"`
}
type RESTPollFedRulesReq ¶
type RESTPollFedRulesReq struct { ID string `json:"id"` // id of joint cluster Name string `json:"name"` // name of joint cluster JointTicket string `json:"joint_ticket"` // generated using joint cluster's secret FedKvVersion string `json:"fed_kv_version"` // kv version in the code of joint cluster RestVersion string `json:"rest_version,omitempty"` // rest version in the code of joint cluster Revisions map[string]uint64 `json:"revisions"` // key is fed rules type, value is the revision CspType string `json:"csp_type"` // joint cluster's billing csp type Nodes int `json:"nodes"` }
for polling fed rules/settings from joint clusters to master cluster
type RESTPollFedRulesResp ¶
type RESTPollFedRulesResp struct { Result int `json:"result"` // value: _fedSuccess/.... PollInterval uint32 `json:"poll_interval"` // in minute Settings []byte `json:"settings,omitempty"` // marshall of RESTFedRulesSettings, which contains only modified settings (for ~5.0.x) Revisions map[string]uint64 `json:"revisions"` // key is fed rules type, value is the revision. It contains only revisions of modified settings ScanDataRevs RESTFedScanDataRevs `json:"scan_data_revs"` // the latest revisions of all the fed registry/repo scan data on master cluster DeployRepoScanData bool `json:"deploy_repo_scan_data"` // for informing whether master cluster deploys repo scan data to managed clusters CspType string `json:"csp_type"` // master's billing csp type }
type RESTPollFedScanDataReq ¶
type RESTPollFedScanDataReq struct { ID string `json:"id"` // id of joint cluster Name string `json:"name"` // name of joint cluster JointTicket string `json:"joint_ticket"` // generated using joint cluster's secret FedKvVersion string `json:"fed_kv_version"` // kv version in the code of joint cluster RestVersion string `json:"rest_version"` // rest version in the code of joint cluster RegConfigRev uint64 `json:"reg_config_rev"` // revision of fed registry setting that the managed cluster remembers UpToDateRegs []string `json:"up_to_date_regs,omitempty"` // fed registry/repo whose images scan result in managed cluster is already up-to-date ScanResultMD5 map[string]map[string]string `json:"scan_result_md5"` // all scan result md5 of the scanned images in fed registry/repo that have different scan data revision from master (registry name : image id : scan result md5) IgnoreRegs []string `json:"ignore_regs,omitempty"` // the other fed registry/repo that have different scan data revision from master }
type RESTPollFedScanDataResp ¶
type RESTPollFedScanDataResp struct { Result int `json:"result"` // value: _fedSuccess/.... PollInterval uint32 `json:"poll_interval"` // in minute RegistryCfg *share.CLUSFedRegistriesData `json:"registry_cfg,omitempty"` // all fed registry' settings if there is any change since last polling ScanResultData RESTFedScanResultData `json:"scan_result_data"` // (partial) updated/deleted scan result of the requested fed registry/repo HasMoreScanResult bool `json:"has_more_scan_reresult"` // (bandwidth consideration) true when master cluster returns partial scan result in ScanResultData for instructing managed clusters to keep polling. ThrottleTime int64 `json:"throttle_time"` // in ms. decided by master cluster DeployRepoScanData bool `json:"deploy_repo_scan_data"` // for informing whether master cluster deploys repo scan data to managed clusters }
type RESTProbeContainer ¶
type RESTProbeContainersData ¶
type RESTProbeContainersData struct {
Containers []*RESTProbeContainer `json:"containers"`
}
type RESTProbeProcess ¶
type RESTProbeProcess struct { Pid int32 `json:"pid"` Ppid int32 `json:"ppid"` Name string `json:"name"` Ruid uint32 `json:"ruid"` Euid uint32 `json:"euid"` ScanTimes uint32 `json:"scan_times"` StartTime uint64 `json:"start_times"` Reported uint32 `json:"reported"` Container string `json:"container"` }
type RESTProbeProcessesData ¶
type RESTProbeProcessesData struct {
Processes []*RESTProbeProcess `json:"processes"`
}
type RESTProbeSummary ¶
type RESTProbeSummary struct { ContainerMap uint32 `json:"containers"` PidContainerMap uint32 `json:"pid_containers"` PidProcMap uint32 `json:"pid_procs"` NewProcesses uint32 `json:"new_procs"` NewSuspicProc uint32 `json:"new_suspicious_procs"` ContainerStops uint32 `json:"stopped_container"` PidSet uint32 `json:"pids"` SessionTable uint32 `json:"host_sessions"` }
type RESTProbeSummaryData ¶
type RESTProbeSummaryData struct {
Summary *RESTProbeSummary `json:"summary"`
}
type RESTProcessInfo ¶
type RESTProcessInfo struct { Name string `json:"name"` Pid uint32 `json:"pid"` Parent uint32 `json:"parent"` Group uint32 `json:"group"` Session uint32 `json:"session"` Cmdline string `json:"cmdline"` Root bool `json:"root"` User string `json:"user"` Status string `json:"status"` StartAtTimeStamp int64 `json:"start_timestamp"` Action string `json:"action"` }
type RESTProcessList ¶
type RESTProcessList struct {
Processes []*RESTProcessInfo `json:"processes"`
}
type RESTProcessProfile ¶
type RESTProcessProfileConfig ¶
type RESTProcessProfileConfig struct { Group string `json:"group"` AlertDisable *bool `json:"alert_disabled,omitempty"` HashEnable *bool `json:"hash_enabled,omitempty"` Baseline *string `json:"baseline,omitempty"` ProcessChgList *[]RESTProcessProfileEntryConfig `json:"process_change_list,omitempty"` ProcessDelList *[]RESTProcessProfileEntryConfig `json:"process_delete_list,omitempty"` }
type RESTProcessProfileConfigData ¶
type RESTProcessProfileConfigData struct {
Config *RESTProcessProfileConfig `json:"process_profile_config"`
}
type RESTProcessProfileData ¶
type RESTProcessProfileData struct {
Profile *RESTProcessProfile `json:"process_profile"`
}
type RESTProcessProfileEntry ¶
type RESTProcessProfileEntry struct { Name string `json:"name"` Path string `json:"path,omitempty"` User string `json:"user,omitempty"` Uid int32 `json:"uid,omitempty"` Action string `json:"action"` CfgType string `json:"cfg_type"` Uuid string `json:"uuid"` Group string `json:"group,omitempty"` AllowFileUpdate bool `json:"allow_update"` CreatedTimeStamp int64 `json:"created_timestamp"` UpdatedTimeStamp int64 `json:"last_modified_timestamp"` }
type RESTProcessProfilesData ¶
type RESTProcessProfilesData struct {
Profiles []*RESTProcessProfile `json:"process_profiles"`
}
type RESTProcessRuleResp ¶
type RESTProcessRuleResp struct {
Entry *RESTProcessUuidEntry `json:"process_rule"`
}
type RESTProcessRulesResp ¶
type RESTProcessRulesResp struct {
Entries []RESTProcessUuidEntry `json:"process_rules"`
}
type RESTProcessUuidEntry ¶
type RESTProcessUuidEntry struct { Active int `json:"active"` Group string `json:"group"` Rule RESTProcessProfileEntry `json:"rule"` }
uuid for process rules
type RESTProfiling ¶
type RESTProfilingData ¶
type RESTProfilingData struct {
Profiling *RESTProfiling `json:"profiling"`
}
type RESTProtoPort ¶
type RESTProxyConfig ¶
type RESTPwdProfile ¶
type RESTPwdProfile struct { Name string `json:"name"` Comment string `json:"comment"` MinLen int `json:"min_len"` MinUpperCount int `json:"min_uppercase_count"` // for alphabet characters MinLowerCount int `json:"min_lowercase_count"` // for alphabet characters MinDigitCount int `json:"min_digit_count"` MinSpecialCount int `json:"min_special_count"` EnablePwdExpiration bool `json:"enable_password_expiration"` PwdExpireAfterDays int `json:"password_expire_after_days"` // must be > 0 when EnablePwdExpiration is true EnablePwdHistory bool `json:"enable_password_history"` PwdHistoryCount int `json:"password_keep_history_count"` EnableBlockAfterFailedLogin bool `json:"enable_block_after_failed_login"` // for "Block X minutes after N times consecutive failed attempts" BlockAfterFailedCount int `json:"block_after_failed_login_count"` // must be > 0 when EnableBlockAfterFailedLogin is true BlockMinutes int `json:"block_minutes"` // must be > 0 when EnableBlockAfterFailedLogin is true SessionTimeout uint32 `json:"session_timeout"` // for default user session timeout (in seconds) }
password profile
type RESTPwdProfileBasic ¶
type RESTPwdProfileBasic struct { MinLen int `json:"min_len"` MinUpperCount int `json:"min_uppercase_count"` // for alphabet characters MinLowerCount int `json:"min_lowercase_count"` // for alphabet characters MinDigitCount int `json:"min_digit_count"` MinSpecialCount int `json:"min_special_count"` }
type RESTPwdProfileConditional ¶
type RESTPwdProfileConditional struct { Name *string `json:"name,omitempty"` Comment *string `json:"comment,omitempty"` MinLen int `json:"min_len"` MinUpperCount int `json:"min_uppercase_count"` // for alphabet characters MinLowerCount int `json:"min_lowercase_count"` // for alphabet characters MinDigitCount int `json:"min_digit_count"` MinSpecialCount int `json:"min_special_count"` EnablePwdExpiration *bool `json:"enable_password_expiration,omitempty"` PwdExpireAfterDays *int `json:"password_expire_after_days,omitempty"` // must be > 0 when EnablePwdExpiration is true EnablePwdHistory *bool `json:"enable_password_history,omitempty"` PwdHistoryCount *int `json:"password_keep_history_count,omitempty"` EnableBlockAfterFailedLogin *bool `json:"enable_block_after_failed_login,omitempty"` // for "Block X minutes after N times consecutive failed attempts" BlockAfterFailedCount *int `json:"block_after_failed_login_count,omitempty"` // must be > 0 when EnableBlockAfterFailedLogin is true BlockMinutes *int `json:"block_minutes,omitempty"` // must be > 0 when EnableBlockAfterFailedLogin is true SessionTimeout *uint32 `json:"session_timeout,omitempty"` // for default user session timeout (in seconds) }
type RESTPwdProfileConfig ¶
type RESTPwdProfileConfig struct { Name string `json:"name"` Active *bool `json:"active,omitempty"` Comment *string `json:"comment,omitempty"` MinLen *int `json:"min_len,omitempty"` MinUpperCount *int `json:"min_uppercase_count,omitempty"` // for alphabet characters MinLowerCount *int `json:"min_lowercase_count,omitempty"` // for alphabet characters MinDigitCount *int `json:"min_digit_count,omitempty"` // for 0 ~ 9 MinSpecialCount *int `json:"min_special_count,omitempty"` // !”#$%&'()*+,-./:;<=>?@[\]^_`{|}~ EnablePwdExpiration *bool `json:"enable_password_expiration,omitempty"` PwdExpireAfterDays *int `json:"password_expire_after_days,omitempty"` // must be > 0 when EnablePwdExpiration is true EnablePwdHistory *bool `json:"enable_password_history,omitempty"` PwdHistoryCount *int `json:"password_keep_history_count,omitempty"` EnableBlockAfterFailedLogin *bool `json:"enable_block_after_failed_login,omitempty"` // for "Block X minutes after N times consecutive failed attempts" BlockAfterFailedCount *int `json:"block_after_failed_login_count,omitempty"` // must be > 0 when EnableBlockAfterFailedLogin is true BlockMinutes *int `json:"block_minutes,omitempty"` // must be > 0 when EnableBlockAfterFailedLogin is true SessionTimeout *uint32 `json:"session_timeout,omitempty"` // for default user session timeout (in seconds) }
type RESTPwdProfileConfigData ¶
type RESTPwdProfileConfigData struct {
Config *RESTPwdProfileConfig `json:"config"`
}
type RESTPwdProfileData ¶
type RESTPwdProfileData struct {
PwdProfile *RESTPwdProfile `json:"pwd_profile"`
}
type RESTPwdProfileDataConditional ¶
type RESTPwdProfileDataConditional struct {
PwdProfile *RESTPwdProfileConditional `json:"pwd_profile"`
}
type RESTPwdProfilesData ¶
type RESTPwdProfilesData struct { PwdProfiles []*RESTPwdProfile `json:"pwd_profiles"` ActiveProfileName string `json:"active_profile_name"` }
type RESTPwdProfilesDataCfgMap ¶
type RESTPwdProfilesDataCfgMap struct { RESTPwdProfilesData AlwaysReload bool `json:"always_reload"` }
type RESTRegistry ¶
type RESTRegistry struct { Name string `json:"name"` Type string `json:"registry_type"` Registry string `json:"registry"` Username string `json:"username"` Password string `json:"password,cloak"` AuthToken string `json:"auth_token,cloak"` AuthWithToken bool `json:"auth_with_token"` Domains []string `json:"domains"` Filters []string `json:"filters"` RescanImage bool `json:"rescan_after_db_update"` ScanLayers bool `json:"scan_layers"` RepoLimit int `json:"repo_limit"` TagLimit int `json:"tag_limit"` Schedule RESTScanSchedule `json:"schedule"` AwsKey *RESTAWSAccountKey `json:"aws_key,omitempty"` GcrKey *RESTGCRKey `json:"gcr_key,omitempty"` JfrogMode string `json:"jfrog_mode"` JfrogAQL bool `json:"jfrog_aql"` GitlabApiUrl string `json:"gitlab_external_url"` GitlabPrivateToken string `json:"gitlab_private_token,cloak"` IBMCloudTokenURL string `json:"ibm_cloud_token_url"` IBMCloudAccount string `json:"ibm_cloud_account"` CfgType string `json:"cfg_type"` IgnoreProxy bool `json:"ignore_proxy"` }
type RESTRegistryAuth ¶
type RESTRegistryAuth struct { Username string `json:"username,omitempty"` Password string `json:"password,omitempty,cloak"` AuthToken string `json:"auth_token,omitempty,cloak"` AuthWithToken bool `json:"auth_with_token,omitempty"` AwsKey RESTAWSAccountKey `json:"aws_key,omitempty"` GcrKey RESTGCRKey `json:"gcr_key,omitempty"` }
type RESTRegistryConfig ¶
type RESTRegistryConfig struct { Name string `json:"name"` Type string `json:"registry_type"` Registry *string `json:"registry,omitempty"` Domains *[]string `json:"domains,omitempty"` Filters *[]string `json:"filters,omitempty"` Username *string `json:"username,omitempty"` Password *string `json:"password,omitempty,cloak"` AuthToken *string `json:"auth_token,omitempty,cloak"` AuthWithToken *bool `json:"auth_with_token,omitempty"` RescanImage *bool `json:"rescan_after_db_update,omitempty"` ScanLayers *bool `json:"scan_layers,omitempty"` RepoLimit *int `json:"repo_limit,omitempty"` TagLimit *int `json:"tag_limit,omitempty"` Schedule *RESTScanSchedule `json:"schedule,omitempty"` AwsKey *RESTAWSAccountKeyConfig `json:"aws_key,omitempty"` GcrKey *RESTGCRKeyConfig `json:"gcr_key,omitempty"` JfrogMode *string `json:"jfrog_mode,omitempty"` JfrogAQL *bool `json:"jfrog_aql,omitempty"` GitlabApiUrl *string `json:"gitlab_external_url,omitempty"` GitlabPrivateToken *string `json:"gitlab_private_token,omitempty,cloak"` IBMCloudTokenURL *string `json:"ibm_cloud_token_url,omitempty"` IBMCloudAccount *string `json:"ibm_cloud_account,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) IgnoreProxy *bool `json:"ignore_proxy,omitempty"` }
type RESTRegistryConfigAuth ¶
type RESTRegistryConfigAuth struct { Username *string `json:"username,omitempty"` Password *string `json:"password,omitempty,cloak"` AuthToken *string `json:"auth_token,omitempty,cloak"` AuthWithToken *bool `json:"auth_with_token,omitempty"` AwsKey *RESTAWSAccountKeyConfig `json:"aws_key,omitempty"` GcrKey *RESTGCRKeyConfig `json:"gcr_key,omitempty"` }
type RESTRegistryConfigData ¶
type RESTRegistryConfigData struct {
Config *RESTRegistryConfig `json:"config"`
}
type RESTRegistryConfigDataV2 ¶
type RESTRegistryConfigDataV2 struct {
Config *RESTRegistryConfigV2 `json:"config"`
}
type RESTRegistryConfigIntegrations ¶
type RESTRegistryConfigIntegrations struct { JfrogMode *string `json:"jfrog_mode,omitempty"` JfrogAQL *bool `json:"jfrog_aql,omitempty"` GitlabApiUrl *string `json:"gitlab_external_url,omitempty"` GitlabPrivateToken *string `json:"gitlab_private_token,omitempty,cloak"` IBMCloudTokenURL *string `json:"ibm_cloud_token_url,omitempty"` IBMCloudAccount *string `json:"ibm_cloud_account,omitempty"` }
type RESTRegistryConfigScan ¶
type RESTRegistryConfigScan struct { RescanImage *bool `json:"rescan_after_db_update,omitempty"` ScanLayers *bool `json:"scan_layers,omitempty"` RepoLimit *int `json:"repo_limit,omitempty"` TagLimit *int `json:"tag_limit,omitempty"` Schedule *RESTScanSchedule `json:"schedule,omitempty"` IgnoreProxy *bool `json:"ignore_proxy,omitempty"` }
type RESTRegistryConfigV2 ¶
type RESTRegistryConfigV2 struct { Name string `json:"name"` Type string `json:"registry_type"` Registry *string `json:"registry,omitempty"` Domains *[]string `json:"domains,omitempty"` Filters *[]string `json:"filters,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) Auth *RESTRegistryConfigAuth `json:"auth,omitempty"` Scan *RESTRegistryConfigScan `json:"scan,omitempty"` Integrations *RESTRegistryConfigIntegrations `json:"integrations,omitempty"` }
type RESTRegistryDebugImage ¶
type RESTRegistryDebugImage struct { Domain string `json:"domain"` Repository string `json:"repository"` Tags []*RESTRegistryDebugImageTag `json:"tags"` }
type RESTRegistryDebugImageData ¶
type RESTRegistryDebugImageData struct {
Images []*RESTRegistryDebugImage `json:"images"`
}
type RESTRegistryImageSummary ¶
type RESTRegistryImageSummary struct { Domain string `json:"domain"` Repository string `json:"repository"` Tag string `json:"tag"` ImageID string `json:"image_id"` Digest string `json:"digest"` Size int64 `json:"size"` Author string `json:"author"` RunAsRoot bool `json:"run_as_root"` CreatedAt string `json:"created_at"` Envs []string `json:"envs"` Labels map[string]string `json:"labels"` Layers []string `json:"layers"` RESTScanBrief }
type RESTRegistryImageSummaryData ¶
type RESTRegistryImageSummaryData struct {
Images []*RESTRegistryImageSummary `json:"images"`
}
type RESTRegistryIntegrations ¶
type RESTRegistryIntegrations struct { JfrogMode string `json:"jfrog_mode,omitempty"` JfrogAQL bool `json:"jfrog_aql,omitempty"` GitlabApiUrl string `json:"gitlab_external_url,omitempty"` GitlabPrivateToken string `json:"gitlab_private_token,omitempty,cloak"` IBMCloudTokenURL string `json:"ibm_cloud_token_url,omitempty"` IBMCloudAccount string `json:"ibm_cloud_account,omitempty"` }
type RESTRegistryScan ¶
type RESTRegistryScan struct { RescanImage bool `json:"rescan_after_db_update,omitempty"` ScanLayers bool `json:"scan_layers,omitempty"` RepoLimit int `json:"repo_limit,omitempty"` TagLimit int `json:"tag_limit,omitempty"` Schedule RESTScanSchedule `json:"schedule,omitempty"` IgnoreProxy bool `json:"ignore_proxy,omitempty"` }
type RESTRegistrySummary ¶
type RESTRegistrySummary struct { RESTRegistry Status string `json:"status"` ErrMsg string `json:"error_message"` ErrDetail string `json:"error_detail"` StartedAt string `json:"started_at"` RESTScanStatus }
type RESTRegistrySummaryData ¶
type RESTRegistrySummaryData struct {
Summary *RESTRegistrySummary `json:"summary"`
}
type RESTRegistrySummaryListData ¶
type RESTRegistrySummaryListData struct {
Summarys []*RESTRegistrySummary `json:"summarys"`
}
type RESTRegistryTestData ¶
type RESTRegistryTestData struct {
Config *RESTRegistry `json:"config"`
}
type RESTRegistryTestDataV2 ¶
type RESTRegistryTestDataV2 struct {
Config *RESTRegistryV2 `json:"config"`
}
type RESTRegistryTestStep ¶
type RESTRegistryTestStepData ¶
type RESTRegistryTestStepData struct {
Steps []*RESTRegistryTestStep `json:"steps"`
}
type RESTRegistryV2 ¶
type RESTRegistryV2 struct { Name string `json:"name"` Type string `json:"registry_type"` Registry string `json:"registry"` Domains []string `json:"domains"` Filters []string `json:"filters"` CfgType string `json:"cfg_type"` Auth RESTRegistryAuth `json:"auth,omitempty"` Scan RESTRegistryScan `json:"scan,omitempty"` Integrations RESTRegistryIntegrations `json:"integrations,omitempty"` }
type RESTRemoteExportOptions ¶
type RESTRemoteExportOptions struct { RemoteRepositoryNickname string `json:"remote_repository_nickname"` FilePath string `json:"file_path"` Comment string `json:"comment"` }
func (*RESTRemoteExportOptions) IsValid ¶
func (config *RESTRemoteExportOptions) IsValid() bool
type RESTRemoteRepo_GitHubConfig ¶
type RESTRemoteRepo_GitHubConfig struct { RepositoryOwnerUsername string `json:"repository_owner_username"` RepositoryName string `json:"repository_name"` RepositoryBranchName string `json:"repository_branch_name"` PersonalAccessToken string `json:"personal_access_token,cloak"` PersonalAccessTokenCommitterName string `json:"personal_access_token_committer_name"` PersonalAccessTokenEmail string `json:"personal_access_token_email"` }
remote repositories
type RESTRemoteRepository ¶
type RESTRemoteRepository struct { Nickname string `json:"nickname"` Provider string `json:"provider"` Comment string `json:"comment"` Enable bool `json:"enable"` GitHubConfiguration *RESTRemoteRepo_GitHubConfig `json:"github_configuration"` }
type RESTRemoteRepositoryConfig ¶
type RESTRemoteRepositoryConfig struct { // Provider is unchangable Nickname string `json:"nickname"` Comment *string `json:"comment"` Enable *bool `json:"enable"` GitHubConfiguration *RESTRemoteRepository_GitHubConfigConfig `json:"github_configuration"` }
type RESTRemoteRepositoryConfigData ¶
type RESTRemoteRepositoryConfigData struct {
Config *RESTRemoteRepositoryConfig `json:"config"`
}
type RESTRemoteRepository_GitHubConfigConfig ¶
type RESTRemoteRepository_GitHubConfigConfig struct { RepositoryOwnerUsername *string `json:"repository_owner_username"` RepositoryName *string `json:"repository_name"` RepositoryBranchName *string `json:"repository_branch_name"` PersonalAccessToken *string `json:"personal_access_token,cloak"` PersonalAccessTokenCommitterName *string `json:"personal_access_token_committer_name"` PersonalAccessTokenEmail *string `json:"personal_access_token_email"` }
func (*RESTRemoteRepository_GitHubConfigConfig) IsValid ¶
func (g *RESTRemoteRepository_GitHubConfigConfig) IsValid() bool
TODO: generalize this
type RESTRemoteRolePermits ¶
type RESTRemoteRolePermits struct { Role string `json:"role"` // global role on managed clusters in fed RoleDomains map[string][]string `json:"role_domains,omitempty"` // role -> domains on managed clusters in fed ExtraPermits []*RESTRolePermission `json:"extra_permissions,omitempty"` // extra permissions(other than 'RoleDomains') for global domain on managed clusters in fed. only for Rancher SSO ExtraPermitsDomains []RESTPermitsAssigned `json:"extra_permissions_domains,omitempty"` // list of extra permissions(other than 'RoleDomains') for namespaces on managed clusters in fed. only for Rancher SSO }
type RESTResponseRule ¶
type RESTResponseRule struct { ID uint32 `json:"id"` Event string `json:"event"` Comment string `json:"comment"` Group string `json:"group"` Conditions []share.CLUSEventCondition `json:"conditions"` Actions []string `json:"actions"` Webhooks []string `json:"webhooks"` Disable bool `json:"disable"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) }
type RESTResponseRuleActionData ¶
type RESTResponseRuleActionData struct {
Insert *RESTResponseRuleInsert `json:"insert,omitempty"`
}
type RESTResponseRuleConfig ¶
type RESTResponseRuleConfig struct { ID uint32 `json:"id"` Comment *string `json:"comment,omitempty"` Group *string `json:"group,omitempty"` Event *string `json:"event,omitempty"` Conditions *[]share.CLUSEventCondition `json:"conditions,omitempty"` Actions *[]string `json:"actions,omitempty"` Webhooks *[]string `json:"webhooks,omitempty"` Disable *bool `json:"disable,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeLearned / CfgTypeUserCreated / CfgTypeGround / CfgTypeFederal (see above) }
Omit fields indicate that it's not modified.
type RESTResponseRuleConfigData ¶
type RESTResponseRuleConfigData struct {
Config *RESTResponseRuleConfig `json:"config"`
}
type RESTResponseRuleData ¶
type RESTResponseRuleData struct {
Rule *RESTResponseRule `json:"rule"`
}
type RESTResponseRuleInsert ¶
type RESTResponseRuleInsert struct { // nil: last; 0: first; +id: after rule 'id'; -id: before rule 'id' After *int `json:"after,omitempty"` Rules []*RESTResponseRule `json:"rules"` }
type RESTResponseRuleOptionData ¶
type RESTResponseRuleOptionData struct { Options map[string]*RESTResponseRuleOptions `json:"response_rule_options"` Webhooks []string `json:"webhooks"` }
type RESTResponseRuleOptions ¶
type RESTResponseRulesData ¶
type RESTResponseRulesData struct {
Rules []*RESTResponseRule `json:"rules"`
}
type RESTRiskScoreMetrics ¶
type RESTRiskScoreMetrics struct { Platform string `json:"platform"` K8sVersion string `json:"kube_version"` OCVersion string `json:"openshift_version"` NewServiceMode string `json:"new_service_policy_mode"` NewProfileMode string `json:"new_service_profile_mode"` DenyAdmCtrlRules int `json:"deny_adm_ctrl_rules"` Hosts int `json:"hosts"` WLs RESTRiskScoreMetricsWL `json:"workloads"` Groups RESTRiskScoreMetricsGroup `json:"groups"` CVEs RESTRiskScoreMetricsCVE `json:"cves"` }
type RESTRiskScoreMetricsCVE ¶
type RESTRiskScoreMetricsGroup ¶
type RESTRiskScoreMetricsGroup struct { Groups int `json:"groups"` DiscoverGroups int `json:"discover_groups"` MonitorGroups int `json:"monitor_groups"` ProtectGroups int `json:"protect_groups"` ProfileDiscoverGroups int `json:"profile_discover_groups"` ProfileMonitorGroups int `json:"profile_monitor_groups"` ProfileProtectGroups int `json:"profile_protect_groups"` DiscoverGroupsZD int `json:"discover_groups_zero_drift"` MonitorGroupsZD int `json:"monitor_groups_zero_drift"` ProtectGroupsZD int `json:"protect_groups_zero_drift"` }
type RESTRiskScoreMetricsWL ¶
type RESTRiskScoreMetricsWL struct { RunningPods int `json:"running_pods"` PrivilegedWLs int `json:"privileged_wls"` RootWLs int `json:"root_wls"` DiscoverExtEPs int `json:"discover_ext_eps"` MonitorExtEPs int `json:"monitor_ext_eps"` ProtectExtEPs int `json:"protect_ext_eps"` ThrtExtEPs int `json:"threat_ext_eps"` VioExtEPs int `json:"violate_ext_eps"` }
type RESTRolePermission ¶
type RESTRolePermitOptionInternal ¶
type RESTRolePermitOptionInternal struct { ID string Value uint32 SupportScope byte // 1: support global scope, 2: support domain scope, 3: support both scopes ReadSupported bool WriteSupported bool // non-nil only for complex permissions like PERM_RUNTIME_POLICIES. PERM_RUNTIME_POLICIES is visible to client but in controller it's PERM_NETWORK_POLICY + PERM_SYSTEM_POLICY ComplexPermits []*RESTRolePermitOptionInternal }
type RESTScanAppPackage ¶
type RESTScanAwsFuncDetail ¶
type RESTScanAwsFuncDetail struct { RESTScanBrief `json:"scan_brief"` RESTScanReport `json:"scan_report"` }
type RESTScanAwsFuncReport ¶
type RESTScanAwsFuncReport struct { FuncID string `json:"function_id"` NvSecID string `json:"nv_sec_id"` Version string `json:"version"` ScanResult RESTScanAwsFuncDetail `json:"scan_result"` AllowedRes map[string]RESTAwsFuncPermission `json:"allowed_resources"` // key: resource_name value: list of func in res ReqRes map[string]RESTAwsFuncPermission `json:"req_resources"` // key: resource_name value: list of func in res }
type RESTScanBrief ¶
type RESTScanBrief struct { Status string `json:"status"` CriticalVuls int `json:"critical"` HighVuls int `json:"high"` MedVuls int `json:"medium"` Result string `json:"result"` ScannedTimeStamp int64 `json:"scanned_timestamp"` ScannedAt string `json:"scanned_at"` BaseOS string `json:"base_os"` CVEDBVersion string `json:"scanner_version"` CVEDBCreateTime string `json:"cvedb_create_time"` }
func (*RESTScanBrief) CVECount ¶
func (sb *RESTScanBrief) CVECount() int
type RESTScanCacheData ¶
type RESTScanCacheData struct { CacheRecords []RESTScanCacheRecord `json:"cache_records,omitempty"` RecordSize uint64 `json:"record_total_size,omitempty"` MissCnt uint64 `json:"cache_misses,omitempty"` HitCnt uint64 `json:"cache_hits,omitempty"` }
type RESTScanCacheRecord ¶
type RESTScanCacheStat ¶
type RESTScanConfig ¶
type RESTScanConfig struct {
AutoScan bool `json:"auto_scan"`
}
type RESTScanConfigConfig ¶
type RESTScanConfigConfig struct {
AutoScan *bool `json:"auto_scan"`
}
type RESTScanConfigData ¶
type RESTScanConfigData struct {
Config *RESTScanConfig `json:"config"`
}
type RESTScanImageSummary ¶
type RESTScanImageSummary struct { Image string `json:"image"` ImageID string `json:"image_id"` Author string `json:"author"` CreatedAt string `json:"created_at"` RESTScanBrief }
type RESTScanImageSummaryData ¶
type RESTScanImageSummaryData struct {
Summary []*RESTScanImageSummary `json:"images"`
}
type RESTScanLayer ¶
type RESTScanLayer struct { Digest string `json:"digest"` Cmds string `json:"cmds"` Vuls []*RESTVulnerability `json:"vulnerabilities"` Size int64 `json:"size"` }
type RESTScanLayersReport ¶
type RESTScanLayersReport struct {
Layers []*RESTScanLayer `json:"layers"`
}
type RESTScanLayersReportData ¶
type RESTScanLayersReportData struct {
Report *RESTScanLayersReport `json:"report"`
}
type RESTScanMeta ¶
type RESTScanModule ¶
type RESTScanPackageReqData ¶
type RESTScanPackageReqData struct { ProjectName string `json:"project_name"` FunctionName string `json:"function_name"` Region string `json:"region"` AppPkgs []RESTScanAppPackage `json:"application_packages"` }
type RESTScanPkgReport ¶
type RESTScanPkgReport struct { Verdict string `json:"verdict,omitempty"` NvSecId string `json:"nv_sec_id"` CVEDBVersion string `json:"cvedb_version"` CVEDBCreateTime string `json:"cvedb_create_time"` Vuls []*RESTVulnerability `json:"vulnerabilities"` }
type RESTScanPkgReportData ¶
type RESTScanPkgReportData struct {
Report *RESTScanPkgReport `json:"report"`
}
type RESTScanPlatformSummary ¶
type RESTScanPlatformSummary struct { Platform string `json:"platform"` K8sVersion string `json:"kube_version"` OCVersion string `json:"openshift_version"` RESTScanBrief }
type RESTScanPlatformSummaryData ¶
type RESTScanPlatformSummaryData struct {
Summary []*RESTScanPlatformSummary `json:"platforms"`
}
type RESTScanRepoReport ¶
type RESTScanRepoReport struct { Verdict string `json:"verdict,omitempty"` ImageID string `json:"image_id"` Registry string `json:"registry"` Repository string `json:"repository"` Tag string `json:"tag"` Digest string `json:"digest"` Size int64 `json:"size"` Author string `json:"author"` BaseOS string `json:"base_os"` CreatedAt string `json:"created_at"` CVEDBVersion string `json:"cvedb_version"` CVEDBCreateTime string `json:"cvedb_create_time"` Layers []*RESTScanLayer `json:"layers"` RESTScanReport }
type RESTScanRepoReportData ¶
type RESTScanRepoReportData struct {
Report *RESTScanRepoReport `json:"report"`
}
type RESTScanRepoReq ¶
type RESTScanRepoReq struct { Metadata RESTScanMeta `json:"metadata"` Registry string `json:"registry"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` Repository string `json:"repository"` Tag string `json:"tag"` ScanLayers bool `json:"scan_layers"` BaseImage string `json:"base_image"` }
type RESTScanRepoReqData ¶
type RESTScanRepoReqData struct {
Request *RESTScanRepoReq `json:"request"`
}
type RESTScanRepoSubmitData ¶
type RESTScanRepoSubmitData struct {
Result *share.ScanResult `json:"result"`
}
This is for scanner to summit the scan result
type RESTScanReport ¶
type RESTScanReport struct { Vuls []*RESTVulnerability `json:"vulnerabilities"` Modules []*RESTScanModule `json:"modules,omitempty"` Checks []*RESTBenchItem `json:"checks,omitempty"` Secrets []*RESTScanSecret `json:"secrets,omitempty"` SetIDs []*RESTScanSetIdPerm `json:"setid_perms,omitempty"` Envs []string `json:"envs,omitempty"` Labels map[string]string `json:"labels,omitempty"` Cmds []string `json:"cmds,omitempty"` SignatureInfo *RESTScanSignatureInfo `json:"signature_data,omitempty"` }
type RESTScanReportData ¶
type RESTScanReportData struct {
Report *RESTScanReport `json:"report"`
}
type RESTScanSchedule ¶
type RESTScanSecret ¶
type RESTScanSetIdPerm ¶
type RESTScanSignatureInfo ¶
type RESTScanStatus ¶
type RESTScanStatus struct { Scanned int `json:"scanned"` Scheduled int `json:"scheduled"` Scanning int `json:"scanning"` Failed int `json:"failed"` CVEDBVersion string `json:"cvedb_version"` CVEDBCreateTime string `json:"cvedb_create_time"` }
func (*RESTScanStatus) GetDomain ¶
func (o *RESTScanStatus) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTScanStatusData ¶
type RESTScanStatusData struct {
Status *RESTScanStatus `json:"status"`
}
type RESTScanner ¶
type RESTScanner struct { ID string `json:"id"` CVEDBVersion string `json:"cvedb_version"` CVEDBCreateTime string `json:"cvedb_create_time"` JoinedTS int64 `json:"joined_timestamp"` RPCServer string `json:"server"` RPCServerPort uint16 `json:"port"` Containers int `json:"scanned_containers"` Hosts int `json:"scanned_hosts"` Images int `json:"scanned_images"` Serverless int `json:"scanned_serverless"` }
type RESTScannerData ¶
type RESTScannerData struct {
Scanners []*RESTScanner `json:"scanners"`
}
type RESTScoreMetricsData ¶
type RESTScoreMetricsData struct { Metrics *RESTRiskScoreMetrics `json:"metrics"` Ingress []*RESTExposedEndpoint `json:"ingress"` Egress []*RESTExposedEndpoint `json:"egress"` SecurityScores *RESTSecurityScores `json:"security_scores"` }
type RESTSecurityData ¶
type RESTSecurityScores ¶
type RESTSecurityScores struct { NewServiceModeScore int `json:"new_service_mode_score"` ServiceModeScore int `json:"service_mode_score"` ServiceModeScoreBy100 int `json:"service_mode_score_by_100"` ExposureScore int `json:"exposure_score"` ExposureScoreBy100 int `json:"exposure_score_by_100"` PrivilegedContainerScore int `json:"privileged_container_score"` RunAsRootScore int `json:"run_as_root_score"` AdmissionRuleScore int `json:"admission_rule_score"` VulnerabilityScore int `json:"vulnerability_score"` VulnerabilityScoreBy100 int `json:"vulnerability_score_by_100"` SecurityRiskScore int `json:"security_risk_score"` }
type RESTSelfApikeyData ¶
type RESTSelfApikeyData struct { Apikey *RESTApikey `json:"apikey"` GlobalPermits []*RESTRolePermission `json:"global_permissions,omitempty"` DomainPermits map[string][]*RESTRolePermission `json:"domain_permissions,omitempty"` // domain -> permissions }
type RESTSelfUserData ¶
type RESTSelfUserData struct { User *RESTUser `json:"user"` PwdDaysUntilExpire int `json:"password_days_until_expire"` // negative means password never expires PwdHoursUntilExpire int `json:"password_hours_until_expire"` // the hours part beyond PwdDaysUntilExpire, 0 ~ 23 GlobalPermits []*RESTRolePermission `json:"global_permissions,omitempty"` DomainPermits map[string][]*RESTRolePermission `json:"domain_permissions,omitempty"` // domain -> permissions RemoteGlobalPermits []*RESTRolePermission `json:"remote_global_permissions,omitempty"` // for accessing managed clusters on primary cluster's UI }
type RESTServer ¶
type RESTServer struct { Name string `json:"server_name"` Type string `json:"server_type"` LDAP *RESTServerLDAP `json:"ldap,omitempty"` SAML *RESTServerSAML `json:"saml,omitempty"` OIDC *RESTServerOIDC `json:"oidc,omitempty"` }
type RESTServerConfig ¶
type RESTServerConfig struct { Name string `json:"name"` LDAP *RESTServerLDAPConfig `json:"ldap,omitempty"` SAML *RESTServerSAMLConfig `json:"saml,omitempty"` OIDC *RESTServerOIDCConfig `json:"oidc,omitempty"` }
type RESTServerConfigData ¶
type RESTServerConfigData struct {
Config *RESTServerConfig `json:"config"`
}
type RESTServerData ¶
type RESTServerData struct {
Server *RESTServer `json:"server"`
}
type RESTServerGroupRoleConfigData ¶
type RESTServerGroupRoleConfigData struct {
Groups []string `json:"groups"`
}
type RESTServerGroupRoleDomainsConfig ¶
type RESTServerGroupRoleDomainsConfig struct { Name string `json:"name"` // server name GroupRoleMapping *share.GroupRoleMapping `json:"mapped_roles,omitempty"` }
Used by CLI to set one group's role mapping at a time.
type RESTServerGroupRoleDomainsConfigData ¶
type RESTServerGroupRoleDomainsConfigData struct {
Config *RESTServerGroupRoleDomainsConfig `json:"config"`
}
type RESTServerGroupsOrderConfig ¶
type RESTServerGroupsOrderConfig struct { Name string `json:"name"` // server name Groups []string `json:"groups"` // groups in mapping order }
Used by CLI to set mapped groups order.
type RESTServerGroupsOrderConfigData ¶
type RESTServerGroupsOrderConfigData struct {
Config *RESTServerGroupsOrderConfig `json:"config"`
}
type RESTServerLDAP ¶
type RESTServerLDAP struct { Type string `json:"directory"` Hostname string `json:"hostname"` Port uint16 `json:"port"` SSL bool `json:"ssl"` BaseDN string `json:"base_dn"` GroupDN string `json:"group_dn"` BindDN string `json:"bind_dn"` BindPasswd string `json:"bind_password,cloak"` GroupMemberAttr string `json:"group_member_attr"` UserNameAttr string `json:"username_attr"` Enable bool `json:"enable"` DefaultRole string `json:"default_role"` RoleGroups map[string][]string `json:"role_groups,omitempty"` // role -> groups GroupMappedRoles []*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) }
type RESTServerLDAPConfig ¶
type RESTServerLDAPConfig struct { Type *string `json:"directory,omitempty"` Hostname *string `json:"hostname,omitempty"` Port *uint16 `json:"port,omitempty"` SSL *bool `json:"ssl,omitempty"` BaseDN *string `json:"base_dn,omitempty"` GroupDN *string `json:"group_dn,omitempty"` BindDN *string `json:"bind_dn,omitempty"` BindPasswd *string `json:"bind_password,cloak,omitempty"` GroupMemberAttr *string `json:"group_member_attr,omitempty"` UserNameAttr *string `json:"username_attr,omitempty"` Enable *bool `json:"enable,omitempty"` DefaultRole *string `json:"default_role,omitempty"` RoleGroups *map[string][]string `json:"role_groups,omitempty"` // role -> groups. deprecated since 4.2 GroupMappedRoles *[]*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) }
type RESTServerLDAPConfigCfgMap ¶
type RESTServerLDAPConfigCfgMap struct { RESTServerLDAPConfig AlwaysReload bool `json:"always_reload"` }
type RESTServerLDAPTest ¶
type RESTServerOIDC ¶
type RESTServerOIDC struct { Issuer string `json:"issuer"` AuthURL string `json:"authorization_endpoint"` TokenURL string `json:"token_endpoint"` UserInfoURL string `json:"user_info_endpoint"` ClientID string `json:"client_id"` ClientSecret string `json:"client_secret,cloak"` GroupClaim string `json:"group_claim"` Scopes []string `json:"scopes"` Enable bool `json:"enable"` DefaultRole string `json:"default_role"` RoleGroups map[string][]string `json:"role_groups,omitempty"` // role -> groups GroupMappedRoles []*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) UseProxy bool `json:"use_proxy,omitempty"` }
type RESTServerOIDCConfig ¶
type RESTServerOIDCConfig struct { Issuer *string `json:"issuer"` ClientID *string `json:"client_id"` ClientSecret *string `json:"client_secret,cloak"` GroupClaim *string `json:"group_claim"` Scopes *[]string `json:"scopes,omitempty"` Enable *bool `json:"enable"` DefaultRole *string `json:"default_role"` RoleGroups *map[string][]string `json:"role_groups,omitempty"` // role -> groups. deprecated since 4.2 GroupMappedRoles *[]*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) UseProxy *bool `json:"use_proxy"` }
type RESTServerOIDCConfigCfgMap ¶
type RESTServerOIDCConfigCfgMap struct { RESTServerOIDCConfig AlwaysReload bool `json:"always_reload"` }
type RESTServerRoleGroupsConfig ¶
type RESTServerRoleGroupsConfig struct { Name string `json:"name"` Role string `json:"role"` Groups []string `json:"groups"` }
Used by CLI to set one role mapping at a time.
type RESTServerRoleGroupsConfigData ¶
type RESTServerRoleGroupsConfigData struct {
Config *RESTServerRoleGroupsConfig `json:"config"`
}
type RESTServerSAML ¶
type RESTServerSAML struct { SSOURL string `json:"sso_url"` Issuer string `json:"issuer"` X509Cert string `json:"x509_cert,cloak"` GroupClaim string `json:"group_claim"` X509Certs []RESTX509CertInfo `json:"x509_certs"` Enable bool `json:"enable"` DefaultRole string `json:"default_role"` RoleGroups map[string][]string `json:"role_groups,omitempty"` // role -> groups GroupMappedRoles []*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) AuthnSigningEnabled bool `json:"authn_signing_enabled,omitempty"` // Optional. Enable signing AuthnRequest. Default off. SigningCert string `json:"signing_cert,omitempty"` // Optional. //SigningKey string `json:"signing_key,omitempty"` // Optional. SLOEnabled bool `json:"slo_enabled,omitempty"` // Optional. SLOURL string `json:"slo_url,omitempty"` // Optional. }
type RESTServerSAMLConfig ¶
type RESTServerSAMLConfig struct { SSOURL *string `json:"sso_url"` Issuer *string `json:"issuer"` X509Cert *string `json:"x509_cert,cloak"` GroupClaim *string `json:"group_claim"` Enable *bool `json:"enable,omitempty"` DefaultRole *string `json:"default_role,omitempty"` RoleGroups *map[string][]string `json:"role_groups,omitempty"` // role -> groups. deprecated since 4.2 GroupMappedRoles *[]*share.GroupRoleMapping `json:"group_mapped_roles,omitempty"` // group -> (role -> domains) X509CertExtra *[]string `json:"x509_cert_extra,omitempty"` AuthnSigningEnabled *bool `json:"authn_signing_enabled,omitempty"` // Optional. Enable signing AuthnRequest. Default off. SigningCert *string `json:"signing_cert,omitempty"` // Optional. SigningKey *string `json:"signing_key,omitempty"` // Optional. SLOEnabled *bool `json:"slo_enabled,omitempty"` // Optional. SLOURL *string `json:"slo_url,omitempty"` // Optional. }
type RESTServerSAMLConfigCfgMap ¶
type RESTServerSAMLConfigCfgMap struct { RESTServerSAMLConfig AlwaysReload bool `json:"always_reload"` }
type RESTServerTest ¶
type RESTServerTest struct { Name string `json:"name,omitempty"` // either name or one of server configs must present LDAP *RESTServerLDAPConfig `json:"ldap,omitempty"` TestLDAP *RESTServerLDAPTest `json:"test_ldap,omitempty"` }
type RESTServerTestData ¶
type RESTServerTestData struct {
Test *RESTServerTest `json:"test"`
}
type RESTServerTestResult ¶
type RESTServerTestResult struct {
Groups []string `json:"groups"`
}
type RESTServerTestResultData ¶
type RESTServerTestResultData struct {
Result *RESTServerTestResult `json:"result"`
}
type RESTServersData ¶
type RESTServersData struct { Servers []*RESTServer `json:"servers"` MappableRoles *RESTMappableRoles `json:"mappable_roles"` }
type RESTService ¶
type RESTService struct { Name string `json:"name"` Comment string `json:"comment"` PolicyMode string `json:"policy_mode"` ProfileMode string `json:"profile_mode"` NotScored bool `json:"not_scored"` Domain string `json:"domain"` PlatformRole string `json:"platform_role"` Members []*RESTWorkloadBrief `json:"members"` PolicyRules []*RESTPolicyRule `json:"policy_rules"` ResponseRules []*RESTResponseRule `json:"response_rules"` ServiceAddr *RESTIPPort `json:"service_addr,omitempty"` IngressExposure bool `json:"ingress_exposure"` EgressExposure bool `json:"egress_exposure"` BaselineProfile string `json:"baseline_profile"` RESTGroupCaps }
type RESTServiceBatchConfig ¶
type RESTServiceBatchConfigData ¶
type RESTServiceBatchConfigData struct {
Config *RESTServiceBatchConfig `json:"config"`
}
type RESTServiceConfig ¶
type RESTServiceConfig struct { Name string `json:"name"` Domain string `json:"domain"` Comment *string `json:"comment"` PolicyMode *string `json:"policy_mode,omitempty"` ProfileMode *string `json:"profile_mode,omitempty"` BaselineProfile *string `json:"baseline_profile,omitempty"` NotScored *bool `json:"not_scored,omitempty"` }
type RESTServiceConfigData ¶
type RESTServiceConfigData struct {
Config *RESTServiceConfig `json:"config"`
}
type RESTServiceData ¶
type RESTServiceData struct {
Service *RESTService `json:"service"`
}
type RESTServicesData ¶
type RESTServicesData struct {
Services []*RESTService `json:"services"`
}
type RESTSession ¶
type RESTSession struct { ID uint64 `json:"id"` Workload string `json:"workload_id"` EtherType uint16 `json:"ether_type"` Application string `json:"application"` ClientMAC string `json:"client_mac"` ServerMAC string `json:"server_mac"` ClientIP string `json:"client_ip"` ServerIP string `json:"server_ip"` ClientPort uint16 `json:"client_port"` ServerPort uint16 `json:"server_port"` ICMPCode uint8 `json:"icmp_code"` ICMPType uint8 `json:"icmp_type"` IPProto uint8 `json:"ip_proto"` ClientState string `json:"client_state"` ServerState string `json:"server_state"` ClientPkts uint32 `json:"client_pkts"` ServerPkts uint32 `json:"server_pkts"` ClientBytes uint64 `json:"client_bytes"` ServerBytes uint64 `json:"server_bytes"` ClientAsmPkts uint32 `json:"client_asm_pkts"` ServerAsmPkts uint32 `json:"server_asm_pkts"` ClientAsmBytes uint64 `json:"client_asm_bytes"` ServerAsmBytes uint64 `json:"server_asm_bytes"` Age uint32 `json:"age"` Idle uint32 `json:"idle"` Life uint32 `json:"life"` Ingress bool `json:"ingress"` Tap bool `json:"tap"` MidStream bool `json:"mid_stream"` PolicyID uint32 `json:"policy_id"` PolicyAction string `json:"policy_action"` XffIP string `json:"xff_ip"` XffApp string `json:"xff_app"` XffPort uint16 `json:"xff_port"` }
type RESTSessionList ¶
type RESTSessionList struct {
Sessions []*RESTSession `json:"sessions"`
}
type RESTSessionSummary ¶
type RESTSessionSummaryData ¶
type RESTSessionSummaryData struct {
Summary *RESTSessionSummary `json:"summary"`
}
type RESTSnifferArgs ¶
type RESTSnifferArgsData ¶
type RESTSnifferArgsData struct {
Sniffer *RESTSnifferArgs `json:"sniffer"`
}
type RESTSnifferData ¶
type RESTSnifferData struct {
Sniffer *RESTSnifferInfo `json:"sniffer"`
}
type RESTSnifferInfo ¶
type RESTSnifferInfo struct { ID string `json:"id"` AgentID string `json:"enforcer_id"` WorkloadID string `json:"container_id"` FileNumber uint32 `json:"file_number"` Size int64 `json:"size"` Status string `json:"status"` Args string `json:"args"` StartTime int64 `json:"start_time"` StopTime int64 `json:"stop_time"` }
type RESTSnifferResult ¶
type RESTSnifferResult struct {
ID string `json:"id"`
}
type RESTSnifferResultData ¶
type RESTSnifferResultData struct {
Result *RESTSnifferResult `json:"result"`
}
type RESTSniffersData ¶
type RESTSniffersData struct {
Sniffers []*RESTSnifferInfo `json:"sniffers"`
}
type RESTSysAtmoConfigConfig ¶
type RESTSysNetConfigConfig ¶
type RESTSystemConfig ¶
type RESTSystemConfig struct { NewServicePolicyMode string `json:"new_service_policy_mode"` NewServiceProfileMode string `json:"new_service_profile_mode"` NewServiceProfileBaseline string `json:"new_service_profile_baseline"` UnusedGroupAging uint8 `json:"unused_group_aging"` SyslogServer string `json:"syslog_ip"` SyslogIPProto uint8 `json:"syslog_ip_proto"` SyslogPort uint16 `json:"syslog_port"` SyslogLevel string `json:"syslog_level"` SyslogEnable bool `json:"syslog_status"` SyslogCategories []string `json:"syslog_categories"` SyslogInJSON bool `json:"syslog_in_json"` SyslogServerCert string `json:"syslog_server_cert"` SingleCVEPerSyslog bool `json:"single_cve_per_syslog"` SyslogCVEInLayers bool `json:"syslog_cve_in_layers"` OutputEventToLogs bool `json:"output_event_to_logs"` AuthOrder []string `json:"auth_order"` AuthByPlatform bool `json:"auth_by_platform"` RancherEP string `json:"rancher_ep"` InternalSubnets []string `json:"configured_internal_subnets,omitempty"` Webhooks []RESTWebhook `json:"webhooks"` ClusterName string `json:"cluster_name"` ControllerDebug []string `json:"controller_debug"` MonitorServiceMesh bool `json:"monitor_service_mesh"` RegistryHttpProxyEnable bool `json:"registry_http_proxy_status"` RegistryHttpsProxyEnable bool `json:"registry_https_proxy_status"` RegistryHttpProxy RESTProxy `json:"registry_http_proxy"` RegistryHttpsProxy RESTProxy `json:"registry_https_proxy"` IBMSAEpEnabled bool `json:"ibmsa_ep_enabled"` IBMSAEpStart uint32 `json:"ibmsa_ep_start"` IBMSAEpDashboardURL string `json:"ibmsa_ep_dashboard_url"` IBMSAEpConnectedAt string `json:"ibmsa_ep_connected_at"` XffEnabled bool `json:"xff_enabled"` NetServiceStatus bool `json:"net_service_status"` NetServicePolicyMode string `json:"net_service_policy_mode"` DisableNetPolicy bool `json:"disable_net_policy"` DetectUnmanagedWl bool `json:"detect_unmanaged_wl"` ModeAutoD2M bool `json:"mode_auto_d2m"` ModeAutoD2MDuration int64 `json:"mode_auto_d2m_duration"` ModeAutoM2P bool `json:"mode_auto_m2p"` ModeAutoM2PDuration int64 `json:"mode_auto_m2p_duration"` ScannerAutoscale RESTSystemConfigAutoscale `json:"scanner_autoscale"` NoTelemetryReport bool `json:"no_telemetry_report"` CspType string `json:"csp_type"` RemoteRepositories []RESTRemoteRepository `json:"remote_repositories"` EnableTLSVerification bool `json:"enable_tls_verification"` GlobalCaCerts []string `json:"cacerts"` }
If more log servers needed, they can be defined as servers.
type RESTSystemConfigAuthV2 ¶
type RESTSystemConfigAutoscaleConfig ¶
type RESTSystemConfigAutoscaleConfig struct { Strategy *string `json:"strategy,omitempty"` MinPods *uint32 `json:"min_pods,omitempty"` MaxPods *uint32 `json:"max_pods,omitempty"` }
for scanner autoscaling
type RESTSystemConfigConfig ¶
type RESTSystemConfigConfig struct { NewServicePolicyMode *string `json:"new_service_policy_mode,omitempty"` NewServiceProfileMode *string `json:"new_service_profile_mode,omitempty"` NewServiceProfileBaseline *string `json:"new_service_profile_baseline,omitempty"` UnusedGroupAging *uint8 `json:"unused_group_aging,omitempty"` SyslogServer *string `json:"syslog_ip,omitempty"` SyslogIPProto *uint8 `json:"syslog_ip_proto,omitempty"` SyslogPort *uint16 `json:"syslog_port,omitempty"` SyslogLevel *string `json:"syslog_level,omitempty"` SyslogEnable *bool `json:"syslog_status,omitempty"` SyslogCategories *[]string `json:"syslog_categories,omitempty"` SyslogInJSON *bool `json:"syslog_in_json,omitempty"` SyslogServerCert *string `json:"syslog_server_cert,omitempty"` SingleCVEPerSyslog *bool `json:"single_cve_per_syslog,omitempty"` SyslogCVEInLayers *bool `json:"syslog_cve_in_layers,omitempty"` OutputEventToLogs *bool `json:"output_event_to_logs,omitempty"` AuthOrder *[]string `json:"auth_order,omitempty"` AuthByPlatform *bool `json:"auth_by_platform,omitempty"` RancherEP *string `json:"rancher_ep,omitempty"` WebhookEnable *bool `json:"webhook_status,omitempty"` // deprecated, kept for backward-compatibility, skip docs WebhookUrl *string `json:"webhook_url,omitempty"` // deprecated, kept for backward-compatibility, skip docs Webhooks *[]*RESTWebhook `json:"webhooks,omitempty"` ClusterName *string `json:"cluster_name,omitempty"` ControllerDebug *[]string `json:"controller_debug,omitempty"` MonitorServiceMesh *bool `json:"monitor_service_mesh,omitempty"` RegistryHttpProxyEnable *bool `json:"registry_http_proxy_status,omitempty"` RegistryHttpsProxyEnable *bool `json:"registry_https_proxy_status,omitempty"` RegistryHttpProxy *RESTProxy `json:"registry_http_proxy,omitempty"` RegistryHttpsProxy *RESTProxy `json:"registry_https_proxy,omitempty"` RegistryHttpProxyCfg *RESTProxyConfig `json:"registry_http_proxy_cfg,omitempty"` RegistryHttpsProxyCfg *RESTProxyConfig `json:"registry_https_proxy_cfg,omitempty"` IBMSAEpEnabled *bool `json:"ibmsa_ep_enabled,omitempty"` IBMSAEpDashboardURL *string `json:"ibmsa_ep_dashboard_url,omitempty"` XffEnabled *bool `json:"xff_enabled,omitempty"` ScannerAutoscale *RESTSystemConfigAutoscaleConfig `json:"scanner_autoscale,omitempty"` NoTelemetryReport *bool `json:"no_telemetry_report,omitempty"` RemoteRepositories *[]RESTRemoteRepository `json:"remote_repositories,omitempty"` EnableTLSVerification *bool `json:"enable_tls_verification,omitempty"` GlobalCaCerts *[]string `json:"cacerts,omitempty"` }
type RESTSystemConfigConfigCfgMap ¶
type RESTSystemConfigConfigCfgMap struct { RESTSystemConfigConfig RESTSysNetConfigConfig RESTSysAtmoConfigConfig ScanConfig *RESTScanConfigConfig `json:"scan_config,omitempty"` AlwaysReload bool `json:"always_reload"` }
type RESTSystemConfigConfigData ¶
type RESTSystemConfigConfigData struct { Config *RESTSystemConfigConfig `json:"config,omitempty"` ConfigV2 *RESTSystemConfigConfigV2 `json:"config_v2,omitempty"` FedConfig *RESTFedSystemConfigConfig `json:"fed_config,omitempty"` NetConfig *RESTSysNetConfigConfig `json:"net_config,omitempty"` AtmoConfig *RESTSysAtmoConfigConfig `json:"atmo_config,omitempty"` }
type RESTSystemConfigConfigV2 ¶
type RESTSystemConfigConfigV2 struct { SvcCfg *RESTSystemConfigSvcCfgV2 `json:"svc_cfg,omitempty"` SyslogCfg *RESTSystemConfigSyslogCfgV2 `json:"syslog_cfg,omitempty"` AuthCfg *RESTSystemConfigAuthCfgV2 `json:"auth_cfg,omitempty"` ProxyCfg *RESTSystemConfigProxyCfgV2 `json:"proxy_cfg,omitempty"` TlsCfg *RESTSystemConfigTlsCfg `json:"tls_cfg,omitempty"` Webhooks *[]*RESTWebhook `json:"webhooks,omitempty"` IbmsaCfg *RESTSystemConfigIBMSAVCfg2 `json:"ibmsa_cfg,omitempty"` ScannerAutoscale *RESTSystemConfigAutoscaleConfig `json:"scanner_autoscale_cfg,omitempty"` MiscCfg *RESTSystemConfigMiscCfgV2 `json:"misc_cfg,omitempty"` RemoteRepositories *[]RESTRemoteRepository `json:"remote_repositories,omitempty"` }
type RESTSystemConfigData ¶
type RESTSystemConfigData struct { Config *RESTSystemConfig `json:"config"` FedConfig *RESTFedSystemConfig `json:"fed_config"` }
type RESTSystemConfigDataV2 ¶
type RESTSystemConfigDataV2 struct { Config *RESTSystemConfigV2 `json:"config"` FedConfig *RESTFedSystemConfig `json:"fed_config"` }
type RESTSystemConfigIBMSAV2 ¶
type RESTSystemConfigMiscCfgV2 ¶
type RESTSystemConfigMiscCfgV2 struct { // InternalSubnets *[]string `json:"configured_internal_subnets,omitempty"` UnusedGroupAging *uint8 `json:"unused_group_aging,omitempty"` ClusterName *string `json:"cluster_name,omitempty"` ControllerDebug *[]string `json:"controller_debug,omitempty"` MonitorServiceMesh *bool `json:"monitor_service_mesh,omitempty"` XffEnabled *bool `json:"xff_enabled,omitempty"` NoTelemetryReport *bool `json:"no_telemetry_report,omitempty"` }
type RESTSystemConfigMiscV2 ¶
type RESTSystemConfigMiscV2 struct { InternalSubnets []string `json:"configured_internal_subnets,omitempty"` UnusedGroupAging uint8 `json:"unused_group_aging"` ClusterName string `json:"cluster_name"` ControllerDebug []string `json:"controller_debug"` MonitorServiceMesh bool `json:"monitor_service_mesh"` XffEnabled bool `json:"xff_enabled"` NoTelemetryReport bool `json:"no_telemetry_report"` CspType string `json:"csp_type"` // billing csp type (local or master cluster) }
type RESTSystemConfigProxyCfgV2 ¶
type RESTSystemConfigProxyCfgV2 struct { RegistryHttpProxyEnable *bool `json:"registry_http_proxy_status,omitempty"` RegistryHttpsProxyEnable *bool `json:"registry_https_proxy_status,omitempty"` RegistryHttpProxy *RESTProxy `json:"registry_http_proxy,omitempty"` RegistryHttpsProxy *RESTProxy `json:"registry_https_proxy,omitempty"` RegistryHttpProxyCfg *RESTProxyConfig `json:"registry_http_proxy_cfg,omitempty"` RegistryHttpsProxyCfg *RESTProxyConfig `json:"registry_https_proxy_cfg,omitempty"` }
type RESTSystemConfigProxyV2 ¶
type RESTSystemConfigProxyV2 struct { RegistryHttpProxyEnable bool `json:"registry_http_proxy_status"` RegistryHttpsProxyEnable bool `json:"registry_https_proxy_status"` RegistryHttpProxy RESTProxy `json:"registry_http_proxy"` RegistryHttpsProxy RESTProxy `json:"registry_https_proxy"` RegistryHttpProxyCfg RESTProxyConfig `json:"registry_http_proxy_cfg"` RegistryHttpsProxyCfg RESTProxyConfig `json:"registry_https_proxy_cfg"` }
type RESTSystemConfigSyslogCfgV2 ¶
type RESTSystemConfigSyslogCfgV2 struct { SyslogServer *string `json:"syslog_ip,omitempty"` SyslogIPProto *uint8 `json:"syslog_ip_proto,omitempty"` SyslogPort *uint16 `json:"syslog_port,omitempty"` SyslogLevel *string `json:"syslog_level,omitempty"` SyslogEnable *bool `json:"syslog_status,omitempty"` SyslogCategories *[]string `json:"syslog_categories,omitempty"` SyslogInJSON *bool `json:"syslog_in_json,omitempty"` SingleCVEPerSyslog *bool `json:"single_cve_per_syslog"` SyslogCVEInLayers *bool `json:"syslog_cve_in_layers,omitempty"` SyslogServerCert *string `json:"syslog_server_cert,omitempty"` OutputEventToLogs *bool `json:"output_event_to_logs,omitempty"` }
type RESTSystemConfigSyslogV2 ¶
type RESTSystemConfigSyslogV2 struct { SyslogServer string `json:"syslog_ip"` SyslogIPProto uint8 `json:"syslog_ip_proto"` SyslogPort uint16 `json:"syslog_port"` SyslogLevel string `json:"syslog_level"` SyslogEnable bool `json:"syslog_status"` SyslogCategories []string `json:"syslog_categories"` SyslogInJSON bool `json:"syslog_in_json"` SingleCVEPerSyslog bool `json:"single_cve_per_syslog"` SyslogCVEInLayers bool `json:"syslog_cve_in_layers"` SyslogServerCert string `json:"syslog_server_cert"` OutputEventToLogs bool `json:"output_event_to_logs"` }
type RESTSystemConfigTls ¶
type RESTSystemConfigTlsCfg ¶
type RESTSystemConfigV2 ¶
type RESTSystemConfigV2 struct { NewSvc RESTSystemConfigNewSvcV2 `json:"new_svc"` Syslog RESTSystemConfigSyslogV2 `json:"syslog"` Auth RESTSystemConfigAuthV2 `json:"auth"` Misc RESTSystemConfigMiscV2 `json:"misc"` Webhooks []RESTWebhook `json:"webhooks"` Proxy RESTSystemConfigProxyV2 `json:"proxy"` IBMSA RESTSystemConfigIBMSAV2 `json:"ibmsa"` NetSvc RESTSystemConfigNetSvcV2 `json:"net_svc"` ModeAuto RESTSystemConfigModeAutoV2 `json:"mode_auto"` ScannerAutoscale RESTSystemConfigAutoscale `json:"scanner_autoscale"` RemoteRepositories []RESTRemoteRepository `json:"remote_repositories"` TlsCfg RESTSystemConfigTls `json:"tls_cfg"` }
type RESTSystemRequest ¶
type RESTSystemRequest struct { PolicyMode *string `json:"policy_mode,omitempty"` ProfileMode *string `json:"profile_mode,omitempty"` BaselineProfile *string `json:"baseline_profile,omitempty"` Unquar *RESTUnquarReq `json:"unquarantine,omitempty"` }
type RESTSystemRequestData ¶
type RESTSystemRequestData struct {
Request *RESTSystemRequest `json:"request"`
}
type RESTSystemStats ¶
type RESTSystemStats struct { ExpiredTokens int `json:"expired_tokens"` ScanStateKeys int `json:"scan_state_keys"` ScanDataKeys int `json:"scan_data_keys"` }
func (*RESTSystemStats) GetDomain ¶
func (o *RESTSystemStats) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTSystemStatsData ¶
type RESTSystemStatsData struct {
Stats *RESTSystemStats `json:"stats"`
}
type RESTSystemSummary ¶
type RESTSystemSummary struct { Hosts int `json:"hosts"` Controllers int `json:"controllers"` Agents int `json:"enforcers"` OfflineAgents int `json:"disconnected_enforcers"` Domains int `json:"domains"` Workloads int `json:"workloads"` RunningWorkloads int `json:"running_workloads"` RunningPods int `json:"running_pods"` Services int `json:"services"` PolicyRules int `json:"policy_rules"` Scanners int `json:"scanners"` Platform string `json:"platform"` K8sVersion string `json:"kube_version"` OCVersion string `json:"openshift_version"` CVEDBVersion string `json:"cvedb_version"` CVEDBCreateTime string `json:"cvedb_create_time"` CompoVersions []string `json:"component_versions"` }
type RESTSystemSummaryData ¶
type RESTSystemSummaryData struct {
Summary *RESTSystemSummary `json:"summary"`
}
type RESTSystemUsageReport ¶
type RESTSystemUsageReport struct { Signature string `json:"signature"` ReportedTS int64 `json:"reported_timestamp"` ReportedAt string `json:"reported_at"` Platform string `json:"platform"` Hosts int `json:"hosts"` CPUCores int `json:"cores"` Controllers int `json:"controllers"` Agents int `json:"enforcers"` Scanners int `json:"scanners"` CVEDBVersion string `json:"cvedb_version"` Registries int `json:"registries"` Domains int `json:"domains"` RunningPods int `json:"running_pods"` Groups int `json:"groups"` MonitorGroups int `json:"monitor_groups"` ProtectGroups int `json:"protect_groups"` PolicyRules int `json:"policy_rules"` AdmCtrlRules int `json:"adm_ctrl_rules"` RespRules int `json:"response_rules"` CRDRules int `json:"crd_rules"` Clusters int `json:"clusters"` SLessProjs int `json:"sl_projs"` InstallationID string `json:"installation_id"` }
func (*RESTSystemUsageReport) GetDomain ¶
func (o *RESTSystemUsageReport) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
type RESTSystemUsageReportData ¶
type RESTSystemUsageReportData struct { Usage []*RESTSystemUsageReport `json:"usage"` TelemetryStatus RESTTeleStatus `json:"telemetry_status"` }
type RESTSystemWebhookConfigData ¶
type RESTSystemWebhookConfigData struct {
Config *RESTWebhook `json:"config"`
}
type RESTTeleStatus ¶
type RESTTeleStatus struct { TeleFreq uint `json:"telemetry_freq"` TeleURL string `json:"telemetry_url"` CurrentVersion string `json:"current_version"` MinUpgradeVersion RESTUpgradeVersionInfo `json:"min_upgrade_version"` MaxUpgradeVersion RESTUpgradeVersionInfo `json:"max_upgrade_version"` LastTeleUploadTime string `json:"last_telemetry_upload_time"` }
type RESTThreatData ¶
type RESTThreatData struct {
Threat *Threat `json:"threat"`
}
type RESTThreatsData ¶
type RESTThreatsData struct {
Threats []*Threat `json:"threats"`
}
type RESTToken ¶
type RESTToken struct { Token string `json:"token"` GlobalPermits []*RESTRolePermission `json:"global_permissions"` DomainPermits map[string][]*RESTRolePermission `json:"domain_permissions"` // domain -> permissions list RESTUser }
type RESTTokenAuthServer ¶
type RESTTokenAuthServersData ¶
type RESTTokenAuthServersData struct {
Servers []*RESTTokenAuthServer `json:"servers"`
}
type RESTTokenAuthServersRedirectData ¶
type RESTTokenAuthServersRedirectData struct {
Redirect *RESTTokenAuthServerRedirect `json:"redirect"`
}
type RESTTokenData ¶
type RESTTokenData struct { Token *RESTToken `json:"token"` PwdDaysUntilExpire int `json:"password_days_until_expire"` // negative means we don't know it (for ldap/saml/oidc login). PwdHoursUntilExpire int `json:"password_hours_until_expire"` // the hours part beyond PwdDaysUntilExpire, 0 ~ 23 NeedToResetPassword bool `json:"need_to_reset_password"` // prompt the uer to login again & provide the new password to reset after login }
type RESTTokenRedirect ¶
type RESTTokenRedirect struct { // The NeuVector URL to redirect after authentication/logout. Redirect string `json:"redirect_endpoint"` // (Optional) // When absent, the redirect url will be used as issuer in SAML request. // When it is specified, the value here will be used as the issuer. // This is for Single Logout where redirect url and issue can be different. Issuer string `json:"issuer"` }
Used to generate redirect request for integration like SAML or OIDC.
type RESTUnquarReq ¶
type RESTUpgradeInfo ¶
type RESTUpgradeInfo struct { Version string `json:"version"` // must be in semantic versioning, like v5.0.0 ReleaseDate string `json:"release_date"` Tag string `json:"tag"` }
telemetry
type RESTUpgradeVersionInfo ¶
type RESTUser ¶
type RESTUser struct { Fullname string `json:"fullname"` Server string `json:"server"` Username string `json:"username"` Password string `json:"password,cloak"` EMail string `json:"email"` Role string `json:"role"` ExtraPermits []*RESTRolePermission `json:"extra_permissions,omitempty"` // extra permissions(other than 'Role') on global domain. only for Rancher SSO Timeout uint32 `json:"timeout"` Locale string `json:"locale"` DefaultPWD bool `json:"default_password"` // If the user is using default password ModifyPWD bool `json:"modify_password"` // if the password should be modified RoleDomains map[string][]string `json:"role_domains,omitempty"` // role -> domains ExtraPermitsDomains []RESTPermitsAssigned `json:"extra_permissions_domains,omitempty"` // list of extra permissions(other than 'RoleDomains') on namespaces. only for Rancher SSO RemoteRolePermits *RESTRemoteRolePermits `json:"remote_role_permissions,omitempty"` // permissions on managed clusters in fed. only for Rancher SSO LastLoginTimeStamp int64 `json:"last_login_timestamp"` LastLoginAt string `json:"last_login_at"` LoginCount uint32 `json:"login_count"` BlockedForFailedLogin bool `json:"blocked_for_failed_login"` // if the user is blocked for too mnay failed login BlockedForPwdExpired bool `json:"blocked_for_password_expired"` // if the user is blocked for expired password PwdResettable bool `json:"password_resettable"` // if the user's password can be reset by the current login user }
type RESTUserConfig ¶
type RESTUserConfig struct { Fullname string `json:"fullname"` Password *string `json:"password,omitempty,cloak"` NewPassword *string `json:"new_password,omitempty,cloak"` PwdProfile *string `json:"pwd_profile"` EMail *string `json:"email,omitempty"` Role *string `json:"role,omitempty"` Timeout *uint32 `json:"timeout,omitempty"` Locale *string `json:"locale,omitempty"` RoleDomains *map[string][]string `json:"role_domains,omitempty"` // role -> domains }
type RESTUserConfigData ¶
type RESTUserConfigData struct {
Config *RESTUserConfig `json:"config"`
}
type RESTUserData ¶
type RESTUserData struct {
User *RESTUser `json:"user"`
}
type RESTUserPermitOption ¶
type RESTUserPermitOption struct { ID string `json:"id"` ReadSupported bool `json:"read_supported"` WriteSupported bool `json:"write_supported"` }
custom role
type RESTUserPermitOptions ¶
type RESTUserPermitOptions struct { GlobalOptions []*RESTUserPermitOption `json:"global_options"` DomainOptions []*RESTUserPermitOption `json:"domain_options"` }
type RESTUserPwdConfig ¶
type RESTUserPwdConfig struct { Fullname string `json:"fullname"` ClearFailedLogin *bool `json:"clear_failed_login,omitempty"` NewPassword *string `json:"new_password,omitempty,cloak"` ForceResetPwd bool `json:"force_reset_password,omitempty"` ResetPwdInNextLogin bool `json:"reset_password_in_next_login,omitempty"` }
type RESTUserPwdConfigData ¶
type RESTUserPwdConfigData struct {
Config *RESTUserPwdConfig `json:"config"`
}
type RESTUserRole ¶
type RESTUserRole struct { Name string `json:"name"` Comment string `json:"comment"` Reserved bool `json:"reserved"` // true for pre-defined roles Permissions []*RESTRolePermission `json:"permissions"` }
type RESTUserRoleConfig ¶
type RESTUserRoleConfig struct { Name string `json:"name"` Comment string `json:"comment"` Permissions []*RESTRolePermission `json:"permissions"` }
type RESTUserRoleConfigData ¶
type RESTUserRoleConfigData struct {
Config *RESTUserRoleConfig `json:"config"`
}
type RESTUserRoleData ¶
type RESTUserRoleData struct {
Role *RESTUserRole `json:"role"`
}
type RESTUserRoleDomainsConfig ¶
type RESTUserRoleDomainsConfig struct { Fullname string `json:"fullname"` Role string `json:"role"` Domains []string `json:"domains"` }
Used by CLI to set one role domain at a time.
type RESTUserRoleDomainsConfigData ¶
type RESTUserRoleDomainsConfigData struct {
Config *RESTUserRoleDomainsConfig `json:"config"`
}
type RESTUserRolesData ¶
type RESTUserRolesData struct {
Roles []*RESTUserRole `json:"roles"`
}
type RESTUserRolesDataCfgMap ¶
type RESTUserRolesDataCfgMap struct { RESTUserRolesData AlwaysReload bool `json:"always_reload"` }
type RESTUsersData ¶
type RESTUsersDataCfgMap ¶
type RESTUsersDataCfgMap struct { RESTUsersData AlwaysReload bool `json:"always_reload"` }
type RESTViolationWorkload ¶
type RESTViolationWorkload struct { Workload *RESTWorkloadBrief `json:"workload"` Count int `json:"count"` }
type RESTVulQueryStats ¶
type RESTVulQueryStats struct { TotalRecordCount int `json:"total_records"` TotalMatchedRecordCount int `json:"total_matched_records"` QueryToken string `json:"query_token"` PerfStats []string `json:"debug_perf_stats"` Summary *VulAssetSessionSummary `json:"summary"` }
type RESTVulnPackageVersion ¶
type RESTVulnProfilesExport ¶
type RESTVulnProfilesExport struct { Names []string `json:"names"` RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
vlunerability profile export. only support "default" profile to export(5.3+)
type RESTVulnerability ¶
type RESTVulnerability struct { Name string `json:"name"` Score float32 `json:"score"` Severity string `json:"severity"` Vectors string `json:"vectors"` Description string `json:"description"` FileName string `json:"file_name"` PackageName string `json:"package_name"` PackageVersion string `json:"package_version"` FixedVersion string `json:"fixed_version"` Link string `json:"link"` ScoreV3 float32 `json:"score_v3"` VectorsV3 string `json:"vectors_v3"` PublishedTS int64 `json:"published_timestamp"` LastModTS int64 `json:"last_modified_timestamp"` CPEs []string `json:"cpes,omitempty"` CVEs []string `json:"cves,omitempty"` FeedRating string `json:"feed_rating"` InBaseImage bool `json:"in_base_image,omitempty"` Tags []string `json:"tags,omitempty"` DbKey string `json:"-"` }
type RESTVulnerabilityAsset ¶
type RESTVulnerabilityAsset struct { Name string `json:"name"` Severity string `json:"severity"` Description string `json:"description"` Packages map[string][]RESTVulnPackageVersion `json:"packages"` Link string `json:"link"` Score float32 `json:"score"` Vectors string `json:"vectors"` ScoreV3 float32 `json:"score_v3"` VectorsV3 string `json:"vectors_v3"` PublishedTS int64 `json:"published_timestamp"` LastModTS int64 `json:"last_modified_timestamp"` Workloads []string `json:"workloads"` Nodes []string `json:"nodes"` Images []string `json:"images"` Platforms []string `json:"platforms"` }
type RESTVulnerabilityAssetData ¶
type RESTVulnerabilityAssetData struct { Vuls []*RESTVulnerabilityAsset `json:"vulnerabilities"` Workloads map[string][]RESTIDName `json:"workloads"` Nodes map[string][]RESTIDName `json:"nodes"` Images map[string][]RESTIDName `json:"images"` Platforms map[string][]RESTIDName `json:"platforms"` }
type RESTVulnerabilityAssetDataV2 ¶
type RESTVulnerabilityAssetDataV2 struct { Vuls []*RESTVulnerabilityAssetV2 `json:"vulnerabilities"` QuickFilterMatched int `json:"qf_matched_records"` PerfStats []string `json:"debug_perf_stats,omitempty"` }
type RESTVulnerabilityAssetV2 ¶
type RESTVulnerabilityAssetV2 struct { Name string `json:"name"` Severity string `json:"severity"` Description string `json:"description"` Packages map[string][]RESTVulnPackageVersion `json:"packages"` Link string `json:"link"` Score float32 `json:"score"` Vectors string `json:"vectors"` ScoreV3 float32 `json:"score_v3"` VectorsV3 string `json:"vectors_v3"` PublishedTS int64 `json:"published_timestamp"` LastModTS int64 `json:"last_modified_timestamp"` Workloads []*RESTWorkloadAsset `json:"workloads,omitempty"` WorkloadIDs []string `json:"-"` Nodes []*RESTHostAsset `json:"nodes,omitempty"` NodesIDs []string `json:"-"` Images []*RESTImageAsset `json:"images,omitempty"` ImagesIDs []string `json:"-"` Platforms []*RESTPlatformAsset `json:"platforms,omitempty"` PlatformsIDs []string `json:"-"` }
type RESTVulnerabilityProfile ¶
type RESTVulnerabilityProfile struct { Name string `json:"name"` Entries []RESTVulnerabilityProfileEntry `json:"entries"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround (see above) }
type RESTVulnerabilityProfileConfig ¶
type RESTVulnerabilityProfileConfig struct { Name string `json:"name"` Entries *[]*RESTVulnerabilityProfileEntry `json:"entries,omitempty"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround (see above) }
type RESTVulnerabilityProfileConfigData ¶
type RESTVulnerabilityProfileConfigData struct {
Config *RESTVulnerabilityProfileConfig `json:"config"`
}
type RESTVulnerabilityProfileData ¶
type RESTVulnerabilityProfileData struct {
Profile *RESTVulnerabilityProfile `json:"profile"`
}
type RESTVulnerabilityProfileEntryConfigData ¶
type RESTVulnerabilityProfileEntryConfigData struct {
Config *RESTVulnerabilityProfileEntry `json:"config"`
}
type RESTVulnerabilityProfilesData ¶
type RESTVulnerabilityProfilesData struct {
Profiles []*RESTVulnerabilityProfile `json:"profiles"`
}
type RESTWafConfig ¶
type RESTWafCriteriaEntry ¶
type RESTWafGroup ¶
type RESTWafGroup struct { Name string `json:"name"` Status bool `json:"status"` Sensors []*RESTWafSetting `json:"sensors"` CfgType string `json:"cfg_type"` // CfgTypeUserCreated / CfgTypeGround }
type RESTWafGroupConfig ¶
type RESTWafGroupConfig struct { Name string `json:"name"` Status *bool `json:"status,omitempty"` DelSensors *[]string `json:"delete,omitempty"` //delete list used by CLI Sensors *[]RESTWafConfig `json:"sensors,omitempty"` //change list used by CLI RepSensors *[]RESTWafConfig `json:"replace,omitempty"` //replace list used by GUI }
type RESTWafGroupConfigData ¶
type RESTWafGroupConfigData struct {
Config *RESTWafGroupConfig `json:"config"`
}
type RESTWafGroupData ¶
type RESTWafGroupData struct {
WafGroup *RESTWafGroup `json:"waf_group"`
}
type RESTWafGroupsData ¶
type RESTWafGroupsData struct {
WafGroups []*RESTWafGroup `json:"waf_groups"`
}
type RESTWafRule ¶
type RESTWafRule struct { Name string `json:"name"` // simple rule anme ID uint32 `json:"id"` Patterns []RESTWafCriteriaEntry `json:"patterns"` CfgType string `json:"cfg_type"` }
type RESTWafRuleData ¶
type RESTWafRuleData struct {
Rule *RESTWafRuleDetail `json:"rule"`
}
type RESTWafRuleDetail ¶
type RESTWafRuleDetail struct { Sensors []string `json:"sensors"` Rules []*RESTWafRule `json:"rules"` }
type RESTWafRulesData ¶
type RESTWafRulesData struct {
Rules []*RESTWafRule `json:"rules"`
}
type RESTWafSensor ¶
type RESTWafSensorConfig ¶
type RESTWafSensorConfig struct { Name string `json:"name"` RuleChgList *[]RESTWafRule `json:"change,omitempty"` //change list used by CLI RuleDelList *[]RESTWafRule `json:"delete,omitempty"` //delete list used by CLI Rules *[]RESTWafRule `json:"rules,omitempty"` //replace list used by GUI Comment *string `json:"comment,omitempty"` }
type RESTWafSensorConfigData ¶
type RESTWafSensorConfigData struct {
Config *RESTWafSensorConfig `json:"config"`
}
type RESTWafSensorData ¶
type RESTWafSensorData struct {
Sensor *RESTWafSensor `json:"sensor"`
}
type RESTWafSensorExport ¶
type RESTWafSensorExport struct { Names []string `json:"names"` RemoteExportOptions *RESTRemoteExportOptions `json:"remote_export_options,omitempty"` }
type RESTWafSensorsData ¶
type RESTWafSensorsData struct {
Sensors []*RESTWafSensor `json:"sensors"`
}
type RESTWafSetting ¶
type RESTWebhook ¶
type RESTWorkload ¶
type RESTWorkload struct { RESTWorkloadBrief AgentID string `json:"enforcer_id"` AgentName string `json:"enforcer_name"` NetworkMode string `json:"network_mode"` CreatedAt string `json:"created_at"` StartedAt string `json:"started_at"` FinishedAt string `json:"finished_at"` Running bool `json:"running"` SecuredAt string `json:"secured_at"` ExitCode int `json:"exit_code"` Ifaces map[string][]*RESTIPAddr `json:"interfaces"` Ports []*RESTWorkloadPorts `json:"ports"` Labels map[string]string `json:"labels"` Applications []string `json:"applications"` MemoryLimit int64 `json:"memory_limit"` CPUs string `json:"cpus"` Children []*RESTWorkload `json:"children"` ServiceAccount string `json:"service_account"` }
type RESTWorkloadAsset ¶
type RESTWorkloadAssetView ¶
type RESTWorkloadAssetView struct { ID string `json:"id"` Name string `json:"name"` Domain string `json:"domain"` Image string `json:"image"` Applications []string `json:"applications"` PolicyMode string `json:"policy_mode"` ServiceGroup string `json:"service_group"` High int `json:"high"` Medium int `json:"medium"` Low int `json:"low"` Vulnerabilities []string `json:"vulnerabilities"` ScannedAt string `json:"scanned_at"` }
type RESTWorkloadBrief ¶
type RESTWorkloadBrief struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` PodName string `json:"pod_name"` HostName string `json:"host_name"` HostID string `json:"host_id"` Image string `json:"image"` ImageID string `json:"image_id"` ImgCreateAt string `json:"image_created_at"` ImgRegScand bool `json:"image_reg_scanned"` PlatformRole string `json:"platform_role"` Domain string `json:"domain"` State string `json:"state"` Service string `json:"service"` Author string `json:"author"` ServiceGroup string `json:"service_group"` CapSniff bool `json:"cap_sniff"` HasDatapath bool `json:"has_datapath"` CapQuar bool `json:"cap_quarantine"` CapChgMode bool `json:"cap_change_mode"` PolicyMode string `json:"policy_mode"` ProfileMode string `json:"profile_mode"` ScanSummary *RESTScanBrief `json:"scan_summary"` Children []*RESTWorkloadBrief `json:"children"` QuarReason string `json:"quarantine_reason,omitempty"` ServiceMesh bool `json:"service_mesh"` ServiceMeshSidecar bool `json:"service_mesh_sidecar"` Privileged bool `json:"privileged"` RunAsRoot bool `json:"run_as_root"` BaselineProfile string `json:"baseline_profile"` }
func (*RESTWorkloadBrief) GetDomain ¶
func (o *RESTWorkloadBrief) GetDomain(f share.GetAccessObjectFunc) ([]string, []string)
NOTE: This is a special case. Only read is authorized, but there is no data structure associated
with the write action. We use this object to authorize again.
type RESTWorkloadBriefV2 ¶
type RESTWorkloadBriefV2 struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` HostName string `json:"host_name"` HostID string `json:"host_id"` Image string `json:"image"` ImageID string `json:"image_id"` ImgCreateAt string `json:"image_created_at"` ImgRegScand bool `json:"image_reg_scanned"` Domain string `json:"domain"` State string `json:"state"` Service string `json:"service"` Author string `json:"author"` ServiceGroup string `json:"service_group"` }
type RESTWorkloadConfig ¶
type RESTWorkloadConfigCfg ¶
type RESTWorkloadConfigCfg struct { Wire *string `json:"wire,omitempty"` Quarantine *bool `json:"quarantine,omitempty"` }
Omit fields indicate that it's not modified.
type RESTWorkloadConfigCfgData ¶
type RESTWorkloadConfigCfgData struct {
Config *RESTWorkloadConfigCfg `json:"config"`
}
type RESTWorkloadConfigData ¶
type RESTWorkloadConfigData struct {
Config *RESTWorkloadConfig `json:"config"`
}
type RESTWorkloadDetail ¶
type RESTWorkloadDetail struct { RESTWorkload Groups []string `json:"groups"` AppPorts map[string]string `json:"app_ports"` Children []*RESTWorkloadDetail `json:"children"` }
type RESTWorkloadDetailData ¶
type RESTWorkloadDetailData struct {
Workload *RESTWorkloadDetail `json:"workload"`
}
type RESTWorkloadDetailDataV2 ¶
type RESTWorkloadDetailDataV2 struct {
Workload *RESTWorkloadDetailV2 `json:"workload"`
}
type RESTWorkloadDetailMiscV2 ¶
type RESTWorkloadDetailMiscV2 struct { Groups []string `json:"groups"` AppPorts map[string]string `json:"app_ports"` Children []*RESTWorkloadDetailV2 `json:"children"` }
type RESTWorkloadDetailV2 ¶
type RESTWorkloadDetailV2 struct { RESTWorkloadV2 Misc RESTWorkloadDetailMiscV2 `json:"misc"` }
type RESTWorkloadIntercept ¶
type RESTWorkloadIntercept struct { ID string `json:"id"` Inline bool `json:"inline"` Quarantine bool `json:"quarantine"` Ports []*RESTWorkloadInterceptPort `json:"ports"` }
type RESTWorkloadInterceptData ¶
type RESTWorkloadInterceptData struct {
Intercept *RESTWorkloadIntercept `json:"intercept"`
}
type RESTWorkloadInterceptPort ¶
type RESTWorkloadInterceptPort struct { Port string `json:"port"` Peer string `json:"peer"` MAC string `json:"mac"` UCMAC string `json:"uc_mac"` BCMAC string `json:"bc_mac"` InPort string `json:"in_port"` ExPort string `json:"ex_port"` InPortRules string `json:"in_rules"` ExPortRules string `json:"ex_rules"` EnforcerRules string `json:"enforcer_rules"` }
type RESTWorkloadPorts ¶
type RESTWorkloadPorts struct { RESTProtoPort HostIP string `json:"host_ip"` HostPort uint16 `json:"host_port"` }
type RESTWorkloadRequest ¶
type RESTWorkloadRequest struct {
Command string `json:"command,omitempty"`
}
type RESTWorkloadRequestData ¶
type RESTWorkloadRequestData struct {
Request RESTWorkloadRequest `json:"request"`
}
type RESTWorkloadRtAttribesV2 ¶
type RESTWorkloadRtAttribesV2 struct { PodName string `json:"pod_name"` Privileged bool `json:"privileged"` RunAsRoot bool `json:"run_as_root"` Labels map[string]string `json:"labels"` MemoryLimit int64 `json:"memory_limit"` CPUs string `json:"cpus"` ServiceAccount string `json:"service_account"` NetworkMode string `json:"network_mode"` Ifaces map[string][]*RESTIPAddr `json:"interfaces"` Ports []*RESTWorkloadPorts `json:"ports"` Applications []string `json:"applications"` }
type RESTWorkloadSecurityV2 ¶
type RESTWorkloadSecurityV2 struct { CapSniff bool `json:"cap_sniff"` CapQuar bool `json:"cap_quarantine"` CapChgMode bool `json:"cap_change_mode"` ServiceMesh bool `json:"service_mesh"` ServiceMeshSidecar bool `json:"service_mesh_sidecar"` PolicyMode string `json:"policy_mode"` ProfileMode string `json:"profile_mode"` BaselineProfile string `json:"baseline_profile"` QuarReason string `json:"quarantine_reason,omitempty"` ScanSummary *RESTScanBrief `json:"scan_summary"` }
type RESTWorkloadStatsData ¶
type RESTWorkloadV2 ¶
type RESTWorkloadV2 struct { WlBrief RESTWorkloadBriefV2 `json:"brief"` WlSecurity RESTWorkloadSecurityV2 `json:"security"` WlRtAttributes RESTWorkloadRtAttribesV2 `json:"rt_attributes"` Children []*RESTWorkloadV2 `json:"children"` AgentID string `json:"enforcer_id"` AgentName string `json:"enforcer_name"` PlatformRole string `json:"platform_role"` CreatedAt string `json:"created_at"` StartedAt string `json:"started_at"` FinishedAt string `json:"finished_at"` Running bool `json:"running"` SecuredAt string `json:"secured_at"` ExitCode int `json:"exit_code"` }
type RESTWorkloadsBriefData ¶
type RESTWorkloadsBriefData struct {
Workloads []*RESTWorkloadBrief `json:"workloads"`
}
type RESTWorkloadsData ¶
type RESTWorkloadsData struct {
Workloads []*RESTWorkload `json:"workloads"`
}
type RESTWorkloadsDataV2 ¶
type RESTWorkloadsDataV2 struct {
Workloads []*RESTWorkloadV2 `json:"workloads"` // for pagination, manager needs each layer in workload object to have <22 members
}
type RESTX509CertInfo ¶
type REST_SigstoreRootOfTrustCollection ¶
type REST_SigstoreRootOfTrustCollection struct {
RootsOfTrust []REST_SigstoreRootOfTrust_GET `json:"roots_of_trust"`
}
type REST_SigstoreRootOfTrust_GET ¶
type REST_SigstoreRootOfTrust_GET struct { Name string `json:"name"` IsPrivate bool `json:"is_private"` RootlessKeypairsOnly bool `json:"rootless_keypairs_only"` RekorPublicKey string `json:"rekor_public_key,omitempty"` RootCert string `json:"root_cert,omitempty"` SCTPublicKey string `json:"sct_public_key,omitempty"` Verifiers []REST_SigstoreVerifier `json:"verifiers,omitempty"` CfgType string `json:"cfg_type"` Comment string `json:"comment"` }
type REST_SigstoreRootOfTrust_POST ¶
type REST_SigstoreRootOfTrust_POST struct { Name string `json:"name"` IsPrivate bool `json:"is_private"` RootlessKeypairsOnly bool `json:"rootless_keypairs_only"` RekorPublicKey string `json:"rekor_public_key,omitempty"` RootCert string `json:"root_cert,omitempty"` SCTPublicKey string `json:"sct_public_key,omitempty"` Comment string `json:"comment"` }
type REST_SigstoreVerifier ¶
type REST_SigstoreVerifierCollection ¶
type REST_SigstoreVerifierCollection struct {
Verifiers []REST_SigstoreVerifier `json:"verifiers"`
}
type Threat ¶
type Threat struct { LogCommon ID string `json:"id"` ThreatID uint32 `json:"threat_id"` ClientWL string `json:"client_workload_id"` ClientWLName string `json:"client_workload_name"` ClientWLDomain string `json:"client_workload_domain,omitempty"` ClientWLImage string `json:"client_workload_image,omitempty"` ClientWLService string `json:"client_workload_service,omitempty"` ServerWL string `json:"server_workload_id"` ServerWLName string `json:"server_workload_name"` ServerWLDomain string `json:"server_workload_domain,omitempty"` ServerWLImage string `json:"server_workload_image,omitempty"` ServerWLService string `json:"server_workload_service,omitempty"` Severity string `json:"severity"` Action string `json:"action"` Count uint32 `json:"count"` EtherType uint16 `json:"ether_type"` ClientPort uint16 `json:"client_port"` ServerPort uint16 `json:"server_port"` ServerConnPort uint16 `json:"server_conn_port"` ICMPCode uint8 `json:"icmp_code"` ICMPType uint8 `json:"icmp_type"` IPProto uint8 `json:"ip_proto"` ClientIP string `json:"client_ip"` ServerIP string `json:"server_ip"` Application string `json:"application"` Sensor string `json:"sensor"` Group string `json:"group"` Target string `json:"target"` Monitor bool `json:"monitor"` CapLen uint16 `json:"cap_len,omitempty"` Packet string `json:"packet,omitempty"` Msg string `json:"message"` }
type User ¶
type User struct { Resource Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` Conditions []UserCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` Created string `json:"created,omitempty" yaml:"created,omitempty"` CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` Me bool `json:"me,omitempty" yaml:"me,omitempty"` MustChangePassword bool `json:"mustChangePassword,omitempty" yaml:"mustChangePassword,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` Password string `json:"password,omitempty" yaml:"password,omitempty"` PrincipalIDs []string `json:"principalIds,omitempty" yaml:"principalIds,omitempty"` Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` Username string `json:"username,omitempty" yaml:"username,omitempty"` }
type UserAccessControl ¶
type UserAccessControl struct { LoginName string LoginID string LoginType int Op string Roles map[string]string // domain -> role WRoles map[string]string // special domain(containing wildcard char) -> role ExtraPermits map[string]share.NvPermissions // domain -> permissions. only for Rancher SSO ApiCategoryID int8 RequiredPermissions uint32 BoostPermissions uint32 }
type UserCollection ¶
type UserCollection struct { Collection Data []User `json:"data,omitempty"` }
type UserCondition ¶
type UserCondition struct { LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` Message string `json:"message,omitempty" yaml:"message,omitempty"` Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` Type string `json:"type,omitempty" yaml:"type,omitempty"` }
type Violation ¶
type Violation struct { LogCommon ID string `json:"id"` ClientWL string `json:"client_id"` ClientName string `json:"client_name"` ClientDomain string `json:"client_domain,omitempty"` ClientImage string `json:"client_image,omitempty"` ClientService string `json:"client_service,omitempty"` ServerWL string `json:"server_id"` ServerName string `json:"server_name"` ServerDomain string `json:"server_domain,omitempty"` ServerImage string `json:"server_image,omitempty"` ServerService string `json:"server_service,omitempty"` ServerPort uint16 `json:"server_port"` IPProto uint8 `json:"ip_proto"` Applications []string `json:"applications"` Servers []string `json:"servers"` Sessions uint32 `json:"sessions"` PolicyAction string `json:"policy_action"` PolicyID uint32 `json:"policy_id"` ClientIP string `json:"client_ip"` ServerIP string `json:"server_ip"` FQDN string `json:"fqdn"` Xff bool `json:"xff"` Nbe bool `json:"nbe"` }
type VulAssetCountDist ¶
type VulAssetCountDist struct { Critical int `json:"critical,omitempty"` High int `json:"high"` Medium int `json:"medium"` Low int `json:"low"` Platforms int `json:"platform"` Images int `json:"image"` Nodes int `json:"node"` Containers int `json:"container"` }
func (VulAssetCountDist) MarshalJSON ¶
func (c VulAssetCountDist) MarshalJSON() ([]byte, error)
temporarily revert critical cve logic
type VulAssetSessionSummary ¶
type VulAssetSessionSummary struct { CountDist *VulAssetCountDist `json:"count_distribution"` TopImages []*AssetCVECount `json:"top_images"` TopNodes []*AssetCVECount `json:"top_nodes"` }
type VulQueryFilterViewModel ¶
type VulQueryFilterViewModel struct { PackageType string `json:"packageType"` SeverityType string `json:"severityType"` ScoreType string `json:"scoreType"` PublishedType string `json:"publishedType"` PublishedTime int64 `json:"publishedTime"` MatchType4Ns string `json:"matchTypeNs"` SelectedDomains []string `json:"selectedDomains"` ServiceName string `json:"serviceName"` ImageName string `json:"imageName"` NodeName string `json:"nodeName"` ContainerName string `json:"containerName"` ServiceNameMatchType string `json:"matchTypeService"` ImageNameMatchType string `json:"matchTypeImage"` NodeNameMatchType string `json:"matchTypeNode"` ContainerNameMatchType string `json:"matchTypeContainer"` ScoreV2 []int `json:"scoreV2"` ScoreV3 []int `json:"scoreV3"` QuickFilter string `json:"quickFilter"` OrderByColumn string `json:"orderbyColumn"` OrderByType string `json:"orderby"` ViewType string `json:"viewType"` //specific for /v1/assetvul LastModifiedTime int64 `json:"last_modified_timestamp"` DebugCVEName string `json:"debugcve"` }
for Vulnerability Page