Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the lib v1alpha1 API group +kubebuilder:object:generate=true +groupName=lib.projectsveltos.io
Index ¶
- Constants
- Variables
- func Convert_v1alpha1_EventTriggerList_To_v1beta1_EventTriggerList(in *EventTriggerList, out *v1beta1.EventTriggerList, s conversion.Scope) error
- func Convert_v1alpha1_EventTriggerSpec_To_v1beta1_EventTriggerSpec(srcSpec *EventTriggerSpec, dstSpec *v1beta1.EventTriggerSpec, ...) error
- func Convert_v1alpha1_EventTriggerStatus_To_v1beta1_EventTriggerStatus(in *EventTriggerStatus, out *v1beta1.EventTriggerStatus, s conversion.Scope) error
- func Convert_v1alpha1_EventTrigger_To_v1beta1_EventTrigger(in *EventTrigger, out *v1beta1.EventTrigger, s conversion.Scope) error
- func Convert_v1beta1_EventTriggerList_To_v1alpha1_EventTriggerList(in *v1beta1.EventTriggerList, out *EventTriggerList, s conversion.Scope) error
- func Convert_v1beta1_EventTriggerSpec_To_v1alpha1_EventTriggerSpec(srcSpec *v1beta1.EventTriggerSpec, dstSpec *EventTriggerSpec, ...) error
- func Convert_v1beta1_EventTriggerStatus_To_v1alpha1_EventTriggerStatus(in *v1beta1.EventTriggerStatus, out *EventTriggerStatus, s conversion.Scope) error
- func Convert_v1beta1_EventTrigger_To_v1alpha1_EventTrigger(in *v1beta1.EventTrigger, out *EventTrigger, s conversion.Scope) error
- func RegisterConversions(s *runtime.Scheme) error
- type EventTrigger
- type EventTriggerList
- type EventTriggerSpec
- type EventTriggerStatus
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 ¶
func Convert_v1alpha1_EventTriggerList_To_v1beta1_EventTriggerList ¶ added in v0.33.0
func Convert_v1alpha1_EventTriggerList_To_v1beta1_EventTriggerList(in *EventTriggerList, out *v1beta1.EventTriggerList, s conversion.Scope) error
Convert_v1alpha1_EventTriggerList_To_v1beta1_EventTriggerList is an autogenerated conversion function.
func Convert_v1alpha1_EventTriggerSpec_To_v1beta1_EventTriggerSpec ¶ added in v0.33.0
func Convert_v1alpha1_EventTriggerSpec_To_v1beta1_EventTriggerSpec(srcSpec *EventTriggerSpec, dstSpec *v1beta1.EventTriggerSpec, scope apimachineryconversion.Scope) error
func Convert_v1alpha1_EventTriggerStatus_To_v1beta1_EventTriggerStatus ¶ added in v0.33.0
func Convert_v1alpha1_EventTriggerStatus_To_v1beta1_EventTriggerStatus(in *EventTriggerStatus, out *v1beta1.EventTriggerStatus, s conversion.Scope) error
Convert_v1alpha1_EventTriggerStatus_To_v1beta1_EventTriggerStatus is an autogenerated conversion function.
func Convert_v1alpha1_EventTrigger_To_v1beta1_EventTrigger ¶ added in v0.33.0
func Convert_v1alpha1_EventTrigger_To_v1beta1_EventTrigger(in *EventTrigger, out *v1beta1.EventTrigger, s conversion.Scope) error
Convert_v1alpha1_EventTrigger_To_v1beta1_EventTrigger is an autogenerated conversion function.
func Convert_v1beta1_EventTriggerList_To_v1alpha1_EventTriggerList ¶ added in v0.33.0
func Convert_v1beta1_EventTriggerList_To_v1alpha1_EventTriggerList(in *v1beta1.EventTriggerList, out *EventTriggerList, s conversion.Scope) error
Convert_v1beta1_EventTriggerList_To_v1alpha1_EventTriggerList is an autogenerated conversion function.
func Convert_v1beta1_EventTriggerSpec_To_v1alpha1_EventTriggerSpec ¶ added in v0.33.0
func Convert_v1beta1_EventTriggerSpec_To_v1alpha1_EventTriggerSpec(srcSpec *v1beta1.EventTriggerSpec, dstSpec *EventTriggerSpec, scope apimachineryconversion.Scope, ) error
func Convert_v1beta1_EventTriggerStatus_To_v1alpha1_EventTriggerStatus ¶ added in v0.33.0
func Convert_v1beta1_EventTriggerStatus_To_v1alpha1_EventTriggerStatus(in *v1beta1.EventTriggerStatus, out *EventTriggerStatus, s conversion.Scope) error
Convert_v1beta1_EventTriggerStatus_To_v1alpha1_EventTriggerStatus is an autogenerated conversion function.
func Convert_v1beta1_EventTrigger_To_v1alpha1_EventTrigger ¶ added in v0.33.0
func Convert_v1beta1_EventTrigger_To_v1alpha1_EventTrigger(in *v1beta1.EventTrigger, out *EventTrigger, s conversion.Scope) error
Convert_v1beta1_EventTrigger_To_v1alpha1_EventTrigger is an autogenerated conversion function.
func RegisterConversions ¶ added in v0.33.0
RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.
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) ConvertFrom ¶ added in v0.33.0
func (dst *EventTrigger) ConvertFrom(srcRaw conversion.Hub) error
ConvertFrom converts from the Hub version (v1beta1) to this v1alpha1.
func (*EventTrigger) ConvertTo ¶ added in v0.33.0
func (src *EventTrigger) ConvertTo(dstRaw conversion.Hub) error
ConvertTo converts v1alpha1 to the Hub version (v1beta1).
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"`
// SetRefs identifies referenced ClusterSets. Name of the referenced ClusterSets.
// +optional
ClusterSetRefs []string `json:"clusterSetRefs,omitempty"`
// 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"`
// Tier controls the order of deployment for ClusterProfile or Profile resources targeting
// the same cluster resources.
// Imagine two configurations (ClusterProfiles or Profiles) trying to deploy the same resource (a Kubernetes
// resource or an helm chart). By default, the first one to reach the cluster "wins" and deploys it.
// Tier allows you to override this. When conflicts arise, the ClusterProfile or Profile with the **lowest**
// Tier value takes priority and deploys the resource.
// Higher Tier values represent lower priority. The default Tier value is 100.
// Using Tiers provides finer control over resource deployment within your cluster, particularly useful
// when multiple configurations manage the same resources.
// +kubebuilder:default:=100
// +kubebuilder:validation:Minimum=1
// +optional
Tier int32 `json:"tier,omitempty"`
// By default (when ContinueOnConflict is unset or set to false), Sveltos stops deployment after
// encountering the first conflict (e.g., another ClusterProfile already deployed the resource).
// If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even
// if conflicts are detected for previous resources.
// +kubebuilder:default:=false
// +optional
ContinueOnConflict bool `json:"continueOnConflict,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"`
// ExtraLabels: These labels will be added by Sveltos to all Kubernetes resources deployed in
// a managed cluster based on this ClusterProfile/Profile instance.
// **Important:** If a resource deployed by Sveltos already has a label with a key present in
// `ExtraLabels`, the value from `ExtraLabels` will override the existing value.
// +optional
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
// ExtraAnnotations: These annotations will be added by Sveltos to all Kubernetes resources
// deployed in a managed cluster based on this ClusterProfile/Profile instance.
// **Important:** If a resource deployed by Sveltos already has a annotation with a key present in
// `ExtraAnnotations`, the value from `ExtraAnnotations` will override the existing value.
// +optional
ExtraAnnotations map[string]string `json:"extraAnnotations,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.