Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the lib v1alpha1 API group +kubebuilder:object:generate=true +groupName=lib.projectsveltos.io
Index ¶
Constants ¶
const ( // EventBasedAddOnFinalizer allows Reconcilers to clean up resources associated with // EventBasedAddOn before removing it from the apiserver. EventBasedAddOnFinalizer = "eventbasedaddon.finalizer.projectsveltos.io" EventBasedAddOnKind = "EventBasedAddOn" FeatureEventBasedAddOn = "EventBasedAddOn" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "lib.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 EventBasedAddOn ¶
type EventBasedAddOn struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EventBasedAddOnSpec `json:"spec,omitempty"`
Status EventBasedAddOnStatus `json:"status,omitempty"`
}
EventBasedAddOn is the Schema for the eventbasedaddons API
func (*EventBasedAddOn) DeepCopy ¶
func (in *EventBasedAddOn) DeepCopy() *EventBasedAddOn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventBasedAddOn.
func (*EventBasedAddOn) DeepCopyInto ¶
func (in *EventBasedAddOn) DeepCopyInto(out *EventBasedAddOn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventBasedAddOn) DeepCopyObject ¶
func (in *EventBasedAddOn) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventBasedAddOnList ¶
type EventBasedAddOnList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EventBasedAddOn `json:"items"`
}
EventBasedAddOnList contains a list of EventBasedAddOn
func (*EventBasedAddOnList) DeepCopy ¶
func (in *EventBasedAddOnList) DeepCopy() *EventBasedAddOnList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventBasedAddOnList.
func (*EventBasedAddOnList) DeepCopyInto ¶
func (in *EventBasedAddOnList) DeepCopyInto(out *EventBasedAddOnList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventBasedAddOnList) DeepCopyObject ¶
func (in *EventBasedAddOnList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventBasedAddOnSpec ¶
type EventBasedAddOnSpec struct {
// SourceClusterSelector identifies clusters to associate to.
// This represents the set of clusters where Sveltos will watch for
// events defined by referenced EventSource
SourceClusterSelector libsveltosv1alpha1.Selector `json:"sourceClusterSelector"`
// Multiple resources in a managed cluster can be a match for referenced
// EventSource. OneForEvent indicates whether a ClusterProfile for all
// resource (OneForEvent = false) or one per resource (OneForEvent = true)
// needs to be creted.
// +optional
OneForEvent bool `json:"oneForEvent,omitempty"`
// EventSourceName is the name of the referenced EventSource.
// Resources contained in the referenced ConfigMaps/Secrets and HelmCharts
// will be customized using information from resources matching the EventSource
// in the managed cluster.
EventSourceName string `json:"eventSourceName"`
// DestinationClusterSelector identifies the cluster where add-ons will be deployed.
// By default, this is nil and add-ons will be deployed in the very same cluster the
// event happened.
// If DestinationClusterSelector is set though, when an event happens in any of the
// cluster identified by SourceClusterSelector, add-ons will be deployed in each of
// the cluster indentified by DestinationClusterSelector.
// +omitempty
DestinationClusterSelector *libsveltosv1alpha1.Selector `json:"destinationClusterSelector,omitempty"`
// SyncMode specifies how features are synced in a matching workload cluster.
// - OneTime means, first time a workload cluster matches the ClusterProfile,
// features will be deployed in such cluster. Any subsequent feature configuration
// change won't be applied into the matching workload clusters;
// - Continuous means first time a workload cluster matches the ClusterProfile,
// features will be deployed in such a cluster. Any subsequent feature configuration
// change will be applied into the matching workload clusters.
// - DryRun means no change will be propagated to any matching cluster. A report
// instead will be generated summarizing what would happen in any matching cluster
// because of the changes made to ClusterProfile while in DryRun mode.
// +kubebuilder:default:=Continuous
// +optional
SyncMode configv1alpha1.SyncMode `json:"syncMode,omitempty"`
// StopMatchingBehavior indicates what behavior should be when a Cluster stop matching
// the ClusterProfile. By default all deployed Helm charts and Kubernetes resources will
// be withdrawn from Cluster. Setting StopMatchingBehavior to LeavePolicies will instead
// leave ClusterProfile deployed policies in the Cluster.
// +kubebuilder:default:=WithdrawPolicies
// +optional
StopMatchingBehavior configv1alpha1.StopMatchingBehavior `json:"stopMatchingBehavior,omitempty"`
// PolicyRefs references all the ConfigMaps/Secrets containing kubernetes resources
// that need to be deployed in the matching clusters based on EventSource.
// +optional
PolicyRefs []libsveltosv1alpha1.PolicyRef `json:"policyRefs,omitempty"`
// Helm charts to be deployed in the matching clusters based on EventSource.
HelmCharts []configv1alpha1.HelmChart `json:"helmCharts,omitempty"`
}
EventBasedAddOnSpec defines the desired state of EventBasedAddOn
func (*EventBasedAddOnSpec) DeepCopy ¶
func (in *EventBasedAddOnSpec) DeepCopy() *EventBasedAddOnSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventBasedAddOnSpec.
func (*EventBasedAddOnSpec) DeepCopyInto ¶
func (in *EventBasedAddOnSpec) DeepCopyInto(out *EventBasedAddOnSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventBasedAddOnStatus ¶
type EventBasedAddOnStatus struct {
// MatchingClusterRefs reference all the cluster-api Cluster currently matching
// ClusterProfile SourceClusterSelector
// +optional
MatchingClusterRefs []corev1.ObjectReference `json:"matchingClusters,omitempty"`
// DestinationMatchingClusterRefs reference all the cluster-api Cluster currently matching
// ClusterProfile DestinationClusterSelector
// +optional
DestinationMatchingClusterRefs []corev1.ObjectReference `json:"destinationMatchingClusterRefs,omitempty"`
// ClusterInfo represent the deployment status in each managed
// cluster.
// +optional
ClusterInfo []libsveltosv1alpha1.ClusterInfo `json:"clusterInfo,omitempty"`
}
EventBasedAddOnStatus defines the observed state of EventBasedAddOn
func (*EventBasedAddOnStatus) DeepCopy ¶
func (in *EventBasedAddOnStatus) DeepCopy() *EventBasedAddOnStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventBasedAddOnStatus.
func (*EventBasedAddOnStatus) DeepCopyInto ¶
func (in *EventBasedAddOnStatus) DeepCopyInto(out *EventBasedAddOnStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.