v1alpha1

package
v0.1.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2022 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=config.projectsveltos.io

Index

Constants

View Source
const (
	// SyncModeOneTime indicates feature sync should happen only once
	SyncModeOneTime = SyncMode("OneTime")

	// SyncModeContinuos indicates feature sync should continuously happen
	SyncModeContinuos = SyncMode("Continuous")
)
View Source
const (
	// FeatureKyverno is the identifier for Kyverno feature
	FeatureKyverno = FeatureID("Kyverno")

	// FeatureRole is the identifier for ClusterRole/Role feature
	FeatureRole = FeatureID("Role")
)
View Source
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")
)
View Source
const (
	// ClusterFeatureFinalizer allows ClusterFeatureReconciler to clean up resources associated with
	// ClusterFeature before removing it from the apiserver.
	ClusterFeatureFinalizer = "clusterfeaturefinalizer.projectsveltos.io"
)
View Source
const (
	// ClusterSummaryFinalizer allows ClusterSummaryReconciler to clean up resources associated with
	// ClusterSummary before removing it from the apiserver.
	ClusterSummaryFinalizer = "clustersummaryfinalizer.projectsveltos.io"
)

Variables

View Source
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

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

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 FeatureID

type FeatureID string

+kubebuilder:validation:Enum:=Kyverno;Role

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

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

const (
	RoleTypeNamespaced RoleType = "Namespaced"
	RoleTypeCluster    RoleType = "Cluster"
)

type Selector

type Selector string

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.

Jump to

Keyboard shortcuts

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