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.