v1alpha1

package
v0.29.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=utils.projectsveltos.io

Index

Constants

View Source
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")
)
View Source
const (
	// SnapshotFinalizer allows SnapshotReconciler to clean up resources associated with
	// Snapshot instance before removing it from the apiserver.
	SnapshotFinalizer = "snapshotfinalizer.projectsveltos.io"
)
View Source
const (
	// TechsupportFinalizer allows TechsupportReconciler to clean up resources associated with
	// Techsupport instance before removing it from the apiserver.
	TechsupportFinalizer = "techsupportfinalizer.projectsveltos.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "utils.projectsveltos.io", Version: "v1alpha1"}

	// 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 added in v0.6.0

type CollectionStatus string

+kubebuilder:validation:Enum:=Collected;InProgress;Failed

type Log added in v0.6.0

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 []libsveltosv1alpha1.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 added in v0.6.0

func (in *Log) DeepCopy() *Log

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Log.

func (*Log) DeepCopyInto added in v0.6.0

func (in *Log) DeepCopyInto(out *Log)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Resource added in v0.6.0

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 []libsveltosv1alpha1.LabelFilter `json:"labelFilters,omitempty"`
}

Resource indicates the type of resources to collect.

func (*Resource) DeepCopy added in v0.6.0

func (in *Resource) DeepCopy() *Resource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.

func (*Resource) DeepCopyInto added in v0.6.0

func (in *Resource) DeepCopyInto(out *Resource)

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

func (in *Snapshot) DeepCopy() *Snapshot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Snapshot) DeepCopyObject

func (in *Snapshot) DeepCopyObject() runtime.Object

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 added in v0.6.0

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 added in v0.6.0

func (in *Techsupport) DeepCopy() *Techsupport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Techsupport.

func (*Techsupport) DeepCopyInto added in v0.6.0

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 added in v0.6.0

func (in *Techsupport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TechsupportList added in v0.6.0

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 added in v0.6.0

func (in *TechsupportList) DeepCopy() *TechsupportList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportList.

func (*TechsupportList) DeepCopyInto added in v0.6.0

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 added in v0.6.0

func (in *TechsupportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TechsupportSpec added in v0.6.0

type TechsupportSpec struct {
	// ClusterSelector identifies clusters to collect techsupport from.
	ClusterSelector libsveltosv1alpha1.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 added in v0.6.0

func (in *TechsupportSpec) DeepCopy() *TechsupportSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportSpec.

func (*TechsupportSpec) DeepCopyInto added in v0.6.0

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 added in v0.6.0

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 added in v0.6.0

func (in *TechsupportStatus) DeepCopy() *TechsupportStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportStatus.

func (*TechsupportStatus) DeepCopyInto added in v0.6.0

func (in *TechsupportStatus) DeepCopyInto(out *TechsupportStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL