Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=utils.projectsveltos.io
Index ¶
Constants ¶
const ( // CollectionStatusStatusInProgress indicates that collection is being collected CollectionStatusInProgress = CollectionStatus("InProgress") // CollectionStatusStatusCollected indicates that collection succeeded CollectionStatusCollected = CollectionStatus("Collected") // CollectionStatusStatusFailed indicates that last collection failed CollectionStatusFailed = CollectionStatus("Failed") )
const ( // SnapshotFinalizer allows SnapshotReconciler to clean up resources associated with // Snapshot instance before removing it from the apiserver. SnapshotFinalizer = "snapshotfinalizer.projectsveltos.io" )
const ( // TechsupportFinalizer allows TechsupportReconciler to clean up resources associated with // Techsupport instance before removing it from the apiserver. TechsupportFinalizer = "techsupportfinalizer.projectsveltos.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "utils.projectsveltos.io", Version: "v1beta1"} // 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 CollectionStatus ¶
type CollectionStatus string
+kubebuilder:validation:Enum:=Collected;InProgress;Failed
type Log ¶
type Log struct { // Namespace of the pods deployed in the Cluster. // +optional Namespace string `json:"namespace,omitempty"` // LabelFilters allows to filter pods based on current labels. LabelFilters []libsveltosv1beta1.LabelFilter `json:"labelFilters,omitempty"` // A relative time in seconds before the current time from which to collect logs. // If this value precedes the time a pod was started, only logs since the pod start will be returned. // If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified. // +optional SinceSeconds *int64 `json:"sinceSeconds,omitempty"` }
LogFilter allows to select which logs to collect
func (*Log) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Log.
func (*Log) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct { // Namespace of the resource deployed in the Cluster. // Empty for resources scoped at cluster level. // +optional Namespace string `json:"namespace,omitempty"` // Group of the resource deployed in the Cluster. Group string `json:"group"` // Version of the resource deployed in the Cluster. Version string `json:"version"` // Kind of the resource deployed in the Cluster. // +kubebuilder:validation:MinLength=1 Kind string `json:"kind"` // LabelFilters allows to filter resources based on current labels. LabelFilters []libsveltosv1beta1.LabelFilter `json:"labelFilters,omitempty"` }
Resource indicates the type of resources to collect.
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Snapshot ¶
type Snapshot struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SnapshotSpec `json:"spec,omitempty"` Status SnapshotStatus `json:"status,omitempty"` }
Snapshot is the Schema for the snapshot API
func (*Snapshot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.
func (*Snapshot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Snapshot) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SnapshotList ¶
type SnapshotList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Snapshot `json:"items"` }
SnapshotList contains a list of Snapshot
func (*SnapshotList) DeepCopy ¶
func (in *SnapshotList) DeepCopy() *SnapshotList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList.
func (*SnapshotList) DeepCopyInto ¶
func (in *SnapshotList) DeepCopyInto(out *SnapshotList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SnapshotList) DeepCopyObject ¶
func (in *SnapshotList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SnapshotSpec ¶
type SnapshotSpec struct { // Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Schedule string `json:"schedule"` // Optional deadline in seconds for starting the job if it misses scheduled // time for any reason. Missed jobs executions will be counted as failed ones. // +optional StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"` // Storage represents directory where snapshots will be stored. // It must be an existing directory. // Snapshots will be stored in this directory in a subdirectory named // with Snapshot instance name. Storage string `json:"storage"` // The number of successful finished snapshots to retains. // If specified, only SuccessfulSnapshotLimit will be retained. Once such // number is reached, for any new successful snapshots, the oldest one is // deleted. // +optional SuccessfulSnapshotLimit *int32 `json:"successfulSnapshotLimit,omitempty"` }
SnapshotSpec defines the desired state of Snapshot
func (*SnapshotSpec) DeepCopy ¶
func (in *SnapshotSpec) DeepCopy() *SnapshotSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec.
func (*SnapshotSpec) DeepCopyInto ¶
func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SnapshotStatus ¶
type SnapshotStatus struct { // Information when next snapshot is scheduled // +optional NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"` // Information when was the last time a snapshot was successfully scheduled. // +optional LastRunTime *metav1.Time `json:"lastRunTime,omitempty"` // Status indicates what happened to last snapshot collection. LastRunStatus *CollectionStatus `json:"lastRunStatus,omitempty"` // FailureMessage provides more information about the error, if // any occurred FailureMessage *string `json:"failureMessage,omitempty"` }
SnapshotStatus defines the observed state of Snapshot
func (*SnapshotStatus) DeepCopy ¶
func (in *SnapshotStatus) DeepCopy() *SnapshotStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus.
func (*SnapshotStatus) DeepCopyInto ¶
func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Techsupport ¶
type Techsupport struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TechsupportSpec `json:"spec,omitempty"` Status TechsupportStatus `json:"status,omitempty"` }
Techsupport is the Schema for the snapshot API
func (*Techsupport) DeepCopy ¶
func (in *Techsupport) DeepCopy() *Techsupport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Techsupport.
func (*Techsupport) DeepCopyInto ¶
func (in *Techsupport) DeepCopyInto(out *Techsupport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Techsupport) DeepCopyObject ¶
func (in *Techsupport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TechsupportList ¶
type TechsupportList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Techsupport `json:"items"` }
TechsupportList contains a list of Techsupport instances
func (*TechsupportList) DeepCopy ¶
func (in *TechsupportList) DeepCopy() *TechsupportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportList.
func (*TechsupportList) DeepCopyInto ¶
func (in *TechsupportList) DeepCopyInto(out *TechsupportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TechsupportList) DeepCopyObject ¶
func (in *TechsupportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TechsupportSpec ¶
type TechsupportSpec struct { // ClusterSelector identifies clusters to collect techsupport from. ClusterSelector libsveltosv1beta1.Selector `json:"clusterSelector"` // Resources indicates what resorces to collect // +optional Resources []Resource `json:"resources,omitempty"` // Logs indicates what pods' log to collect // +optional Logs []Log `json:"logs,omitempty"` // If set denerates a tar file with all collected logs/resources // +kubebuilder:default:=false // +optional Tar bool `json:"tar,omitempty"` // Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Schedule string `json:"schedule"` // Optional deadline in seconds for starting the job if it misses scheduled // time for any reason. Missed jobs executions will be counted as failed ones. // +optional StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"` // Storage represents directory where techsupports will be stored. // It must be an existing directory. // Techsupports will be stored in this directory in a subdirectory named // with Techsupport instance name. Storage string `json:"storage"` // The number of successful finished techsupport to retains. // If specified, only SuccessfulTechsupportLimit will be retained. Once such // number is reached, for any new successful snapshots, the oldest one is // deleted. // +optional SuccessfulTechsupportLimit *int32 `json:"successfulTechsupportLimit,omitempty"` }
TechsupportSpec defines the desired state of Techsupport
func (*TechsupportSpec) DeepCopy ¶
func (in *TechsupportSpec) DeepCopy() *TechsupportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportSpec.
func (*TechsupportSpec) DeepCopyInto ¶
func (in *TechsupportSpec) DeepCopyInto(out *TechsupportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TechsupportStatus ¶
type TechsupportStatus struct { // Information when next snapshot is scheduled // +optional NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"` // Information when was the last time a snapshot was successfully scheduled. // +optional LastRunTime *metav1.Time `json:"lastRunTime,omitempty"` // Status indicates what happened to last techsupport collection. LastRunStatus *CollectionStatus `json:"lastRunStatus,omitempty"` // FailureMessage provides more information about the error, if // any occurred FailureMessage *string `json:"failureMessage,omitempty"` // MatchingClusterRefs reference all the clusters currently matching // Techsupport MatchingClusterRefs []corev1.ObjectReference `json:"machingClusters,omitempty"` }
TechsupportStatus defines the observed state of Techsupport
func (*TechsupportStatus) DeepCopy ¶
func (in *TechsupportStatus) DeepCopy() *TechsupportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportStatus.
func (*TechsupportStatus) DeepCopyInto ¶
func (in *TechsupportStatus) DeepCopyInto(out *TechsupportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.