Documentation ¶
Index ¶
- Constants
- Variables
- func AdoptClusterName(clusterName string) string
- func ConfigFileFullPath() string
- func ConvertLabelsToString(labels map[string]string) string
- func ConvertStringToLabels(labelsStr string) map[string]string
- func DeleteConfigFile() error
- func ExecName() string
- func Float16ToInt(x float32) int
- func Float32ToInt(x float32) int
- func Float64ToInt(x float64) int
- func GetControlLink(controlID string) string
- func GetKustomizeDirectoryName(path string) string
- func GetValueFromConfigJson(key string) (string, error)
- func IsDir(name string) bool
- func IsFile(name string) bool
- func IsHelmDirectory(path string) (bool, error)
- func IsJson(filePath string) bool
- func IsKrewPlugin() bool
- func IsKustomizeDirectory(path string) bool
- func IsKustomizeFile(path string) bool
- func IsYaml(filePath string) bool
- func LoadResourcesFromFiles(ctx context.Context, input, rootPath string) map[string][]workloadinterface.IMetadata
- func LoadResourcesFromHelmCharts(ctx context.Context, basePath string) (map[string][]workloadinterface.IMetadata, map[string]string)
- func LoadResourcesFromKustomizeDirectory(ctx context.Context, basePath string) (map[string][]workloadinterface.IMetadata, string)
- func MapCloudResources(ksResourceMap *KSResources) []string
- func MapHostResources(ksResourceMap *KSResources) []string
- func MapImageVulnResources(ksResourceMap *KSResources) []string
- func MapKSResource(ksResourceMap *KSResources, resources []string) []string
- func PrettyJson(data interface{}) ([]byte, error)
- func ReadFile(fileContent []byte, fileFormat FileFormat) ([]workloadinterface.IMetadata, error)
- func ReportV2ToV1(opaSessionObj *OPASessionObj) *reporthandling.PostureReport
- func ScanningContextToScanningScope(scanningContext ScanningContext) string
- func SetInfoMapForResources(info string, resources []string, errorMap map[string]apis.StatusInfo)
- func StartSpinner()
- func StopSpinner()
- func StringInSlice(strSlice []string, str string) int
- type BoolPtrFlag
- type CloudURLs
- type ClusterConfig
- func (c *ClusterConfig) DeleteCachedConfig(ctx context.Context) error
- func (c *ClusterConfig) GetAccountID() string
- func (c *ClusterConfig) GetClientID() string
- func (c *ClusterConfig) GetCloudAPIURL() string
- func (c *ClusterConfig) GetCloudAuthURL() string
- func (c *ClusterConfig) GetCloudReportURL() string
- func (c *ClusterConfig) GetCloudUIURL() string
- func (c *ClusterConfig) GetConfigObj() *ConfigObj
- func (c *ClusterConfig) GetContextName() string
- func (c *ClusterConfig) GetDefaultNS() string
- func (c *ClusterConfig) GetSecretKey() string
- func (c *ClusterConfig) GetTenantEmail() string
- func (c *ClusterConfig) GetToken() string
- func (c *ClusterConfig) GetValueByKeyFromConfigMap(key string) (string, error)
- func (c *ClusterConfig) IsConfigFound() bool
- func (clusterConfig *ClusterConfig) IsRegistered() bool
- func (clusterConfig *ClusterConfig) IsSubmitted() bool
- func (c *ClusterConfig) SetKeyValueInConfigmap(key string, value string) error
- func (c *ClusterConfig) SetTenant() error
- func (c *ClusterConfig) ToMapString() map[string]interface{}
- func (c *ClusterConfig) UpdateCachedConfig() error
- type ComponentConfig
- type ConfigObj
- type Credentials
- type Exception
- type FileFormat
- type Getters
- type HelmChart
- func (hc *HelmChart) GetDefaultValues() map[string]interface{}
- func (hc *HelmChart) GetName() string
- func (hc *HelmChart) GetWorkloads(values map[string]interface{}) (map[string][]workloadinterface.IMetadata, []error)
- func (hc *HelmChart) GetWorkloadsWithDefaultValues() (map[string][]workloadinterface.IMetadata, []error)
- type ITenantConfig
- type IVersionCheckHandler
- type K8SResources
- type KSResources
- type KustomizeDirectory
- type LocalConfig
- func (lc *LocalConfig) DeleteCachedConfig(ctx context.Context) error
- func (lc *LocalConfig) GetAccountID() string
- func (lc *LocalConfig) GetClientID() string
- func (lc *LocalConfig) GetCloudAPIURL() string
- func (lc *LocalConfig) GetCloudAuthURL() string
- func (lc *LocalConfig) GetCloudReportURL() string
- func (lc *LocalConfig) GetCloudUIURL() string
- func (lc *LocalConfig) GetConfigObj() *ConfigObj
- func (lc *LocalConfig) GetContextName() string
- func (lc *LocalConfig) GetSecretKey() string
- func (lc *LocalConfig) GetTenantEmail() string
- func (lc *LocalConfig) GetToken() string
- func (lc *LocalConfig) IsConfigFound() bool
- func (lc *LocalConfig) SetTenant() error
- func (lc *LocalConfig) UpdateCachedConfig() error
- type LocalGitRepository
- func (g *LocalGitRepository) GetBranchName() string
- func (g LocalGitRepository) GetFileLastCommit(filePath string) (*apis.Commit, error)
- func (g *LocalGitRepository) GetLastCommit() (*apis.Commit, error)
- func (g *LocalGitRepository) GetName() (string, error)
- func (g *LocalGitRepository) GetRemoteUrl() (string, error)
- func (g *LocalGitRepository) GetRootDir() (string, error)
- type OPASessionObj
- type Policies
- type PolicyIdentifier
- type ProgressHandler
- type RBACObjects
- type RegoInputData
- type RootInfo
- type ScanInfo
- type ScanningContext
- type VersionCheckHandler
- type VersionCheckHandlerMock
- type VersionCheckRequest
- type VersionCheckResponse
- type ViewTypes
Constants ¶
const ( ScopeCluster = "cluster" ScopeYAML = "yaml" )
const ( LocalExceptionsFilename string = "exceptions.json" LocalAttackTracksFilename string = "attack-tracks.json" )
const CLIENT_ENV = "KS_CLIENT"
const SKIP_VERSION_CHECK_DEPRECATED_ENV = "KUBESCAPE_SKIP_UPDATE_CHECK"
const SKIP_VERSION_CHECK_ENV = "KS_SKIP_UPDATE_CHECK"
const UnknownBuildNumber = "unknown"
const ValueNotFound = -1
Variables ¶
var ( CustomerGUID = "" ClusterName = "" )
Kubescape Cloud environment vars
var ( YAML_PREFIX = []string{"yaml", "yml"} JSON_PREFIX = []string{"json"} )
var ( ImageVulnResources = []string{"ImageVulnerabilities"} HostSensorResources = []string{"KubeletConfiguration", "KubeletCommandLine", "OsReleaseFile", "KernelVersion", "LinuxSecurityHardeningStatus", "OpenPortsList", "LinuxKernelVariables", "KubeletInfo", "KubeProxyInfo", "ControlPlaneInfo", "CloudProviderInfo", "CNIInfo", } CloudResources = []string{ cloudapis.CloudProviderDescribeKind, cloudapis.CloudProviderDescribeRepositoriesKind, cloudapis.CloudProviderListEntitiesForPoliciesKind, cloudapis.CloudProviderPolicyVersionKind, string(cloudsupport.TypeApiServerInfo), } )
var BuildNumber string
var Client string
var ErrFatalNotSupportedByBuild = errors.New(`git scan not supported by this build. Build with tag "gitenabled" to enable the git scan feature`)
var ErrWarnNotSupportedByBuild = errors.New(`git commits retrieval not supported by this build. Build with tag "gitenabled" to enable the full git scan feature`)
var InfoTextDisplay = color.New(color.Bold, color.FgHiYellow).FprintfFunc()
var LatestReleaseVersion string
var SimpleDisplay = color.New().FprintfFunc()
var WarningDisplay = color.New(color.Bold, color.FgHiYellow).FprintfFunc()
Functions ¶
func AdoptClusterName ¶
func ConfigFileFullPath ¶
func ConfigFileFullPath() string
func ConvertLabelsToString ¶
func ConvertStringToLabels ¶
ConvertStringToLabels convert a string "a=b;c=d" to map: {"a":"b", "c":"d"}
func DeleteConfigFile ¶
func DeleteConfigFile() error
func ExecName ¶
func ExecName() string
ExecName returns the correct name to use in examples depending on how kubescape is invoked
func GetControlLink ¶
func GetValueFromConfigJson ¶
func IsHelmDirectory ¶
func IsKrewPlugin ¶
func IsKrewPlugin() bool
func IsKustomizeDirectory ¶
func IsKustomizeFile ¶
Used for checking if the path is Kustomization file.
func LoadResourcesFromFiles ¶
func LoadResourcesFromHelmCharts ¶
func LoadResourcesFromHelmCharts(ctx context.Context, basePath string) (map[string][]workloadinterface.IMetadata, map[string]string)
LoadResourcesFromHelmCharts scans a given path (recursively) for helm charts, renders the templates and returns a map of workloads and a map of chart names
func LoadResourcesFromKustomizeDirectory ¶
func LoadResourcesFromKustomizeDirectory(ctx context.Context, basePath string) (map[string][]workloadinterface.IMetadata, string)
If the contents at given path is a Kustomize Directory, LoadResourcesFromKustomizeDirectory will generate yaml files using "Kustomize" & renders a map of workloads from those yaml files
func MapCloudResources ¶
func MapCloudResources(ksResourceMap *KSResources) []string
func MapHostResources ¶
func MapHostResources(ksResourceMap *KSResources) []string
func MapImageVulnResources ¶
func MapImageVulnResources(ksResourceMap *KSResources) []string
func MapKSResource ¶
func MapKSResource(ksResourceMap *KSResources, resources []string) []string
func PrettyJson ¶
func ReadFile ¶
func ReadFile(fileContent []byte, fileFormat FileFormat) ([]workloadinterface.IMetadata, error)
func ReportV2ToV1 ¶
func ReportV2ToV1(opaSessionObj *OPASessionObj) *reporthandling.PostureReport
func ScanningContextToScanningScope ¶
func ScanningContextToScanningScope(scanningContext ScanningContext) string
ScanningContextToScanningScope convert the context to the deprecated scope
func SetInfoMapForResources ¶
func SetInfoMapForResources(info string, resources []string, errorMap map[string]apis.StatusInfo)
func StartSpinner ¶
func StartSpinner()
func StopSpinner ¶
func StopSpinner()
func StringInSlice ¶
Types ¶
type BoolPtrFlag ¶
type BoolPtrFlag struct {
// contains filtered or unexported fields
}
func NewBoolPtr ¶
func NewBoolPtr(b *bool) BoolPtrFlag
func (*BoolPtrFlag) Get ¶
func (bpf *BoolPtrFlag) Get() *bool
func (*BoolPtrFlag) GetBool ¶
func (bpf *BoolPtrFlag) GetBool() bool
func (*BoolPtrFlag) Set ¶
func (bpf *BoolPtrFlag) Set(val string) error
func (*BoolPtrFlag) SetBool ¶
func (bpf *BoolPtrFlag) SetBool(val bool)
func (*BoolPtrFlag) String ¶
func (bpf *BoolPtrFlag) String() string
func (*BoolPtrFlag) Type ¶
func (bpf *BoolPtrFlag) Type() string
type ClusterConfig ¶
type ClusterConfig struct {
// contains filtered or unexported fields
}
func NewClusterConfig ¶
func NewClusterConfig(k8s *k8sinterface.KubernetesApi, backendAPI getter.IBackend, credentials *Credentials, clusterName string, customClusterName string) *ClusterConfig
func (*ClusterConfig) DeleteCachedConfig ¶
func (c *ClusterConfig) DeleteCachedConfig(ctx context.Context) error
func (*ClusterConfig) GetAccountID ¶
func (c *ClusterConfig) GetAccountID() string
func (*ClusterConfig) GetClientID ¶
func (c *ClusterConfig) GetClientID() string
func (*ClusterConfig) GetCloudAPIURL ¶
func (c *ClusterConfig) GetCloudAPIURL() string
func (*ClusterConfig) GetCloudAuthURL ¶
func (c *ClusterConfig) GetCloudAuthURL() string
func (*ClusterConfig) GetCloudReportURL ¶
func (c *ClusterConfig) GetCloudReportURL() string
func (*ClusterConfig) GetCloudUIURL ¶
func (c *ClusterConfig) GetCloudUIURL() string
func (*ClusterConfig) GetConfigObj ¶
func (c *ClusterConfig) GetConfigObj() *ConfigObj
func (*ClusterConfig) GetContextName ¶
func (c *ClusterConfig) GetContextName() string
func (*ClusterConfig) GetDefaultNS ¶
func (c *ClusterConfig) GetDefaultNS() string
func (*ClusterConfig) GetSecretKey ¶
func (c *ClusterConfig) GetSecretKey() string
func (*ClusterConfig) GetTenantEmail ¶
func (c *ClusterConfig) GetTenantEmail() string
func (*ClusterConfig) GetToken ¶
func (c *ClusterConfig) GetToken() string
func (*ClusterConfig) GetValueByKeyFromConfigMap ¶
func (c *ClusterConfig) GetValueByKeyFromConfigMap(key string) (string, error)
func (*ClusterConfig) IsConfigFound ¶
func (c *ClusterConfig) IsConfigFound() bool
func (*ClusterConfig) IsRegistered ¶
func (clusterConfig *ClusterConfig) IsRegistered() bool
Check if the customer is registered
func (*ClusterConfig) IsSubmitted ¶
func (clusterConfig *ClusterConfig) IsSubmitted() bool
Check if the customer is submitted
func (*ClusterConfig) SetKeyValueInConfigmap ¶
func (c *ClusterConfig) SetKeyValueInConfigmap(key string, value string) error
func (*ClusterConfig) SetTenant ¶
func (c *ClusterConfig) SetTenant() error
func (*ClusterConfig) ToMapString ¶
func (c *ClusterConfig) ToMapString() map[string]interface{}
func (*ClusterConfig) UpdateCachedConfig ¶
func (c *ClusterConfig) UpdateCachedConfig() error
type ComponentConfig ¶
type ComponentConfig struct {
Exceptions Exception `json:"exceptions"`
}
type ConfigObj ¶
type ConfigObj struct { AccountID string `json:"accountID,omitempty"` ClientID string `json:"clientID,omitempty"` SecretKey string `json:"secretKey,omitempty"` CustomerGUID string `json:"customerGUID,omitempty"` // Deprecated Token string `json:"invitationParam,omitempty"` CustomerAdminEMail string `json:"adminMail,omitempty"` ClusterName string `json:"clusterName,omitempty"` CloudReportURL string `json:"cloudReportURL,omitempty"` CloudAPIURL string `json:"cloudAPIURL,omitempty"` CloudUIURL string `json:"cloudUIURL,omitempty"` CloudAuthURL string `json:"cloudAuthURL,omitempty"` }
type Credentials ¶
func (*Credentials) Validate ¶
func (credentials *Credentials) Validate() error
To check if the user's credentials: accountID / clientID / secretKey are valid.
type Exception ¶
type Exception struct { Ignore *bool `json:"ignore"` // ignore test results MultipleScore *reporthandling.AlertScore `json:"multipleScore"` // MultipleScore number - float32 Namespaces []string `json:"namespaces"` Regex string `json:"regex"` // not supported }
type FileFormat ¶
type FileFormat string
const ( YAML_FILE_FORMAT FileFormat = "yaml" JSON_FILE_FORMAT FileFormat = "json" )
func GetFileFormat ¶
func GetFileFormat(filePath string) FileFormat
type Getters ¶
type Getters struct { ExceptionsGetter getter.IExceptionsGetter ControlsInputsGetter getter.IControlsInputsGetter PolicyGetter getter.IPolicyGetter AttackTracksGetter getter.IAttackTracksGetter }
type HelmChart ¶
type HelmChart struct {
// contains filtered or unexported fields
}
func NewHelmChart ¶
func (*HelmChart) GetDefaultValues ¶
func (*HelmChart) GetWorkloads ¶
func (hc *HelmChart) GetWorkloads(values map[string]interface{}) (map[string][]workloadinterface.IMetadata, []error)
GetWorkloads renders chart template using the provided values and returns a map of source (absolute) file path to its workloads
func (*HelmChart) GetWorkloadsWithDefaultValues ¶
func (hc *HelmChart) GetWorkloadsWithDefaultValues() (map[string][]workloadinterface.IMetadata, []error)
GetWorkloads renders chart template using the default values and returns a map of source file to its workloads
type ITenantConfig ¶
type ITenantConfig interface { // set SetTenant() error UpdateCachedConfig() error DeleteCachedConfig(ctx context.Context) error // getters GetContextName() string GetAccountID() string GetTenantEmail() string GetToken() string GetClientID() string GetSecretKey() string GetConfigObj() *ConfigObj GetCloudReportURL() string GetCloudAPIURL() string GetCloudUIURL() string GetCloudAuthURL() string IsConfigFound() bool }
====================================================================================== =============================== interface ============================================ ======================================================================================
type IVersionCheckHandler ¶
type IVersionCheckHandler interface {
CheckLatestVersion(context.Context, *VersionCheckRequest) error
}
func NewIVersionCheckHandler ¶
func NewIVersionCheckHandler(ctx context.Context) IVersionCheckHandler
type K8SResources ¶
K8SResources map[<api group>/<api version>/<resource>][]<resourceID>
type KSResources ¶
type KustomizeDirectory ¶
type KustomizeDirectory struct {
// contains filtered or unexported fields
}
func NewKustomizeDirectory ¶
func NewKustomizeDirectory(path string) *KustomizeDirectory
func (*KustomizeDirectory) GetWorkloads ¶
func (kd *KustomizeDirectory) GetWorkloads(kustomizeDirectoryPath string) (map[string][]workloadinterface.IMetadata, []error)
Get Workloads, creates the yaml files(K8s resources) using Kustomize and renders the workloads from the yaml files (k8s resources)
type LocalConfig ¶
type LocalConfig struct {
// contains filtered or unexported fields
}
func NewLocalConfig ¶
func NewLocalConfig( backendAPI getter.IBackend, credentials *Credentials, clusterName string, customClusterName string) *LocalConfig
func (*LocalConfig) DeleteCachedConfig ¶
func (lc *LocalConfig) DeleteCachedConfig(ctx context.Context) error
func (*LocalConfig) GetAccountID ¶
func (lc *LocalConfig) GetAccountID() string
func (*LocalConfig) GetClientID ¶
func (lc *LocalConfig) GetClientID() string
func (*LocalConfig) GetCloudAPIURL ¶
func (lc *LocalConfig) GetCloudAPIURL() string
func (*LocalConfig) GetCloudAuthURL ¶
func (lc *LocalConfig) GetCloudAuthURL() string
func (*LocalConfig) GetCloudReportURL ¶
func (lc *LocalConfig) GetCloudReportURL() string
func (*LocalConfig) GetCloudUIURL ¶
func (lc *LocalConfig) GetCloudUIURL() string
func (*LocalConfig) GetConfigObj ¶
func (lc *LocalConfig) GetConfigObj() *ConfigObj
func (*LocalConfig) GetContextName ¶
func (lc *LocalConfig) GetContextName() string
func (*LocalConfig) GetSecretKey ¶
func (lc *LocalConfig) GetSecretKey() string
func (*LocalConfig) GetTenantEmail ¶
func (lc *LocalConfig) GetTenantEmail() string
func (*LocalConfig) GetToken ¶
func (lc *LocalConfig) GetToken() string
func (*LocalConfig) IsConfigFound ¶
func (lc *LocalConfig) IsConfigFound() bool
func (*LocalConfig) SetTenant ¶
func (lc *LocalConfig) SetTenant() error
func (*LocalConfig) UpdateCachedConfig ¶
func (lc *LocalConfig) UpdateCachedConfig() error
type LocalGitRepository ¶
type LocalGitRepository struct {
// contains filtered or unexported fields
}
func NewLocalGitRepository ¶
func NewLocalGitRepository(path string) (*LocalGitRepository, error)
func (*LocalGitRepository) GetBranchName ¶
func (g *LocalGitRepository) GetBranchName() string
GetBranchName get current branch name
func (LocalGitRepository) GetFileLastCommit ¶
func (*LocalGitRepository) GetLastCommit ¶
func (g *LocalGitRepository) GetLastCommit() (*apis.Commit, error)
GetLastCommit get latest commit object
func (*LocalGitRepository) GetName ¶
func (g *LocalGitRepository) GetName() (string, error)
GetName get origin name without the .git suffix
func (*LocalGitRepository) GetRemoteUrl ¶
func (g *LocalGitRepository) GetRemoteUrl() (string, error)
GetRemoteUrl get default remote URL
func (*LocalGitRepository) GetRootDir ¶
func (g *LocalGitRepository) GetRootDir() (string, error)
type OPASessionObj ¶
type OPASessionObj struct { K8SResources *K8SResources // input k8s objects ArmoResource *KSResources // input ARMO objects AllPolicies *Policies // list of all frameworks AllResources map[string]workloadinterface.IMetadata // all scanned resources, map[<resource ID>]<resource> ResourcesResult map[string]resourcesresults.Result // resources scan results, map[<resource ID>]<resource result> ResourceSource map[string]reporthandling.Source // resources sources, map[<resource ID>]<resource result> ResourcesPrioritized map[string]prioritization.PrioritizedResource // resources prioritization information, map[<resource ID>]<prioritized resource> ResourceAttackTracks map[string]v1alpha1.IAttackTrack // resources attack tracks, map[<resource ID>]<attack track> AttackTracks map[string]v1alpha1.IAttackTrack Report *reporthandlingv2.PostureReport // scan results v2 - Remove RegoInputData RegoInputData // input passed to rego for scanning. map[<control name>][<input arguments>] Metadata *reporthandlingv2.Metadata InfoMap map[string]apis.StatusInfo // Map errors of resources to StatusInfo ResourceToControlsMap map[string][]string // map[<apigroup/apiversion/resource>] = [<control_IDs>] SessionID string // SessionID Policies []reporthandling.Framework // list of frameworks to scan Exceptions []armotypes.PostureExceptionPolicy // list of exceptions to apply on scan results OmitRawResources bool // omit raw resources from output }
func NewOPASessionObj ¶
func NewOPASessionObj(ctx context.Context, frameworks []reporthandling.Framework, k8sResources *K8SResources, scanInfo *ScanInfo) *OPASessionObj
func NewOPASessionObjMock ¶
func NewOPASessionObjMock() *OPASessionObj
func (*OPASessionObj) SetMapNamespaceToNumberOfResources ¶
func (sessionObj *OPASessionObj) SetMapNamespaceToNumberOfResources(mapNamespaceToNumberOfResources map[string]int)
func (*OPASessionObj) SetNumberOfWorkerNodes ¶
func (sessionObj *OPASessionObj) SetNumberOfWorkerNodes(n int)
type Policies ¶
type Policies struct { Controls map[string]reporthandling.Control // map[<control ID>]<control> Frameworks []string }
func NewPolicies ¶
func NewPolicies() *Policies
type PolicyIdentifier ¶
type PolicyIdentifier struct { Identifier string // policy Identifier e.g. c-0012 for control, nsa,mitre for frameworks Kind apisv1.NotificationPolicyKind // policy kind e.g. Framework,Control,Rule Designators armotypes.PortalDesignator }
type ProgressHandler ¶ added in v2.1.0
type ProgressHandler struct {
// contains filtered or unexported fields
}
func NewProgressHandler ¶ added in v2.1.0
func NewProgressHandler(title string) *ProgressHandler
func (*ProgressHandler) ProgressJob ¶ added in v2.1.0
func (p *ProgressHandler) ProgressJob(step int, message string)
func (*ProgressHandler) Start ¶ added in v2.1.0
func (p *ProgressHandler) Start(allSteps int)
func (*ProgressHandler) Stop ¶ added in v2.1.0
func (p *ProgressHandler) Stop()
type RBACObjects ¶
type RBACObjects struct {
// contains filtered or unexported fields
}
func NewRBACObjects ¶
func NewRBACObjects(scanner *rbacscanner.RbacScannerFromK8sAPI) *RBACObjects
func (*RBACObjects) ListAllResources ¶
func (rbacObjects *RBACObjects) ListAllResources() (map[string]workloadinterface.IMetadata, error)
func (*RBACObjects) SetResourcesReport ¶
func (rbacObjects *RBACObjects) SetResourcesReport() (*reporthandlingv2.PostureReport, error)
type RegoInputData ¶
type RootInfo ¶
type RootInfo struct { Logger string // logger level LoggerName string // logger name ("pretty"/"zap"/"none") CacheDir string // cached dir DisableColor bool // Disable Color EnableColor bool // Force enable Color KSCloudBEURLs string // Kubescape Cloud URL KSCloudBEURLsDep string // Kubescape Cloud URL }
type ScanInfo ¶
type ScanInfo struct { Getters // TODO - remove from object PolicyIdentifier []PolicyIdentifier // TODO - remove from object UseExceptions string // Load file with exceptions configuration ControlsInputs string // Load file with inputs for controls AttackTracks string // Load file with attack tracks UseFrom []string // Load framework from local file (instead of download). Use when running offline UseDefault bool // Load framework from cached file (instead of download). Use when running offline UseArtifactsFrom string // Load artifacts from local path. Use when running offline VerboseMode bool // Display all of the input resources and not only failed resources View string // Display all of the input resources and not only failed resources Format string // Format results (table, json, junit ...) Output string // Store results in an output file, Output file name FormatVersion string // Output object can be different between versions, this is for testing and backward compatibility CustomClusterName string // Set the custom name of the cluster ExcludedNamespaces string // used for host scanner namespace IncludeNamespaces string // InputPatterns []string // Yaml files input patterns Silent bool // Silent mode - Do not print progress logs FailThreshold float32 // Failure score threshold FailThresholdSeverity string // Severity at and above which the command should fail Submit bool // Submit results to Kubescape Cloud BE CreateAccount bool // Create account in Kubescape Cloud BE if no account found in local cache ScanID string // Report id of the current scan HostSensorEnabled BoolPtrFlag // Deploy Kubescape K8s host scanner to collect data from certain controls HostSensorYamlPath string // Path to hostsensor file Local bool // Do not submit results Credentials Credentials // account ID KubeContext string // context name FrameworkScan bool // false if scanning control ScanAll bool // true if scan all frameworks OmitRawResources bool // true if omit raw resources from the output PrintAttackTree bool // true if print attack tree }
func (*ScanInfo) Formats ¶
Formats returns a slice of output formats that have been requested for a given scan
func (*ScanInfo) GetScanningContext ¶
func (scanInfo *ScanInfo) GetScanningContext() ScanningContext
func (*ScanInfo) SetPolicyIdentifiers ¶
func (scanInfo *ScanInfo) SetPolicyIdentifiers(policies []string, kind apisv1.NotificationPolicyKind)
type ScanningContext ¶
type ScanningContext string
const ( ContextCluster ScanningContext = "cluster" ContextFile ScanningContext = "single-file" ContextDir ScanningContext = "local-dir" ContextGitURL ScanningContext = "git-url" ContextGitLocal ScanningContext = "git-local" )
func GetScanningContext ¶
func GetScanningContext(input string) ScanningContext
GetScanningContext get scanning context from the input param
type VersionCheckHandler ¶
type VersionCheckHandler struct {
// contains filtered or unexported fields
}
func NewVersionCheckHandler ¶
func NewVersionCheckHandler() *VersionCheckHandler
func (*VersionCheckHandler) CheckLatestVersion ¶
func (v *VersionCheckHandler) CheckLatestVersion(ctx context.Context, versionData *VersionCheckRequest) error
type VersionCheckHandlerMock ¶
type VersionCheckHandlerMock struct { }
func NewVersionCheckHandlerMock ¶
func NewVersionCheckHandlerMock() *VersionCheckHandlerMock
func (*VersionCheckHandlerMock) CheckLatestVersion ¶
func (v *VersionCheckHandlerMock) CheckLatestVersion(_ context.Context, _ *VersionCheckRequest) error
type VersionCheckRequest ¶
type VersionCheckRequest struct { Client string `json:"client"` // kubescape ClientBuild string `json:"clientBuild"` // client build environment ClientVersion string `json:"clientVersion"` // kubescape version Framework string `json:"framework"` // framework name FrameworkVersion string `json:"frameworkVersion"` // framework version ScanningTarget string `json:"target"` // Deprecated ScanningContext string `json:"context"` // scanning context- cluster/file/gitURL/localGit/dir }
func NewVersionCheckRequest ¶
func NewVersionCheckRequest(buildNumber, frameworkName, frameworkVersion, scanningTarget string) *VersionCheckRequest
type VersionCheckResponse ¶
type VersionCheckResponse struct { Client string `json:"client"` // kubescape ClientUpdate string `json:"clientUpdate"` // kubescape latest version Framework string `json:"framework"` // framework name FrameworkUpdate string `json:"frameworkUpdate"` // framework latest version Message string `json:"message"` // alert message }
Source Files ¶
- controllink.go
- customerloader.go
- datastructures.go
- datastructuresmethods.go
- display.go
- environments.go
- fileutils.go
- floatutils.go
- git_native_disabled.go
- helmchart.go
- jsonutils.go
- krewutils.go
- kustomizedirectory.go
- localgitrepository.go
- rbac.go
- reportv2tov1.go
- rootinfo.go
- scaninfo.go
- strutils.go
- versioncheck.go
- workloadmappingutils.go