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 ( // EventTriggerFinalizer allows Reconcilers to clean up resources associated with // EventTrigger before removing it from the apiserver. EventTriggerFinalizer = "eventtrigger.finalizer.projectsveltos.io" EventTriggerKind = "EventTrigger" FeatureEventTrigger = "EventTrigger" )
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 EventTrigger ¶ added in v0.21.0
type EventTrigger struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EventTriggerSpec `json:"spec,omitempty"`
Status EventTriggerStatus `json:"status,omitempty"`
}
EventTrigger is the Schema for the eventtriggers API
func (*EventTrigger) DeepCopy ¶ added in v0.21.0
func (in *EventTrigger) DeepCopy() *EventTrigger
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTrigger.
func (*EventTrigger) DeepCopyInto ¶ added in v0.21.0
func (in *EventTrigger) DeepCopyInto(out *EventTrigger)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventTrigger) DeepCopyObject ¶ added in v0.21.0
func (in *EventTrigger) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventTriggerList ¶ added in v0.21.0
type EventTriggerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EventTrigger `json:"items"`
}
EventTriggerList contains a list of EventTrigger
func (*EventTriggerList) DeepCopy ¶ added in v0.21.0
func (in *EventTriggerList) DeepCopy() *EventTriggerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTriggerList.
func (*EventTriggerList) DeepCopyInto ¶ added in v0.21.0
func (in *EventTriggerList) DeepCopyInto(out *EventTriggerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventTriggerList) DeepCopyObject ¶ added in v0.21.0
func (in *EventTriggerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventTriggerSpec ¶ added in v0.21.0
type EventTriggerSpec 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"`
// The maximum number of clusters that can be updated concurrently.
// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
// Defaults to 100%.
// Example: when this is set to 30%, when list of add-ons/applications in ClusterProfile
// changes, only 30% of matching clusters will be updated in parallel. Only when updates
// in those cluster succeed, other matching clusters are updated.
// +kubebuilder:validation:XIntOrString
// +kubebuilder:validation:Pattern="^((100|[0-9]{1,2})%|[0-9]+)$"
// +optional
MaxUpdate *intstr.IntOrString `json:"maxUpdate,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"`
// Reloader indicates whether Deployment/StatefulSet/DaemonSet instances deployed
// by Sveltos and part of this ClusterProfile need to be restarted via rolling upgrade
// when a ConfigMap/Secret instance mounted as volume is modified.
// When set to true, when any mounted ConfigMap/Secret is modified, Sveltos automatically
// starts a rolling upgrade for Deployment/StatefulSet/DaemonSet instances mounting it.
// +kubebuilder:default:=false
// +optional
Reloader bool `json:"reloader,omitempty"`
// TemplateResourceRefs is a list of resource to collect from the management cluster.
// Those resources' values will be used to instantiate templates contained in referenced
// PolicyRefs and Helm charts
// +patchMergeKey=identifier
// +patchStrategy=merge,retainKeys
// +optional
TemplateResourceRefs []configv1alpha1.TemplateResourceRef `json:"templateResourceRefs,omitempty"`
// PolicyRefs references all the ConfigMaps/Secrets containing kubernetes resources
// that need to be deployed in the matching clusters based on EventSource.
// +optional
PolicyRefs []configv1alpha1.PolicyRef `json:"policyRefs,omitempty"`
// Helm charts to be deployed in the matching clusters based on EventSource.
HelmCharts []configv1alpha1.HelmChart `json:"helmCharts,omitempty"`
// Kustomization refs
KustomizationRefs []configv1alpha1.KustomizationRef `json:"kustomizationRefs,omitempty"`
// ValidateHealths is a slice of Lua functions to run against
// the managed cluster to validate the state of those add-ons/applications
// is healthy
// +optional
ValidateHealths []configv1alpha1.ValidateHealth `json:"validateHealths,omitempty"`
}
EventTriggerSpec defines the desired state of EventTrigger
func (*EventTriggerSpec) DeepCopy ¶ added in v0.21.0
func (in *EventTriggerSpec) DeepCopy() *EventTriggerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTriggerSpec.
func (*EventTriggerSpec) DeepCopyInto ¶ added in v0.21.0
func (in *EventTriggerSpec) DeepCopyInto(out *EventTriggerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventTriggerStatus ¶ added in v0.21.0
type EventTriggerStatus 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"`
}
EventTriggerStatus defines the observed state of EventTrigger
func (*EventTriggerStatus) DeepCopy ¶ added in v0.21.0
func (in *EventTriggerStatus) DeepCopy() *EventTriggerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventTriggerStatus.
func (*EventTriggerStatus) DeepCopyInto ¶ added in v0.21.0
func (in *EventTriggerStatus) DeepCopyInto(out *EventTriggerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.