Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the zora v1alpha1 API group +kubebuilder:object:generate=true +groupName=zora.undistro.io
Index ¶
- Constants
- Variables
- type Cluster
- type ClusterIssue
- type ClusterIssueList
- type ClusterIssueSeverity
- type ClusterIssueSpec
- type ClusterIssueStatus
- type ClusterList
- type ClusterScan
- func (in *ClusterScan) ClusterKey() types.NamespacedName
- func (in *ClusterScan) DeepCopy() *ClusterScan
- func (in *ClusterScan) DeepCopyInto(out *ClusterScan)
- func (in *ClusterScan) DeepCopyObject() runtime.Object
- func (in *ClusterScan) SetReadyStatus(status bool, reason, msg string)
- func (in *ClusterScan) SetSaaSStatus(status metav1.ConditionStatus, reason, msg string)
- type ClusterScanList
- type ClusterScanSpec
- type ClusterScanStatus
- func (in *ClusterScanStatus) DeepCopy() *ClusterScanStatus
- func (in *ClusterScanStatus) DeepCopyInto(out *ClusterScanStatus)
- func (in *ClusterScanStatus) GetPluginStatus(name string) *PluginScanStatus
- func (in *ClusterScanStatus) LastScanIDs(successful bool) []string
- func (in *ClusterScanStatus) SyncStatus()
- type ClusterSpec
- type ClusterStatus
- type CustomCheck
- func (in *CustomCheck) DeepCopy() *CustomCheck
- func (in *CustomCheck) DeepCopyInto(out *CustomCheck)
- func (in *CustomCheck) DeepCopyObject() runtime.Object
- func (r *CustomCheck) FileName() string
- func (r *CustomCheck) GetParams() map[string]interface{}
- func (r *CustomCheck) SetReadyStatus(ready bool, reason, msg string)
- func (r *CustomCheck) ToMarvin() *marvin.Check
- type CustomCheckList
- type CustomCheckSpec
- type CustomCheckStatus
- type Match
- type Plugin
- type PluginList
- type PluginReference
- type PluginScanStatus
- type PluginSpec
- type PluginStatus
- type Status
- type Validation
Constants ¶
const ( LabelEnvironment = "zora.undistro.io/environment" ClusterReady = "Ready" ClusterDiscovered = "Discovered" ClusterResourcesDiscovered = "ResourcesDiscovered" )
const ( SeverityUnknown ClusterIssueSeverity = "Unknown" SeverityLow ClusterIssueSeverity = "Low" SeverityMedium ClusterIssueSeverity = "Medium" SeverityHigh ClusterIssueSeverity = "High" LabelScanID = "scanID" LabelCluster = "cluster" LabelSeverity = "severity" LabelIssueID = "id" LabelCategory = "category" LabelPlugin = "plugin" LabelCustom = "custom" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "zora.undistro.io", Version: "v1alpha1"} // SchemeGroupVersion is a copy of GroupVersion, used by client-gen SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster is the Schema for the clusters API +genclient +genclient:onlyVerbs=list,get +genclient:noStatus
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) KubeconfigRefKey ¶
func (in *Cluster) KubeconfigRefKey() *types.NamespacedName
type ClusterIssue ¶
type ClusterIssue struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterIssueSpec `json:"spec,omitempty"` Status ClusterIssueStatus `json:"status,omitempty"` }
ClusterIssue is the Schema for the clusterissues API +genclient +genclient:noStatus
func (*ClusterIssue) DeepCopy ¶
func (in *ClusterIssue) DeepCopy() *ClusterIssue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIssue.
func (*ClusterIssue) DeepCopyInto ¶
func (in *ClusterIssue) DeepCopyInto(out *ClusterIssue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterIssue) DeepCopyObject ¶
func (in *ClusterIssue) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterIssueList ¶
type ClusterIssueList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterIssue `json:"items"` }
ClusterIssueList contains a list of ClusterIssue
func (*ClusterIssueList) DeepCopy ¶
func (in *ClusterIssueList) DeepCopy() *ClusterIssueList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIssueList.
func (*ClusterIssueList) DeepCopyInto ¶
func (in *ClusterIssueList) DeepCopyInto(out *ClusterIssueList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterIssueList) DeepCopyObject ¶
func (in *ClusterIssueList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterIssueSeverity ¶
type ClusterIssueSeverity string
type ClusterIssueSpec ¶
type ClusterIssueSpec struct { Cluster string `json:"cluster"` ID string `json:"id"` Message string `json:"message"` Severity ClusterIssueSeverity `json:"severity"` Category string `json:"category,omitempty"` Resources map[string][]string `json:"resources,omitempty"` TotalResources int `json:"totalResources,omitempty"` Url string `json:"url,omitempty"` Custom bool `json:"custom,omitempty"` }
ClusterIssueSpec defines the desired state of ClusterIssue
func (*ClusterIssueSpec) AddResource ¶ added in v0.6.1
func (r *ClusterIssueSpec) AddResource(gvr, resource string)
AddResource appends the given resource to the Resources map, if it does not exist
func (*ClusterIssueSpec) DeepCopy ¶
func (in *ClusterIssueSpec) DeepCopy() *ClusterIssueSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIssueSpec.
func (*ClusterIssueSpec) DeepCopyInto ¶
func (in *ClusterIssueSpec) DeepCopyInto(out *ClusterIssueSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterIssueStatus ¶
type ClusterIssueStatus struct { }
ClusterIssueStatus defines the observed state of ClusterIssue
func (*ClusterIssueStatus) DeepCopy ¶
func (in *ClusterIssueStatus) DeepCopy() *ClusterIssueStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIssueStatus.
func (*ClusterIssueStatus) DeepCopyInto ¶
func (in *ClusterIssueStatus) DeepCopyInto(out *ClusterIssueStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterScan ¶
type ClusterScan struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterScanSpec `json:"spec,omitempty"` Status ClusterScanStatus `json:"status,omitempty"` }
ClusterScan is the Schema for the clusterscans API +genclient +genclient:onlyVerbs=list,get +genclient:noStatus
func (*ClusterScan) ClusterKey ¶
func (in *ClusterScan) ClusterKey() types.NamespacedName
func (*ClusterScan) DeepCopy ¶
func (in *ClusterScan) DeepCopy() *ClusterScan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterScan.
func (*ClusterScan) DeepCopyInto ¶
func (in *ClusterScan) DeepCopyInto(out *ClusterScan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterScan) DeepCopyObject ¶
func (in *ClusterScan) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterScan) SetReadyStatus ¶
func (in *ClusterScan) SetReadyStatus(status bool, reason, msg string)
func (*ClusterScan) SetSaaSStatus ¶
func (in *ClusterScan) SetSaaSStatus(status metav1.ConditionStatus, reason, msg string)
type ClusterScanList ¶
type ClusterScanList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterScan `json:"items"` }
ClusterScanList contains a list of ClusterScan
func (*ClusterScanList) DeepCopy ¶
func (in *ClusterScanList) DeepCopy() *ClusterScanList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterScanList.
func (*ClusterScanList) DeepCopyInto ¶
func (in *ClusterScanList) DeepCopyInto(out *ClusterScanList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterScanList) DeepCopyObject ¶
func (in *ClusterScanList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterScanSpec ¶
type ClusterScanSpec struct { // ClusterRef is a reference to a Cluster in the same namespace ClusterRef corev1.LocalObjectReference `json:"clusterRef"` // This flag tells the controller to suspend subsequent executions, it does // not apply to already started executions. Defaults to false. Suspend *bool `json:"suspend,omitempty"` // The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Schedule string `json:"schedule"` // The list of Plugin references that are used to scan the referenced Cluster. Defaults to 'popeye' Plugins []PluginReference `json:"plugins,omitempty"` // SuccessfulScansHistoryLimit specifies the amount of successfully // completed scan Jobs to be kept in the cluster. This field is analogous // to <Cronjob.Spec.SuccessfulJobsHistoryLimit> from the <batch> package. // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=3 SuccessfulScansHistoryLimit *int32 `json:"successfulScansHistoryLimit,omitempty"` // FailedScansHistoryLimit specifies the amount of failed scan Jobs to be // kept in the cluster. This field is analogous to // <Cronjob.Spec.FailedScansHistoryLimit> from the <batch> package. // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=1 FailedScansHistoryLimit *int32 `json:"failedScansHistoryLimit,omitempty"` }
ClusterScanSpec defines the desired state of ClusterScan
func (*ClusterScanSpec) DeepCopy ¶
func (in *ClusterScanSpec) DeepCopy() *ClusterScanSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterScanSpec.
func (*ClusterScanSpec) DeepCopyInto ¶
func (in *ClusterScanSpec) DeepCopyInto(out *ClusterScanSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterScanStatus ¶
type ClusterScanStatus struct { Status `json:",inline"` // Information of the last scans of plugins Plugins map[string]*PluginScanStatus `json:"plugins,omitempty"` // Comma separated list of plugins PluginNames string `json:"pluginNames,omitempty"` // Suspend field value from ClusterScan spec Suspend bool `json:"suspend"` // Information when was the last time the job was scheduled. LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"` // Information when was the last time the job was finished. LastFinishedTime *metav1.Time `json:"lastFinishedTime,omitempty"` // Status of the last finished scan. Complete or Failed LastFinishedStatus string `json:"lastFinishedStatus,omitempty"` // Status of the last scan. Active, Complete or Failed LastStatus string `json:"lastStatus,omitempty"` // Information when was the last time the job successfully completed. LastSuccessfulTime *metav1.Time `json:"lastSuccessfulTime,omitempty"` // Time when the next job will schedule. NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"` // Total of ClusterIssues reported in the last successful scan TotalIssues *int `json:"totalIssues,omitempty"` }
ClusterScanStatus defines the observed state of ClusterScan
func (*ClusterScanStatus) DeepCopy ¶
func (in *ClusterScanStatus) DeepCopy() *ClusterScanStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterScanStatus.
func (*ClusterScanStatus) DeepCopyInto ¶
func (in *ClusterScanStatus) DeepCopyInto(out *ClusterScanStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterScanStatus) GetPluginStatus ¶
func (in *ClusterScanStatus) GetPluginStatus(name string) *PluginScanStatus
GetPluginStatus returns a PluginScanStatus of a plugin
func (*ClusterScanStatus) LastScanIDs ¶
func (in *ClusterScanStatus) LastScanIDs(successful bool) []string
LastScanIDs returns a list of all the last scan IDs
func (*ClusterScanStatus) SyncStatus ¶
func (in *ClusterScanStatus) SyncStatus()
SyncStatus updates ClusterScan status and time fields based on PluginStatus
type ClusterSpec ¶
type ClusterSpec struct { // KubeconfigRef is a reference to a secret in the same namespace that contains the kubeconfig data KubeconfigRef *corev1.LocalObjectReference `json:"kubeconfigRef,omitempty"` }
ClusterSpec defines the desired state of Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { Status `json:",inline"` discovery.ClusterInfo `json:",inline"` // KubernetesVersion is the server's kubernetes version (git version). KubernetesVersion string `json:"kubernetesVersion,omitempty"` // Usage and available resources Resources discovery.ClusterResources `json:"resources,omitempty"` // Usage of memory in quantity and percentage MemoryUsage string `json:"memoryUsage,omitempty"` // Quantity of memory available in Mi MemoryAvailable string `json:"memoryAvailable,omitempty"` // Usage of CPU in quantity and percentage CPUUsage string `json:"cpuUsage,omitempty"` // Quantity of CPU available CPUAvailable string `json:"cpuAvailable,omitempty"` // Timestamp representing the server time of the last reconciliation LastReconciliationTime metav1.Time `json:"lastReconciliationTime,omitempty"` }
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStatus) SetResources ¶
func (in *ClusterStatus) SetResources(res discovery.ClusterResources)
SetResources format and fill temporary fields about resources
type CustomCheck ¶
type CustomCheck struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CustomCheckSpec `json:"spec,omitempty"` Status CustomCheckStatus `json:"status,omitempty"` }
CustomCheck is the Schema for the customchecks API
func (*CustomCheck) DeepCopy ¶
func (in *CustomCheck) DeepCopy() *CustomCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCheck.
func (*CustomCheck) DeepCopyInto ¶
func (in *CustomCheck) DeepCopyInto(out *CustomCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CustomCheck) DeepCopyObject ¶
func (in *CustomCheck) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CustomCheck) FileName ¶
func (r *CustomCheck) FileName() string
func (*CustomCheck) GetParams ¶
func (r *CustomCheck) GetParams() map[string]interface{}
func (*CustomCheck) SetReadyStatus ¶
func (r *CustomCheck) SetReadyStatus(ready bool, reason, msg string)
func (*CustomCheck) ToMarvin ¶
func (r *CustomCheck) ToMarvin() *marvin.Check
type CustomCheckList ¶
type CustomCheckList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CustomCheck `json:"items"` }
CustomCheckList contains a list of CustomCheck
func (*CustomCheckList) DeepCopy ¶
func (in *CustomCheckList) DeepCopy() *CustomCheckList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCheckList.
func (*CustomCheckList) DeepCopyInto ¶
func (in *CustomCheckList) DeepCopyInto(out *CustomCheckList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CustomCheckList) DeepCopyObject ¶
func (in *CustomCheckList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CustomCheckSpec ¶
type CustomCheckSpec struct { Match Match `json:"match"` Validations []Validation `json:"validations"` Message string `json:"message"` Category string `json:"category"` URL string `json:"url,omitempty"` // Parameters to be used in validations Params *apiextensionsv1.JSON `json:"params,omitempty"` //+kubebuilder:validation:Type=string //+kubebuilder:validation:Enum=Low;Medium;High Severity string `json:"severity"` }
CustomCheckSpec defines the desired state of CustomCheck
func (*CustomCheckSpec) DeepCopy ¶
func (in *CustomCheckSpec) DeepCopy() *CustomCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCheckSpec.
func (*CustomCheckSpec) DeepCopyInto ¶
func (in *CustomCheckSpec) DeepCopyInto(out *CustomCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomCheckStatus ¶
type CustomCheckStatus struct {
Status `json:",inline"`
}
CustomCheckStatus defines the observed state of CustomCheck
func (*CustomCheckStatus) DeepCopy ¶
func (in *CustomCheckStatus) DeepCopy() *CustomCheckStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomCheckStatus.
func (*CustomCheckStatus) DeepCopyInto ¶
func (in *CustomCheckStatus) DeepCopyInto(out *CustomCheckStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Match ¶
func (*Match) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Match.
func (*Match) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plugin ¶
type Plugin struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PluginSpec `json:"spec,omitempty"` Status PluginStatus `json:"status,omitempty"` }
Plugin is the Schema for the plugins API
func (*Plugin) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Plugin) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginList ¶
type PluginList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Plugin `json:"items"` }
PluginList contains a list of Plugin
func (*PluginList) DeepCopy ¶
func (in *PluginList) DeepCopy() *PluginList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginList.
func (*PluginList) DeepCopyInto ¶
func (in *PluginList) DeepCopyInto(out *PluginList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginList) DeepCopyObject ¶
func (in *PluginList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginReference ¶
type PluginReference struct { // Name is unique within a namespace to reference a Plugin resource. Name string `json:"name"` // Namespace defines the space within which the Plugin name must be unique. Namespace string `json:"namespace,omitempty"` // This flag tells the controller to suspend subsequent executions, it does // not apply to already started executions. Defaults to false. Suspend *bool `json:"suspend,omitempty"` // The schedule in Cron format for this Plugin, see https://en.wikipedia.org/wiki/Cron. Schedule string `json:"schedule,omitempty"` // List of environment variables to set in the Plugin container. Env []corev1.EnvVar `json:"env,omitempty"` }
func (*PluginReference) DeepCopy ¶
func (in *PluginReference) DeepCopy() *PluginReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginReference.
func (*PluginReference) DeepCopyInto ¶
func (in *PluginReference) DeepCopyInto(out *PluginReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginReference) PluginKey ¶
func (in *PluginReference) PluginKey(defaultNamespace string) types.NamespacedName
type PluginScanStatus ¶
type PluginScanStatus struct { // Information when was the last time the job was scheduled. LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"` // Information when was the last time the job was finished. LastFinishedTime *metav1.Time `json:"lastFinishedTime,omitempty"` // Information when was the last time the job successfully completed. LastSuccessfulTime *metav1.Time `json:"lastSuccessfulTime,omitempty"` // Time when the next job will schedule. NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"` // ID of the last plugin scan LastScanID string `json:"lastScanID,omitempty"` // ID of the last successful plugin scan LastSuccessfulScanID string `json:"lastSuccessfulScanID,omitempty"` // Status of the last plugin scan. Active, Complete or Failed LastStatus string `json:"lastStatus,omitempty"` // Status of the last finished plugin scan. Complete or Failed LastFinishedStatus string `json:"lastFinishedStatus,omitempty"` // LastErrorMsg contains a plugin error message from the last failed scan. LastErrorMsg string `json:"lastErrorMsg,omitempty"` // IssueCount holds the sum of ClusterIssues found in the last successful scan. IssueCount *int `json:"issueCount,omitempty"` // Suspend field value from ClusterScan spec.plugins.*.suspend Suspend bool `json:"suspend,omitempty"` // The Cron schedule of this plugin Schedule string `json:"schedule,omitempty"` }
func (*PluginScanStatus) DeepCopy ¶
func (in *PluginScanStatus) DeepCopy() *PluginScanStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginScanStatus.
func (*PluginScanStatus) DeepCopyInto ¶
func (in *PluginScanStatus) DeepCopyInto(out *PluginScanStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginSpec ¶
type PluginSpec struct { // Docker image name. // More info: https://kubernetes.io/docs/concepts/containers/images Image string `json:"image"` // Entrypoint array. Not executed within a shell. // The docker image's ENTRYPOINT is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced // to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will // produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell Command []string `json:"command,omitempty"` // Arguments to the entrypoint. // The docker image's CMD is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced // to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will // produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless // of whether the variable exists or not. Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell Args []string `json:"args,omitempty"` // List of sources to populate environment variables in the container. // The keys defined within a source must be a C_IDENTIFIER. All invalid keys // will be reported as an event when the container is starting. When a key exists in multiple // sources, the value associated with the last source will take precedence. // Values defined by an Env with a duplicate key will take precedence. // Cannot be updated. EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` // List of environment variables to set in the container. // Cannot be updated. Env []corev1.EnvVar `json:"env,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Image pull policy. // One of Always, Never, IfNotPresent. // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/containers/images#updating-images ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // SecurityContext defines the security options the container should be run with. // If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // MountCustomChecksVolume specifies whether a volume with the custom checks should be mounted MountCustomChecksVolume *bool `json:"mountCustomChecksVolume,omitempty"` }
PluginSpec defines the desired state of Plugin
func (*PluginSpec) DeepCopy ¶
func (in *PluginSpec) DeepCopy() *PluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginSpec.
func (*PluginSpec) DeepCopyInto ¶
func (in *PluginSpec) DeepCopyInto(out *PluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginSpec) GetImagePullPolicy ¶
func (in *PluginSpec) GetImagePullPolicy() corev1.PullPolicy
type PluginStatus ¶
type PluginStatus struct { }
PluginStatus defines the observed state of Plugin
func (*PluginStatus) DeepCopy ¶
func (in *PluginStatus) DeepCopy() *PluginStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginStatus.
func (*PluginStatus) DeepCopyInto ¶
func (in *PluginStatus) DeepCopyInto(out *PluginStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { // ObservedGeneration is the 'Generation' of the resource that // was last processed by the controller. ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions the latest available observations of a resource's current state. Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
Status is the minimally expected status subresource.
func (*Status) ConditionIsTrue ¶
ConditionIsTrue return true if the condition of specified type has status 'True'
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Status) GetCondition ¶
GetCondition fetches the condition of the specified type.
func (*Status) SetCondition ¶
SetCondition sets the newCondition in conditions.
- if the condition of the specified type already exists, all fields of the existing condition are updated to newCondition, LastTransitionTime is set to now if the new status differs from the old status
- if a condition of the specified type does not exist, LastTransitionTime is set to now() if unset and newCondition is appended
type Validation ¶
type Validation marvin.Validation
func (*Validation) DeepCopy ¶
func (in *Validation) DeepCopy() *Validation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Validation.
func (*Validation) DeepCopyInto ¶
func (in *Validation) DeepCopyInto(out *Validation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.