Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.projectsveltos.io
Index ¶
- Constants
- Variables
- type ClusterFeature
- type ClusterFeatureList
- type ClusterFeatureSpec
- type ClusterFeatureStatus
- type ClusterSummary
- type ClusterSummaryList
- type ClusterSummarySpec
- type ClusterSummaryStatus
- type FeatureID
- type FeatureStatus
- type FeatureSummary
- type KyvernoConfiguration
- type RoleType
- type Selector
- type SyncMode
- type WorkloadRole
- type WorkloadRoleList
- type WorkloadRoleSpec
- type WorkloadRoleStatus
Constants ¶
const ( // SyncModeOneTime indicates feature sync should happen only once SyncModeOneTime = SyncMode("OneTime") // SyncModeContinuos indicates feature sync should continuously happen SyncModeContinuos = SyncMode("Continuous") )
const ( // FeatureKyverno is the identifier for Kyverno feature FeatureKyverno = FeatureID("Kyverno") // FeatureRole is the identifier for ClusterRole/Role feature FeatureRole = FeatureID("Role") )
const ( // FeatureStatusProvisioning indicates that feature is being // provisioned in the workload cluster FeatureStatusProvisioning = FeatureStatus("Provisioning") // FeatureStatusProvisioned indicates that feature has being // provisioned in the workload cluster FeatureStatusProvisioned = FeatureStatus("Provisioned") // FeatureStatusFailed indicates that configuring the feature // in the workload cluster failed FeatureStatusFailed = FeatureStatus("Failed") // FeatureStatusRemoving indicates that feature is being // removed FeatureStatusRemoving = FeatureStatus("Removing") // FeatureStatusRemoved indicates that feature is removed FeatureStatusRemoved = FeatureStatus("Removed") )
const ( // ClusterFeatureFinalizer allows ClusterFeatureReconciler to clean up resources associated with // ClusterFeature before removing it from the apiserver. ClusterFeatureFinalizer = "clusterfeaturefinalizer.projectsveltos.io" )
const ( // ClusterSummaryFinalizer allows ClusterSummaryReconciler to clean up resources associated with // ClusterSummary before removing it from the apiserver. ClusterSummaryFinalizer = "clustersummaryfinalizer.projectsveltos.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "config.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 ClusterFeature ¶
type ClusterFeature struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterFeatureSpec `json:"spec,omitempty"` Status ClusterFeatureStatus `json:"status,omitempty"` }
ClusterFeature is the Schema for the clusterfeatures API
func (*ClusterFeature) DeepCopy ¶
func (in *ClusterFeature) DeepCopy() *ClusterFeature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFeature.
func (*ClusterFeature) DeepCopyInto ¶
func (in *ClusterFeature) DeepCopyInto(out *ClusterFeature)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFeature) DeepCopyObject ¶
func (in *ClusterFeature) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterFeatureList ¶
type ClusterFeatureList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterFeature `json:"items"` }
ClusterFeatureList contains a list of ClusterFeature
func (*ClusterFeatureList) DeepCopy ¶
func (in *ClusterFeatureList) DeepCopy() *ClusterFeatureList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFeatureList.
func (*ClusterFeatureList) DeepCopyInto ¶
func (in *ClusterFeatureList) DeepCopyInto(out *ClusterFeatureList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFeatureList) DeepCopyObject ¶
func (in *ClusterFeatureList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterFeatureSpec ¶
type ClusterFeatureSpec struct { // ClusterSelector identifies ClusterAPI clusters to associate to. ClusterSelector Selector `json:"clusterSelector"` // SyncMode specifies how features are synced in a matching workload cluster. // - OneTime means, first time a workload cluster matches the ClusterFeature, // 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 ClusterFeature, // features will be deployed in such a cluster. Any subsequent feature configuration // change will be applied into the matching workload clusters. // +kubebuilder:default:=OneTime // +optional SyncMode SyncMode `json:"syncMode,omitempty"` // WorkloadRoles references all the WorkloadRoles that will be used // to create ClusterRole/Role in the workload cluster. // +optional WorkloadRoles []corev1.ObjectReference `json:"workloadRoles,omitempty"` // KyvernoConfiguration contains the Kyverno configuration. // If not nil, Kyverno will be deployed in the workload cluster along with, if any, // specified Kyverno policies. // +optional KyvernoConfiguration *KyvernoConfiguration `json:"kyvernoConfiguration,omitempty"` }
ClusterFeatureSpec defines the desired state of ClusterFeature
func (*ClusterFeatureSpec) DeepCopy ¶
func (in *ClusterFeatureSpec) DeepCopy() *ClusterFeatureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFeatureSpec.
func (*ClusterFeatureSpec) DeepCopyInto ¶
func (in *ClusterFeatureSpec) DeepCopyInto(out *ClusterFeatureSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterFeatureStatus ¶
type ClusterFeatureStatus struct { // MatchingCluster reference all the cluster-api Cluster currently matching // ClusterFeature ClusterSelector MatchingClusters []corev1.ObjectReference `json:"matchinClusters,omitempty"` }
ClusterFeatureStatus defines the observed state of ClusterFeature
func (*ClusterFeatureStatus) DeepCopy ¶
func (in *ClusterFeatureStatus) DeepCopy() *ClusterFeatureStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFeatureStatus.
func (*ClusterFeatureStatus) DeepCopyInto ¶
func (in *ClusterFeatureStatus) DeepCopyInto(out *ClusterFeatureStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSummary ¶
type ClusterSummary struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSummarySpec `json:"spec,omitempty"` Status ClusterSummaryStatus `json:"status,omitempty"` }
ClusterSummary is the Schema for the clustersummaries API
func (*ClusterSummary) DeepCopy ¶
func (in *ClusterSummary) DeepCopy() *ClusterSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSummary.
func (*ClusterSummary) DeepCopyInto ¶
func (in *ClusterSummary) DeepCopyInto(out *ClusterSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSummary) DeepCopyObject ¶
func (in *ClusterSummary) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSummaryList ¶
type ClusterSummaryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterSummary `json:"items"` }
ClusterSummaryList contains a list of ClusterSummary
func (*ClusterSummaryList) DeepCopy ¶
func (in *ClusterSummaryList) DeepCopy() *ClusterSummaryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSummaryList.
func (*ClusterSummaryList) DeepCopyInto ¶
func (in *ClusterSummaryList) DeepCopyInto(out *ClusterSummaryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSummaryList) DeepCopyObject ¶
func (in *ClusterSummaryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSummarySpec ¶
type ClusterSummarySpec struct { // ClusterNamespace is the namespace of the workload Cluster this // ClusterSummary is for. ClusterNamespace string `json:"clusterNamespace"` // ClusterName is the name of the workload Cluster this ClusterSummary is for. ClusterName string `json:"clusterName"` // ClusterFeatureSpec represent the configuration that will be applied to // the workload cluster. ClusterFeatureSpec ClusterFeatureSpec `json:"clusterFeatureSpec,omitempty"` }
ClusterSummarySpec defines the desired state of ClusterSummary
func (*ClusterSummarySpec) DeepCopy ¶
func (in *ClusterSummarySpec) DeepCopy() *ClusterSummarySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSummarySpec.
func (*ClusterSummarySpec) DeepCopyInto ¶
func (in *ClusterSummarySpec) DeepCopyInto(out *ClusterSummarySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSummaryStatus ¶
type ClusterSummaryStatus struct { // FeatureSummaries reports the status of each workload cluster feature // directly managed by ClusterFeature. // +listType=atomic // +optional FeatureSummaries []FeatureSummary `json:"clusterSummaries,omitempty"` }
ClusterSummaryStatus defines the observed state of ClusterSummary
func (*ClusterSummaryStatus) DeepCopy ¶
func (in *ClusterSummaryStatus) DeepCopy() *ClusterSummaryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSummaryStatus.
func (*ClusterSummaryStatus) DeepCopyInto ¶
func (in *ClusterSummaryStatus) DeepCopyInto(out *ClusterSummaryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureStatus ¶
type FeatureStatus string
+kubebuilder:validation:Enum:=Provisioning;Provisioned;Failed;Removing;Removed
type FeatureSummary ¶
type FeatureSummary struct { // FeatureID is an indentifier of the feature whose status is reported FeatureID FeatureID `json:"featureID"` // Hash represents of a unique value for a feature at a fixed point in // time Hash []byte `json:"hash"` // Status represents the state of the feature in the workload cluster Status FeatureStatus `json:"status"` // FailureReason indicates the type of error that occurred. // +optional FailureReason *string `json:"failureReason,omitempty"` // FailureMessage provides more information about the error. // +optional FailureMessage *string `json:"failureMessage,omitempty"` }
FeatureSummary contains a summary of the state of a workload cluster feature.
func (*FeatureSummary) DeepCopy ¶
func (in *FeatureSummary) DeepCopy() *FeatureSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSummary.
func (*FeatureSummary) DeepCopyInto ¶
func (in *FeatureSummary) DeepCopyInto(out *FeatureSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KyvernoConfiguration ¶
type KyvernoConfiguration struct { // Policies references ConfigMaps containing the Kyverno policies // that need to be deployed in the workload cluster. Policies []corev1.ObjectReference `json:"policies,omitempty"` }
func (*KyvernoConfiguration) DeepCopy ¶
func (in *KyvernoConfiguration) DeepCopy() *KyvernoConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KyvernoConfiguration.
func (*KyvernoConfiguration) DeepCopyInto ¶
func (in *KyvernoConfiguration) DeepCopyInto(out *KyvernoConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleType ¶
type RoleType string
RoleType specifies whether role is namespaced or cluster wide. +kubebuilder:validation:Enum:=Namespaced;Cluster
type SyncMode ¶
type SyncMode string
SyncMode specifies how features are synced in a workload cluster. +kubebuilder:validation:Enum:=OneTime;Continuous
type WorkloadRole ¶
type WorkloadRole struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WorkloadRoleSpec `json:"spec,omitempty"` Status WorkloadRoleStatus `json:"status,omitempty"` }
WorkloadRole is the Schema for the workloadroles API
func (*WorkloadRole) DeepCopy ¶
func (in *WorkloadRole) DeepCopy() *WorkloadRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadRole.
func (*WorkloadRole) DeepCopyInto ¶
func (in *WorkloadRole) DeepCopyInto(out *WorkloadRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadRole) DeepCopyObject ¶
func (in *WorkloadRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadRoleList ¶
type WorkloadRoleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []WorkloadRole `json:"items"` }
WorkloadRoleList contains a list of WorkloadRole
func (*WorkloadRoleList) DeepCopy ¶
func (in *WorkloadRoleList) DeepCopy() *WorkloadRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadRoleList.
func (*WorkloadRoleList) DeepCopyInto ¶
func (in *WorkloadRoleList) DeepCopyInto(out *WorkloadRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadRoleList) DeepCopyObject ¶
func (in *WorkloadRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadRoleSpec ¶
type WorkloadRoleSpec struct { // Type specifies whether rules are cluster or namespaced wide // +kubebuilder:default:=Namespaced Type RoleType `json:"type"` // Namespace is the namespace where corresponding role will be created. // +optional Namespace *string `json:"namespace,omitempty"` // Rules holds all the PolicyRules for this ClusterRole // +optional Rules []rbacv1.PolicyRule `json:"rules,omitempty"` // AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. // If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be // stomped by the controller. // +optional AggregationRule *rbacv1.AggregationRule `json:"aggregationRule,omitempty"` }
WorkloadRoleSpec defines the desired state of WorkloadRole
func (*WorkloadRoleSpec) DeepCopy ¶
func (in *WorkloadRoleSpec) DeepCopy() *WorkloadRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadRoleSpec.
func (*WorkloadRoleSpec) DeepCopyInto ¶
func (in *WorkloadRoleSpec) DeepCopyInto(out *WorkloadRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadRoleStatus ¶
type WorkloadRoleStatus struct { }
WorkloadRoleStatus defines the observed state of WorkloadRole
func (*WorkloadRoleStatus) DeepCopy ¶
func (in *WorkloadRoleStatus) DeepCopy() *WorkloadRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadRoleStatus.
func (*WorkloadRoleStatus) DeepCopyInto ¶
func (in *WorkloadRoleStatus) DeepCopyInto(out *WorkloadRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.