v1alpha1

package
v0.0.0-...-b87c358 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions of the matrixone v1alpha1 API group. The MatrixOneCluster resource type helps you provision and manage MatrixOne clusters on Kubernetes. Other resources types represent sub-resources managed by MatrixOneCluster but also allows separated usage for fine-grained control. Refer to https://docs.matrixorigin.io/ for more information about MatrixOne database and matrixone-operator. +kubebuilder:object:generate=true +groupName=core.matrixorigin.io

Index

Constants

View Source
const (
	JobPhasePending   = "Pending"
	JobPhaseRunning   = "Running"
	JobPhaseCompleted = "Completed"
	JobPhaseFailed    = "Failed"
)
View Source
const (
	BucketUniqLabel = "matrixorigin.io/bucket-unique-id"

	// AnnAnyInstanceRunning is a bucket annotation indicates whether any pod instances running in a mo cluster.
	// pod instances include logset/cn/dn, if any pod of logset/cn/dn is ever in running status, this annotation will set to "true".
	// and this annotation can only be set to true, will not delete at any time.
	AnnAnyInstanceRunning = "bucket.matrixorigin.io/any-instance-running"

	// BucketDataFinalizer blocks BucketClaim reclaim until data in bucket has been recycled
	BucketDataFinalizer = "matrixorigin.io/bucket-data-finalizer"
	// BucketCNFinalizerPrefix is finalizer prefix of cn set
	BucketCNFinalizerPrefix = "matrixorigin.io/CN"
	// BucketDNFinalizerPrefix is finalizer prefix of dn set
	BucketDNFinalizerPrefix = "matrixorigin.io/DN"
)
View Source
const (
	CNClaimPhasePending CNClaimPhase = "Pending"
	CNClaimPhaseBound   CNClaimPhase = "Bound"
	CNClaimPhaseLost    CNClaimPhase = "Lost"

	CNClaimPhaseOutdated CNClaimPhase = "Outdated"

	PodOwnerNameLabel = "matrixorigin.io/owner"

	ClaimSetNameLabel = "matrixorigin.io/claimset"

	DeleteOnReclaimAnno = "matrixorigin.io/delete-on-reclaim"

	// PodLastOwnerLabel records the last owner of the pod
	PodLastOwnerLabel = "matrixorigin.io/last-owner"

	// PodOutdatedLabel denotes the pod is outdated and should not be bound
	PodOutdatedLabel = "matrixorigin.io/outdated"
)
View Source
const (
	CNPodPhaseBound       = "Bound"
	CNPodPhaseIdle        = "Idle"
	CNPodPhaseDraining    = "Draining"
	CNPodPhaseUnknown     = "Unknown"
	CNPodPhaseTerminating = "Terminating"
)
View Source
const (
	// PodClaimedByLabel is a Pod label records the claim the claims the Pod
	PodClaimedByLabel = "pool.matrixorigin.io/claimed-by"
	// CNPodPhaseLabel is the pod phase in Pool
	CNPodPhaseLabel = "pool.matrixorigin.io/phase"
	// PoolNameLabel is the pool of CN claim or CN Pod
	PoolNameLabel = "pool.matrixorigin.io/pool-name"

	// PodManagementPolicyAnno denotes the management policy of a Pod
	PodManagementPolicyAnno = "pool.matrixorigin.io/management-policy"
)
View Source
const (
	CNStoreStateUnknown  string = "Unknown"
	CNStoreStateDraining string = "Draining"
	CNStoreStateUp       string = "Up"
)
View Source
const (
	ContainerPythonUdf             string = "python-udf"
	ContainerPythonUdfDefaultPort  int    = 50051
	ContainerPythonUdfDefaultImage string = "composer000/mo-python-udf-server:latest" // TODO change it
)
View Source
const (
	ContainerMain = "main"

	EnvGoMemLimit  = "GOMEMLIMIT"
	EnvGoDebug     = "GODEBUG"
	DefaultGODebug = "madvdontneed=1,gctrace=2"
)
View Source
const (
	StorePhaseUp   = "Up"
	StorePhaseDown = "Down"
)
View Source
const (
	// StoreDrainingStartAnno is the annotation key that used to record the store draining start time
	StoreDrainingStartAnno = "matrixorigin.io/store-draining-start"

	// StoreConnectionAnno expose the connection count of the store
	StoreConnectionAnno = "matrixorigin.io/connections"

	// StoreScoreAnno expose the score of the store
	StoreScoreAnno = "matrixorigin.io/score"

	// StoreCordonAnno cordons a CN store
	StoreCordonAnno = "matrixorigin.io/store-cordon"
)
View Source
const (
	JobConditionTypeEnded = "Ended"
)
View Source
const (
	PodManagementPolicyPooling = "Pooling"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.matrixorigin.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
)
View Source
var (
	MinimalVersion = semver.Version{Major: 0, Minor: 0, Patch: 0}
)

Functions

func AddBucketFinalizer

func AddBucketFinalizer(ctx context.Context, c client.Client, lsMeta metav1.ObjectMeta, finalizer string) error

func BucketBindToMark

func BucketBindToMark(logsetMeta metav1.ObjectMeta) string

func ContainFinalizerPrefix

func ContainFinalizerPrefix(finalizers []string, prefix string) bool

func DNSetKey

func DNSetKey(mo *MatrixOneCluster) metav1.ObjectMeta

func GetCNPodUUID

func GetCNPodUUID(pod *corev1.Pod) string

func HasMOFeature

func HasMOFeature(v semver.Version, f MOFeature) bool

HasMOFeature returns whether a version contains certain MO feature

func IsPoolingPolicy

func IsPoolingPolicy(pod *corev1.Pod) bool

func LogSetKey

func LogSetKey(mo *MatrixOneCluster) metav1.ObjectMeta

func ProxyKey

func ProxyKey(mo *MatrixOneCluster) metav1.ObjectMeta

func RegisterWebhooks

func RegisterWebhooks(mgr ctrl.Manager) error

func RemoveBucketFinalizer

func RemoveBucketFinalizer(ctx context.Context, c client.Client, lsMeta metav1.ObjectMeta, finalizer string) error

func SetBucketEverRunningAnn

func SetBucketEverRunningAnn(ctx context.Context, c client.Client, bucket *BucketClaim) error

func SyncBucketEverRunningAnn

func SyncBucketEverRunningAnn(ctx context.Context, c client.Client, lsMeta metav1.ObjectMeta) error

func UniqueBucketLabel

func UniqueBucketLabel(s3Provider *S3Provider) string

UniqueBucketLabel generate an unique id for S3 provider, this id becomes a label in bucketClaim

func WebUIKey

func WebUIKey(mo *MatrixOneCluster) metav1.ObjectMeta

Types

type Backup

type Backup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Meta is the backupMeta
	Meta BackupMeta `json:"meta"`
}

A Backup is a resource that represents an MO physical backup +kubebuilder:object:root=true +kubebuilder:resource:scope="Cluster" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".meta.id" +kubebuilder:printcolumn:name="At",type="string",format="date-time",JSONPath=".meta.atTime" +kubebuilder:printcolumn:name="Source",type="string",JSONPath=".meta.sourceRef"

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.

func (*Backup) DeepCopyInto

func (in *Backup) DeepCopyInto(out *Backup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Backup) DeepCopyObject

func (in *Backup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupJob

type BackupJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the backupJobSpec
	Spec BackupJobSpec `json:"spec"`

	// Spec is the backupJobStatus
	Status BackupJobStatus `json:"status,omitempty"`
}

A BackupJob is a resource that represents an MO backup job +kubebuilder:object:root=true +kubebuilder:resource:scope="Namespaced" +kubebuilder:printcolumn:name="phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Backup",type="string",JSONPath=".status.backup" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status

func (*BackupJob) DeepCopy

func (in *BackupJob) DeepCopy() *BackupJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupJob.

func (*BackupJob) DeepCopyInto

func (in *BackupJob) DeepCopyInto(out *BackupJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupJob) DeepCopyObject

func (in *BackupJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackupJob) GetConditions

func (r *BackupJob) GetConditions() []metav1.Condition

func (*BackupJob) GetOverlay

func (r *BackupJob) GetOverlay() *Overlay

func (*BackupJob) GetPhase

func (r *BackupJob) GetPhase() string

func (*BackupJob) GetSourceRef

func (r *BackupJob) GetSourceRef() string

func (*BackupJob) GetTTL

func (r *BackupJob) GetTTL() time.Duration

func (*BackupJob) SetCondition

func (r *BackupJob) SetCondition(condition metav1.Condition)

func (*BackupJob) SetPhase

func (r *BackupJob) SetPhase(phase string)

type BackupJobList

type BackupJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BackupJob `json:"items"`
}

BackupJobList contains a list of BackupJob +kubebuilder:object:root=true

func (*BackupJobList) DeepCopy

func (in *BackupJobList) DeepCopy() *BackupJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupJobList.

func (*BackupJobList) DeepCopyInto

func (in *BackupJobList) DeepCopyInto(out *BackupJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupJobList) DeepCopyObject

func (in *BackupJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupJobSpec

type BackupJobSpec struct {
	// ttl defines the time to live of the backup job after completed or failed
	TTL *metav1.Duration `json:"ttl,omitempty"`

	// source the backup source
	Source BackupSource `json:"source"`

	Target SharedStorageProvider `json:"target"`

	Overlay *Overlay `json:"overlay,omitempty"`
}

BackupJobSpec specifies the backup job

func (*BackupJobSpec) DeepCopy

func (in *BackupJobSpec) DeepCopy() *BackupJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupJobSpec.

func (*BackupJobSpec) DeepCopyInto

func (in *BackupJobSpec) DeepCopyInto(out *BackupJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupJobStatus

type BackupJobStatus struct {
	ConditionalStatus `json:",inline"`

	Phase string `json:"phase,omitempty"`

	Backup string `json:"backup,omitempty"`
}

func (*BackupJobStatus) DeepCopy

func (in *BackupJobStatus) DeepCopy() *BackupJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupJobStatus.

func (*BackupJobStatus) DeepCopyInto

func (in *BackupJobStatus) DeepCopyInto(out *BackupJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupList

type BackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Backup `json:"items"`
}

BackupList contains a list of BackupJ +kubebuilder:object:root=true

func (*BackupList) DeepCopy

func (in *BackupList) DeepCopy() *BackupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupList.

func (*BackupList) DeepCopyInto

func (in *BackupList) DeepCopyInto(out *BackupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupList) DeepCopyObject

func (in *BackupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupMeta

type BackupMeta struct {
	// location is the data location of the backup
	Location SharedStorageProvider `json:"location"`

	// id uniquely identifies the backup
	ID string `json:"id"`

	// size is the backup data size
	Size *resource.Quantity `json:"size,omitempty"`

	// atTime is the backup start time
	AtTime metav1.Time `json:"atTime"`

	// completeTime the backup complete time
	CompleteTime metav1.Time `json:"completeTime"`

	// clusterRef is the reference to the cluster that produce this backup
	SourceRef string `json:"sourceRef"`

	Raw string `json:"raw"`
}

BackupMeta specifies the backup

func (*BackupMeta) DeepCopy

func (in *BackupMeta) DeepCopy() *BackupMeta

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupMeta.

func (*BackupMeta) DeepCopyInto

func (in *BackupMeta) DeepCopyInto(out *BackupMeta)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupSource

type BackupSource struct {
	// clusterRef is the name of the cluster to back up, mutual exclusive with cnSetRef
	ClusterRef *string `json:"clusterRef,omitempty"`

	// cnSetRef is the name of the cnSet to back up, mutual exclusive with clusterRef
	CNSetRef *string `json:"cnSetRef,omitempty"`

	// optional, secretRef is the name of the secret to use for authentication
	SecretRef *string `json:"secretRef,omitempty"`
}

BackupSource is the source of the backup job

func (*BackupSource) DeepCopy

func (in *BackupSource) DeepCopy() *BackupSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSource.

func (*BackupSource) DeepCopyInto

func (in *BackupSource) DeepCopyInto(out *BackupSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketClaim

type BucketClaim struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of BucketClaim
	Spec BucketClaimSpec `json:"spec"`

	// Status is the current state of BucketClaim
	Status BucketClaimStatus `json:"status,omitempty"`
}

A BucketClaim is a resource that represents the object storage bucket resource used by a mo cluster

func ClaimedBucket

func ClaimedBucket(c client.Client, provider *S3Provider) (*BucketClaim, error)

ClaimedBucket return claimed bucket according to S3Provider configuration, caller must ensure that provider is not nil NOTE: ClaimedBucket search bucket in cluster scope

func (*BucketClaim) DeepCopy

func (in *BucketClaim) DeepCopy() *BucketClaim

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketClaim.

func (*BucketClaim) DeepCopyInto

func (in *BucketClaim) DeepCopyInto(out *BucketClaim)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BucketClaim) DeepCopyObject

func (in *BucketClaim) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BucketClaimList

type BucketClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BucketClaim `json:"items"`
}

BucketClaimList contains a list of BucketClaim

func (*BucketClaimList) DeepCopy

func (in *BucketClaimList) DeepCopy() *BucketClaimList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketClaimList.

func (*BucketClaimList) DeepCopyInto

func (in *BucketClaimList) DeepCopyInto(out *BucketClaimList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BucketClaimList) DeepCopyObject

func (in *BucketClaimList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BucketClaimSpec

type BucketClaimSpec struct {
	// S3 specifies an S3 bucket as the shared storage provider, mutual-exclusive with other providers.
	// +required
	S3 *S3Provider `json:"s3,omitempty"`

	// LogSetTemplate is a complete copy version of kruise statefulset PodTemplateSpec
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	LogSetTemplate corev1.PodTemplateSpec `json:"logSetSpec"`
}

func (*BucketClaimSpec) DeepCopy

func (in *BucketClaimSpec) DeepCopy() *BucketClaimSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketClaimSpec.

func (*BucketClaimSpec) DeepCopyInto

func (in *BucketClaimSpec) DeepCopyInto(out *BucketClaimSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketClaimStatus

type BucketClaimStatus struct {
	// BindTo implies namespace and name of logset which BucketClaim bound to, in format of "namespace/name"
	BindTo string `json:"bindTo"`

	// +kubebuilder:validation:Enum=InUse;Released;Deleting
	State State `json:"state,omitempty"`

	// ConditionalStatus includes condition of deleting s3 resource progress
	ConditionalStatus `json:",inline"`
}

func (*BucketClaimStatus) DeepCopy

func (in *BucketClaimStatus) DeepCopy() *BucketClaimStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketClaimStatus.

func (*BucketClaimStatus) DeepCopyInto

func (in *BucketClaimStatus) DeepCopyInto(out *BucketClaimStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNClaim

type CNClaim struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec CNClaimSpec `json:"spec,omitempty"`

	// +optional
	Status CNClaimStatus `json:"status,omitempty"`
}

CNClaim claim a CN to use +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Pod",type="string",JSONPath=".spec.podName" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope="Namespaced"

func (*CNClaim) DeepCopy

func (in *CNClaim) DeepCopy() *CNClaim

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaim.

func (*CNClaim) DeepCopyInto

func (in *CNClaim) DeepCopyInto(out *CNClaim)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNClaim) DeepCopyObject

func (in *CNClaim) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CNClaim) IsReady

func (c *CNClaim) IsReady() bool

func (*CNClaim) IsUpdated

func (c *CNClaim) IsUpdated() bool

type CNClaimList

type CNClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []CNClaim `json:"items"`
}

CNClaimList contains a list of CNClaims

func (*CNClaimList) DeepCopy

func (in *CNClaimList) DeepCopy() *CNClaimList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimList.

func (*CNClaimList) DeepCopyInto

func (in *CNClaimList) DeepCopyInto(out *CNClaimList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNClaimList) DeepCopyObject

func (in *CNClaimList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNClaimPhase

type CNClaimPhase string

type CNClaimSet

type CNClaimSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec CNClaimSetSpec `json:"spec,omitempty"`

	// +optional
	Status CNClaimSetStatus `json:"status,omitempty"`
}

CNClaimSet orchestrates a set of CNClaims +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope="Namespaced" +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.labelSelector

func (*CNClaimSet) DeepCopy

func (in *CNClaimSet) DeepCopy() *CNClaimSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimSet.

func (*CNClaimSet) DeepCopyInto

func (in *CNClaimSet) DeepCopyInto(out *CNClaimSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNClaimSet) DeepCopyObject

func (in *CNClaimSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNClaimSetList

type CNClaimSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []CNClaimSet `json:"items"`
}

CNClaimSetList contains a list of CNClaimSet

func (*CNClaimSetList) DeepCopy

func (in *CNClaimSetList) DeepCopy() *CNClaimSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimSetList.

func (*CNClaimSetList) DeepCopyInto

func (in *CNClaimSetList) DeepCopyInto(out *CNClaimSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNClaimSetList) DeepCopyObject

func (in *CNClaimSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNClaimSetSpec

type CNClaimSetSpec struct {
	Replicas int32           `json:"replicas"`
	Template CNClaimTemplate `json:"template"`

	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

func (*CNClaimSetSpec) DeepCopy

func (in *CNClaimSetSpec) DeepCopy() *CNClaimSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimSetSpec.

func (*CNClaimSetSpec) DeepCopyInto

func (in *CNClaimSetSpec) DeepCopyInto(out *CNClaimSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNClaimSetStatus

type CNClaimSetStatus struct {
	Replicas      int32           `json:"replicas"`
	ReadyReplicas int32           `json:"readyReplicas"`
	Claims        []CNClaimStatus `json:"claims,omitempty"`
	LabelSelector string          `json:"labelSelector,omitempty"`

	// +optional
	// deprecated
	PodSelector string `json:"podSelector,omitempty"`
}

func (*CNClaimSetStatus) DeepCopy

func (in *CNClaimSetStatus) DeepCopy() *CNClaimSetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimSetStatus.

func (*CNClaimSetStatus) DeepCopyInto

func (in *CNClaimSetStatus) DeepCopyInto(out *CNClaimSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNClaimSpec

type CNClaimSpec struct {
	Selector *metav1.LabelSelector `json:"selector"`

	// +optional
	CNLabels []CNLabel `json:"cnLabels,omitempty"`

	// +optional
	OwnerName *string `json:"ownerName,omitempty"`

	// +optional
	// AdditionalPodLabels specifies the addition labels added to Pod after the Pod is claimed by this claim
	AdditionalPodLabels map[string]string `json:"additionalPodLabels,omitempty"`

	// +optional
	// PodName is usually populated by controller and would be part of the claim spec
	// that must be persisted once bound
	PodName string `json:"podName,omitempty"`

	// +optional
	// PoolName is usually populated by controller that which pool the claim is nominated
	PoolName string `json:"poolName,omitempty"`
}

func (*CNClaimSpec) DeepCopy

func (in *CNClaimSpec) DeepCopy() *CNClaimSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimSpec.

func (*CNClaimSpec) DeepCopyInto

func (in *CNClaimSpec) DeepCopyInto(out *CNClaimSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNClaimStatus

type CNClaimStatus struct {
	Phase CNClaimPhase  `json:"phase,omitempty"`
	Store CNStoreStatus `json:"store,omitempty"`

	BoundTime *metav1.Time `json:"boundTime,omitempty"`
}

func (*CNClaimStatus) DeepCopy

func (in *CNClaimStatus) DeepCopy() *CNClaimStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimStatus.

func (*CNClaimStatus) DeepCopyInto

func (in *CNClaimStatus) DeepCopyInto(out *CNClaimStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNClaimTemplate

type CNClaimTemplate struct {
	EmbeddedMetadata `json:"metadata,omitempty"`

	Spec CNClaimSpec `json:"spec,omitempty"`
}

func (*CNClaimTemplate) DeepCopy

func (in *CNClaimTemplate) DeepCopy() *CNClaimTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNClaimTemplate.

func (*CNClaimTemplate) DeepCopyInto

func (in *CNClaimTemplate) DeepCopyInto(out *CNClaimTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNGroup

type CNGroup struct {
	CNSetSpec `json:",inline"`

	// Name is the CNGroup name, an error will be raised if duplicated name is found in a mo cluster
	// +required
	Name string `json:"name"`
}

func (*CNGroup) DeepCopy

func (in *CNGroup) DeepCopy() *CNGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNGroup.

func (*CNGroup) DeepCopyInto

func (in *CNGroup) DeepCopyInto(out *CNGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNGroupStatus

type CNGroupStatus struct {
	Name   string `json:"name,omitempty"`
	Host   string `json:"host,omitempty"`
	Ready  bool   `json:"ready,omitempty"`
	Synced bool   `json:"synced,omitempty"`
}

func (*CNGroupStatus) DeepCopy

func (in *CNGroupStatus) DeepCopy() *CNGroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNGroupStatus.

func (*CNGroupStatus) DeepCopyInto

func (in *CNGroupStatus) DeepCopyInto(out *CNGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNGroupsStatus

type CNGroupsStatus struct {
	DesiredGroups int `json:"desiredGroups,omitempty"`
	ReadyGroups   int `json:"readyGroups,omitempty"`
	SyncedGroups  int `json:"syncedGroups,omitempty"`

	Groups []CNGroupStatus `json:"groups,omitempty"`
}

func (*CNGroupsStatus) DeepCopy

func (in *CNGroupsStatus) DeepCopy() *CNGroupsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNGroupsStatus.

func (*CNGroupsStatus) DeepCopyInto

func (in *CNGroupsStatus) DeepCopyInto(out *CNGroupsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CNGroupsStatus) Ready

func (s CNGroupsStatus) Ready() bool

func (CNGroupsStatus) Synced

func (s CNGroupsStatus) Synced() bool

type CNLabel

type CNLabel struct {
	// Key is the store label key
	Key string `json:"key,omitempty"`
	// Values are the store label values
	Values []string `json:"values,omitempty"`
}

func (*CNLabel) DeepCopy

func (in *CNLabel) DeepCopy() *CNLabel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNLabel.

func (*CNLabel) DeepCopyInto

func (in *CNLabel) DeepCopyInto(out *CNLabel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNPool

type CNPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec CNPoolSpec `json:"spec"`

	// +optional
	Status CNPoolStatus `json:"status,omitempty"`
}

CNPool maintains a pool of CN Pods +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope="Namespaced"

func (*CNPool) DeepCopy

func (in *CNPool) DeepCopy() *CNPool

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNPool.

func (*CNPool) DeepCopyInto

func (in *CNPool) DeepCopyInto(out *CNPool)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNPool) DeepCopyObject

func (in *CNPool) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNPoolList

type CNPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CNPool `json:"items"`
}

CNPoolList contains a list of CNPool

func (*CNPoolList) DeepCopy

func (in *CNPoolList) DeepCopy() *CNPoolList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNPoolList.

func (*CNPoolList) DeepCopyInto

func (in *CNPoolList) DeepCopyInto(out *CNPoolList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNPoolList) DeepCopyObject

func (in *CNPoolList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNPoolSpec

type CNPoolSpec struct {
	// Template is the CNSet template of the Pool
	Template CNSetSpec `json:"template"`

	// PodLabels is the Pod labels of the CN in Pool
	PodLabels map[string]string `json:"podLabels,omitempty"`

	// Deps is the dependencies of the Pool
	Deps CNSetDeps `json:"deps"`

	Strategy PoolStrategy `json:"strategy"`
}

func (*CNPoolSpec) DeepCopy

func (in *CNPoolSpec) DeepCopy() *CNPoolSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNPoolSpec.

func (*CNPoolSpec) DeepCopyInto

func (in *CNPoolSpec) DeepCopyInto(out *CNPoolSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNPoolStatus

type CNPoolStatus struct {
}

func (*CNPoolStatus) DeepCopy

func (in *CNPoolStatus) DeepCopy() *CNPoolStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNPoolStatus.

func (*CNPoolStatus) DeepCopyInto

func (in *CNPoolStatus) DeepCopyInto(out *CNPoolStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNRole

type CNRole string
const (
	CNRoleTP CNRole = "TP"
	CNRoleAP CNRole = "AP"
)

type CNSet

type CNSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of CNSet
	Spec CNSetSpec `json:"spec"`
	// Deps is the dependencies of CNSet
	Deps CNSetDeps `json:"deps,omitempty"`

	Status CNSetStatus `json:"status,omitempty"`
}

A CNSet is a resource that represents a set of MO's CN instances +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.labelSelector

func (*CNSet) DeepCopy

func (in *CNSet) DeepCopy() *CNSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNSet.

func (*CNSet) DeepCopyInto

func (in *CNSet) DeepCopyInto(out *CNSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNSet) DeepCopyObject

func (in *CNSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CNSet) Default

func (r *CNSet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*CNSet) GetConditions

func (s *CNSet) GetConditions() []metav1.Condition

func (*CNSet) GetDependencies

func (s *CNSet) GetDependencies() []recon.Dependency

func (*CNSet) GetServiceType

func (s *CNSet) GetServiceType() corev1.ServiceType

func (*CNSet) SetCondition

func (s *CNSet) SetCondition(condition metav1.Condition)

func (*CNSet) ValidateCreate

func (r *CNSet) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*CNSet) ValidateDelete

func (r *CNSet) ValidateDelete() (admission.Warnings, error)

func (*CNSet) ValidateUpdate

func (r *CNSet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type CNSetDeps

type CNSetDeps struct {
	LogSetRef `json:",inline"`
	// The DNSet it depends on
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	DNSet *DNSet `json:"dnSet,omitempty"`
}

func (*CNSetDeps) DeepCopy

func (in *CNSetDeps) DeepCopy() *CNSetDeps

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNSetDeps.

func (*CNSetDeps) DeepCopyInto

func (in *CNSetDeps) DeepCopyInto(out *CNSetDeps)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNSetList

type CNSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CNSet `json:"items"`
}

CNSetList contains a list of CNSet

func (*CNSetList) DeepCopy

func (in *CNSetList) DeepCopy() *CNSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNSetList.

func (*CNSetList) DeepCopyInto

func (in *CNSetList) DeepCopyInto(out *CNSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNSetList) DeepCopyObject

func (in *CNSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CNSetSpec

type CNSetSpec struct {
	PodSet                 `json:",inline"`
	ConfigThatChangeCNSpec `json:",inline"`

	// ServiceType is the service type of cn service
	// +optional
	// +kubebuilder:default=ClusterIP
	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`

	// ServiceAnnotations are the annotations for the cn service
	// +optional
	ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`

	// NodePort specifies the node port to use when ServiceType is NodePort or LoadBalancer,
	// reconciling will fail if the node port is not available.
	// +optional
	NodePort *int32 `json:"nodePort,omitempty"`

	// [TP, AP], default to TP
	// +optional
	// Deprecated: use labels instead
	Role CNRole `json:"role,omitempty"`

	// Labels are the CN labels for all the CN stores managed by this CNSet
	Labels []CNLabel `json:"cnLabels,omitempty"`

	// ScalingConfig declares the CN scaling behavior
	ScalingConfig ScalingConfig `json:"scalingConfig,omitempty"`

	// UpdateStrategy is the rolling-update strategy of CN
	UpdateStrategy RollingUpdateStrategy `json:"updateStrategy,omitempty"`

	TerminationPolicy *CNSetTerminationPolicy `json:"terminationPolicy,omitempty"`

	// PodManagementPolicy is the pod management policy of the Pod in this Set
	PodManagementPolicy *string `json:"podManagementPolicy,omitempty"`

	// PodsToDelete are the Pods to delete in the CNSet
	PodsToDelete []string `json:"podsToDelete,omitempty"`

	// PauseUpdate means the CNSet should pause rolling-update
	PauseUpdate bool `json:"pauseUpdate,omitempty"`

	// ReusePVC means whether CNSet should reuse PVC
	ReusePVC *bool `json:"reusePVC,omitempty"`
}

func (*CNSetSpec) DeepCopy

func (in *CNSetSpec) DeepCopy() *CNSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNSetSpec.

func (*CNSetSpec) DeepCopyInto

func (in *CNSetSpec) DeepCopyInto(out *CNSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CNSetSpec) Default

func (r *CNSetSpec) Default()

func (*CNSetSpec) GetReusePVC

func (s *CNSetSpec) GetReusePVC() bool

func (*CNSetSpec) GetTerminationPolicy

func (s *CNSetSpec) GetTerminationPolicy() CNSetTerminationPolicy

func (*CNSetSpec) ValidateCreate

func (r *CNSetSpec) ValidateCreate() field.ErrorList

type CNSetStatus

type CNSetStatus struct {
	ConditionalStatus `json:",inline"`

	Stores []CNStore `json:"stores,omitempty"`

	Replicas      int32  `json:"replicas,omitempty"`
	ReadyReplicas int32  `json:"readyReplicas,omitempty"`
	LabelSelector string `json:"labelSelector,omitempty"`

	Host string `json:"host,omitempty"`
	Port int    `json:"port,omitempty"`
}

CNSetStatus Figure out what status should be exposed

func (*CNSetStatus) DeepCopy

func (in *CNSetStatus) DeepCopy() *CNSetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNSetStatus.

func (*CNSetStatus) DeepCopyInto

func (in *CNSetStatus) DeepCopyInto(out *CNSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNSetTerminationPolicy

type CNSetTerminationPolicy string
const (
	CNSetTerminationPolicyDelete CNSetTerminationPolicy = "Delete"
	CNSetTerminationPolicyDrain  CNSetTerminationPolicy = "Drain"
)

type CNStore

type CNStore struct {
	UUID    string `json:"uuid,omitempty"`
	PodName string `json:"podName,omitempty"`
	State   string `json:"state,omitempty"`
}

func (*CNStore) DeepCopy

func (in *CNStore) DeepCopy() *CNStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNStore.

func (*CNStore) DeepCopyInto

func (in *CNStore) DeepCopyInto(out *CNStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNStoreStatus

type CNStoreStatus struct {
	ServiceID              string    `json:"serviceID,omitempty"`
	LockServiceAddress     string    `json:"lockServiceAddress,omitempty"`
	PipelineServiceAddress string    `json:"pipelineServiceAddress,omitempty"`
	SQLAddress             string    `json:"sqlAddress,omitempty"`
	QueryAddress           string    `json:"queryAddress,omitempty"`
	WorkState              int32     `json:"workState,omitempty"`
	Labels                 []CNLabel `json:"labels,omitempty"`
}

func (*CNStoreStatus) DeepCopy

func (in *CNStoreStatus) DeepCopy() *CNStoreStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNStoreStatus.

func (*CNStoreStatus) DeepCopyInto

func (in *CNStoreStatus) DeepCopyInto(out *CNStoreStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateRef

type CertificateRef struct {
	// secret name
	// +required
	Name string `json:"name"`

	// cert files in the secret
	// +required
	Files []string `json:"files"`
}

func (*CertificateRef) DeepCopy

func (in *CertificateRef) DeepCopy() *CertificateRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateRef.

func (*CertificateRef) DeepCopyInto

func (in *CertificateRef) DeepCopyInto(out *CertificateRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterMetrics

type ClusterMetrics struct {
	// SecretRef is the metrics user credential that allows operator to access
	// metrics from MO
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
	// Whether cluster metrics is initialized
	Initialized bool `json:"initialized,omitempty"`
}

func (*ClusterMetrics) DeepCopy

func (in *ClusterMetrics) DeepCopy() *ClusterMetrics

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterMetrics.

func (*ClusterMetrics) DeepCopyInto

func (in *ClusterMetrics) DeepCopyInto(out *ClusterMetrics)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionalStatus

type ConditionalStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*ConditionalStatus) DeepCopy

func (in *ConditionalStatus) DeepCopy() *ConditionalStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalStatus.

func (*ConditionalStatus) DeepCopyInto

func (in *ConditionalStatus) DeepCopyInto(out *ConditionalStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConditionalStatus) GetConditions

func (c *ConditionalStatus) GetConditions() []metav1.Condition

func (*ConditionalStatus) SetCondition

func (c *ConditionalStatus) SetCondition(condition metav1.Condition)

type ConfigThatChangeCNSpec

type ConfigThatChangeCNSpec struct {
	// CacheVolume is the desired local cache volume for CNSet,
	// node storage will be used if not specified
	// +optional
	CacheVolume *Volume `json:"cacheVolume,omitempty"`

	// SharedStorageCache is the configuration of the S3 sharedStorageCache
	SharedStorageCache SharedStorageCache `json:"sharedStorageCache,omitempty"`

	// PythonUdfSidecar is the python udf server in CN
	PythonUdfSidecar PythonUdfSidecar `json:"pythonUdfSidecar,omitempty"`
}

ConfigThatChangeCNSpec is an auxiliary struct to hold the config that can change CN spec

func (*ConfigThatChangeCNSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigThatChangeCNSpec.

func (*ConfigThatChangeCNSpec) DeepCopyInto

func (in *ConfigThatChangeCNSpec) DeepCopyInto(out *ConfigThatChangeCNSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSet

type DNSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the desired state of DNSet
	Spec DNSetSpec `json:"spec"`
	// Deps is the dependencies of DNSet
	Deps DNSetDeps `json:"deps,omitempty"`

	Status DNSetStatus `json:"status,omitempty"`
}

A DNSet is a resource that represents a set of MO's DN instances +kubebuilder:subresource:status

func (*DNSet) DeepCopy

func (in *DNSet) DeepCopy() *DNSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSet.

func (*DNSet) DeepCopyInto

func (in *DNSet) DeepCopyInto(out *DNSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSet) DeepCopyObject

func (in *DNSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DNSet) Default

func (r *DNSet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*DNSet) GetConditions

func (d *DNSet) GetConditions() []metav1.Condition

func (*DNSet) GetDNSBasedIdentity

func (d *DNSet) GetDNSBasedIdentity() bool

func (*DNSet) GetDependencies

func (d *DNSet) GetDependencies() []recon.Dependency

func (*DNSet) SetCondition

func (d *DNSet) SetCondition(condition metav1.Condition)

func (*DNSet) ValidateCreate

func (r *DNSet) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*DNSet) ValidateDelete

func (r *DNSet) ValidateDelete() (admission.Warnings, error)

func (*DNSet) ValidateUpdate

func (r *DNSet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type DNSetDeps

type DNSetDeps struct {
	LogSetRef `json:",inline"`
}

func (*DNSetDeps) DeepCopy

func (in *DNSetDeps) DeepCopy() *DNSetDeps

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSetDeps.

func (*DNSetDeps) DeepCopyInto

func (in *DNSetDeps) DeepCopyInto(out *DNSetDeps)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSetList

type DNSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DNSet `json:"items"`
}

DNSetList contains a list of DNSet

func (*DNSetList) DeepCopy

func (in *DNSetList) DeepCopy() *DNSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSetList.

func (*DNSetList) DeepCopyInto

func (in *DNSetList) DeepCopyInto(out *DNSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSetList) DeepCopyObject

func (in *DNSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DNSetSpec

type DNSetSpec struct {
	PodSet `json:",inline"`

	// CacheVolume is the desired local cache volume for DNSet,
	// node storage will be used if not specified
	// +optional
	CacheVolume *Volume `json:"cacheVolume,omitempty"`

	SharedStorageCache SharedStorageCache `json:"sharedStorageCache,omitempty"`
}

func (*DNSetSpec) DeepCopy

func (in *DNSetSpec) DeepCopy() *DNSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSetSpec.

func (*DNSetSpec) DeepCopyInto

func (in *DNSetSpec) DeepCopyInto(out *DNSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSetSpec) Default

func (r *DNSetSpec) Default()

func (*DNSetSpec) ValidateCreate

func (r *DNSetSpec) ValidateCreate() field.ErrorList

type DNSetStatus

type DNSetStatus struct {
	ConditionalStatus `json:",inline"`
	FailoverStatus    `json:",inline"`
}

func (*DNSetStatus) DeepCopy

func (in *DNSetStatus) DeepCopy() *DNSetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSetStatus.

func (*DNSetStatus) DeepCopyInto

func (in *DNSetStatus) DeepCopyInto(out *DNSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultArgs

type DefaultArgs struct {
	LogService []string `json:"logService,omitempty"`
	DN         []string `json:"dn,omitempty"`
	CN         []string `json:"cn,omitempty"`
	Proxy      []string `json:"proxy,omitempty"`
}

DefaultArgs contain default service args for logservice/dn/tp, these default args set in matrixone-operator-cm configmap

var (
	// ServiceDefaultArgs is a cache variable for default args, should be read only in this package
	ServiceDefaultArgs *DefaultArgs
)

func (*DefaultArgs) DeepCopy

func (in *DefaultArgs) DeepCopy() *DefaultArgs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultArgs.

func (*DefaultArgs) DeepCopyInto

func (in *DefaultArgs) DeepCopyInto(out *DefaultArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EmbeddedMetadata

type EmbeddedMetadata struct {
	// +optional
	Name string `json:"name,omitempty"`

	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*EmbeddedMetadata) DeepCopy

func (in *EmbeddedMetadata) DeepCopy() *EmbeddedMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedMetadata.

func (*EmbeddedMetadata) DeepCopyInto

func (in *EmbeddedMetadata) DeepCopyInto(out *EmbeddedMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalLogSet

type ExternalLogSet struct {
	// HAKeeperEndpoint of the ExternalLogSet
	// +required
	HAKeeperEndpoint string `json:"haKeeperEndpoint,omitempty"`
}

func (*ExternalLogSet) DeepCopy

func (in *ExternalLogSet) DeepCopy() *ExternalLogSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalLogSet.

func (*ExternalLogSet) DeepCopyInto

func (in *ExternalLogSet) DeepCopyInto(out *ExternalLogSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailedPodStrategy

type FailedPodStrategy string
const (
	FailedPodStrategyOrphan FailedPodStrategy = "Orphan"
	FailedPodStrategyDelete FailedPodStrategy = "Delete"
)

type FailoverStatus

type FailoverStatus struct {
	AvailableStores []Store `json:"availableStores,omitempty"`
	FailedStores    []Store `json:"failedStores,omitempty"`
}

func (*FailoverStatus) DeepCopy

func (in *FailoverStatus) DeepCopy() *FailoverStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverStatus.

func (*FailoverStatus) DeepCopyInto

func (in *FailoverStatus) DeepCopyInto(out *FailoverStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FailoverStatus) StoresFailedFor

func (s *FailoverStatus) StoresFailedFor(d time.Duration) []Store

type FileSystemProvider

type FileSystemProvider struct {
	// Path the path that the shared fileSystem mounted to
	// +required
	Path string `json:"path"`
}

func (*FileSystemProvider) DeepCopy

func (in *FileSystemProvider) DeepCopy() *FileSystemProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemProvider.

func (*FileSystemProvider) DeepCopyInto

func (in *FileSystemProvider) DeepCopyInto(out *FileSystemProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitialConfig

type InitialConfig struct {
	// LogShards is the initial number of log shards,
	// cannot be tuned after cluster creation currently.
	// default to 1
	// +required
	LogShards *int `json:"logShards,omitempty"`

	// DNShards is the initial number of DN shards,
	// cannot be tuned after cluster creation currently.
	// default to 1
	// +required
	DNShards *int `json:"dnShards,omitempty"`

	// LogShardReplicas is the replica numbers of each log shard,
	// cannot be tuned after cluster creation currently.
	// default to 3 if LogSet replicas >= 3, to 1 otherwise
	// +required
	LogShardReplicas *int `json:"logShardReplicas,omitempty"`

	// RestoreFrom declares the HAKeeper data should be restored
	// from the given path when hakeeper is bootstrapped
	RestoreFrom *string `json:"restoreFrom,omitempty"`
}

func (*InitialConfig) DeepCopy

func (in *InitialConfig) DeepCopy() *InitialConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialConfig.

func (*InitialConfig) DeepCopyInto

func (in *InitialConfig) DeepCopyInto(out *InitialConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogSet

type LogSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of LogSet
	Spec LogSetSpec `json:"spec"`

	Status LogSetStatus `json:"status,omitempty"`
}

A LogSet is a resource that represents a set of MO's LogService instances +kubebuilder:subresource:status

func (*LogSet) AsDependency

func (l *LogSet) AsDependency() LogSetRef

func (*LogSet) DeepCopy

func (in *LogSet) DeepCopy() *LogSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSet.

func (*LogSet) DeepCopyInto

func (in *LogSet) DeepCopyInto(out *LogSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogSet) DeepCopyObject

func (in *LogSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LogSet) Default

func (r *LogSet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*LogSet) GetConditions

func (d *LogSet) GetConditions() []metav1.Condition

func (*LogSet) SetCondition

func (d *LogSet) SetCondition(condition metav1.Condition)

func (*LogSet) ValidateCreate

func (r *LogSet) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*LogSet) ValidateDelete

func (r *LogSet) ValidateDelete() (admission.Warnings, error)

func (*LogSet) ValidateUpdate

func (r *LogSet) ValidateUpdate(o runtime.Object) (admission.Warnings, error)

type LogSetDiscovery

type LogSetDiscovery struct {
	Port    int32  `json:"port,omitempty"`
	Address string `json:"address,omitempty"`
}

func (*LogSetDiscovery) DeepCopy

func (in *LogSetDiscovery) DeepCopy() *LogSetDiscovery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSetDiscovery.

func (*LogSetDiscovery) DeepCopyInto

func (in *LogSetDiscovery) DeepCopyInto(out *LogSetDiscovery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogSetDiscovery) String

func (l *LogSetDiscovery) String() string

type LogSetList

type LogSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LogSet `json:"items"`
}

LogSetList contains a list of LogSet

func (*LogSetList) DeepCopy

func (in *LogSetList) DeepCopy() *LogSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSetList.

func (*LogSetList) DeepCopyInto

func (in *LogSetList) DeepCopyInto(out *LogSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogSetList) DeepCopyObject

func (in *LogSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogSetRef

type LogSetRef struct {
	// The LogSet it depends on, mutual exclusive with ExternalLogSet
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	LogSet *LogSet `json:"logSet,omitempty"`

	// An external LogSet the CNSet should connected to,
	// mutual exclusive with LogSet
	// TODO: rethink the schema of ExternalLogSet
	// +optional
	ExternalLogSet *ExternalLogSet `json:"externalLogSet,omitempty"`
}

LogSetRef reference to an LogSet, either internal or external

func (*LogSetRef) DeepCopy

func (in *LogSetRef) DeepCopy() *LogSetRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSetRef.

func (*LogSetRef) DeepCopyInto

func (in *LogSetRef) DeepCopyInto(out *LogSetRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogSetSpec

type LogSetSpec struct {
	PodSet `json:",inline"`

	// Volume is the local persistent volume for each LogService instance
	// +required
	Volume Volume `json:"volume"`

	// SharedStorage is an external shared storage shared by all LogService instances
	// +required
	SharedStorage SharedStorageProvider `json:"sharedStorage"`

	// InitialConfig is the initial configuration of HAKeeper
	// InitialConfig is immutable
	// +optional
	InitialConfig InitialConfig `json:"initialConfig"`

	// StoreFailureTimeout is the timeout to fail-over the logset Pod after a failure of it is observed
	// +optional
	StoreFailureTimeout *metav1.Duration `json:"storeFailureTimeout,omitempty"`

	// FailedPodStrategy controls how to handle failed pod when failover happens, default to Delete
	FailedPodStrategy *FailedPodStrategy `json:"failedPodStrategy,omitempty"`

	// PVCRetentionPolicy defines the retention policy of orphaned PVCs due to cluster deletion, scale-in
	// or failover. Available options:
	// - Delete: delete orphaned PVCs
	// - Retain: keep orphaned PVCs, if the corresponding Pod get created again (e.g. scale-in and scale-out, recreate the cluster),
	// the Pod will reuse the retained PVC which contains previous data. Retained PVCs require manual cleanup if they are no longer needed.
	// The default policy is Delete.
	// +optional
	PVCRetentionPolicy *PVCRetentionPolicy `json:"pvcRetentionPolicy,omitempty"`
}

func (*LogSetSpec) DeepCopy

func (in *LogSetSpec) DeepCopy() *LogSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSetSpec.

func (*LogSetSpec) DeepCopyInto

func (in *LogSetSpec) DeepCopyInto(out *LogSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogSetSpec) Default

func (r *LogSetSpec) Default()

func (*LogSetSpec) GetFailedPodStrategy

func (l *LogSetSpec) GetFailedPodStrategy() FailedPodStrategy

func (*LogSetSpec) GetPVCRetentionPolicy

func (l *LogSetSpec) GetPVCRetentionPolicy() PVCRetentionPolicy

func (*LogSetSpec) GetS3RetentionPolicy

func (l *LogSetSpec) GetS3RetentionPolicy() *PVCRetentionPolicy

func (*LogSetSpec) GetStoreFailureTimeout

func (l *LogSetSpec) GetStoreFailureTimeout() metav1.Duration

func (*LogSetSpec) ValidateCreate

func (r *LogSetSpec) ValidateCreate(meta metav1.ObjectMeta) field.ErrorList

func (*LogSetSpec) ValidateUpdate

func (r *LogSetSpec) ValidateUpdate(old *LogSetSpec, meta metav1.ObjectMeta) field.ErrorList

type LogSetStatus

type LogSetStatus struct {
	ConditionalStatus `json:",inline"`
	FailoverStatus    `json:",inline"`

	Discovery *LogSetDiscovery `json:"discovery,omitempty"`
}

TODO: figure out what status should be exposed

func (*LogSetStatus) DeepCopy

func (in *LogSetStatus) DeepCopy() *LogSetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSetStatus.

func (*LogSetStatus) DeepCopyInto

func (in *LogSetStatus) DeepCopyInto(out *LogSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MOFeature

type MOFeature string
const (
	MOFeaturePipelineInfo  MOFeature = "PipelineInfo"
	MOFeatureSessionSource MOFeature = "SessionSource"
	MOFeatureLockMigration MOFeature = "LockMigration"
)

type MainContainer

type MainContainer struct {
	// Image is the docker image of the main container
	// +optional
	Image string `json:"image,omitempty"`

	// Resources is the resource requirement of the main conainer
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

MainContainer is the description of the main container of a Pod

func (*MainContainer) DeepCopy

func (in *MainContainer) DeepCopy() *MainContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainContainer.

func (*MainContainer) DeepCopyInto

func (in *MainContainer) DeepCopyInto(out *MainContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MainContainerOverlay

type MainContainerOverlay struct {
	// +optional
	Command []string `json:"command,omitempty"`

	// +optional
	Args []string `json:"args,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Env []corev1.EnvVar `json:"env,omitempty"`

	// ImagePullPolicy is the pull policy of MatrixOne image. The default value is the same as the
	// default of Kubernetes.
	// +optional
	// +kubebuilder:default=IfNotPresent
	// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
	ImagePullPolicy *corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	StartupProbe *corev1.Probe `json:"startupProbe,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Lifecycle *corev1.Lifecycle `json:"lifecycle,omitempty"`
}

func (*MainContainerOverlay) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainContainerOverlay.

func (*MainContainerOverlay) DeepCopyInto

func (in *MainContainerOverlay) DeepCopyInto(out *MainContainerOverlay)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatrixOneCluster

type MatrixOneCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of MatrixOneCluster
	Spec MatrixOneClusterSpec `json:"spec"`

	// Status is the current state of MatrixOneCluster
	Status MatrixOneClusterStatus `json:"status,omitempty"`
}

A MatrixOneCluster is a resource that represents a MatrixOne Cluster +kubebuilder:subresource:status +kubebuilder:resource:shortName=mo +kubebuilder:printcolumn:name="Log",type="integer",JSONPath=".spec.logService.replicas" +kubebuilder:printcolumn:name="DN",type="integer",JSONPath=".spec.dn.replicas" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*MatrixOneCluster) DeepCopy

func (in *MatrixOneCluster) DeepCopy() *MatrixOneCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatrixOneCluster.

func (*MatrixOneCluster) DeepCopyInto

func (in *MatrixOneCluster) DeepCopyInto(out *MatrixOneCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MatrixOneCluster) DeepCopyObject

func (in *MatrixOneCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MatrixOneCluster) Default

func (r *MatrixOneCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MatrixOneCluster) DefaultImage

func (m *MatrixOneCluster) DefaultImage() string

func (*MatrixOneCluster) DnSetImage

func (m *MatrixOneCluster) DnSetImage() string

func (*MatrixOneCluster) GetConditions

func (mo *MatrixOneCluster) GetConditions() []metav1.Condition

func (*MatrixOneCluster) GetMetricReaderEnabled

func (m *MatrixOneCluster) GetMetricReaderEnabled() bool

func (*MatrixOneCluster) GetTN

func (m *MatrixOneCluster) GetTN() *DNSetSpec

func (*MatrixOneCluster) LogSetImage

func (m *MatrixOneCluster) LogSetImage() string

func (*MatrixOneCluster) ProxySetImage

func (m *MatrixOneCluster) ProxySetImage() string

func (*MatrixOneCluster) SetCondition

func (mo *MatrixOneCluster) SetCondition(condition metav1.Condition)

func (*MatrixOneCluster) ValidateCreate

func (r *MatrixOneCluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MatrixOneCluster) ValidateDelete

func (r *MatrixOneCluster) ValidateDelete() (admission.Warnings, error)

func (*MatrixOneCluster) ValidateUpdate

func (r *MatrixOneCluster) ValidateUpdate(o runtime.Object) (admission.Warnings, error)

type MatrixOneClusterList

type MatrixOneClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MatrixOneCluster `json:"items"`
}

MatrixOneClusterList contains a list of MatrixOneCluster

func (*MatrixOneClusterList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatrixOneClusterList.

func (*MatrixOneClusterList) DeepCopyInto

func (in *MatrixOneClusterList) DeepCopyInto(out *MatrixOneClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MatrixOneClusterList) DeepCopyObject

func (in *MatrixOneClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MatrixOneClusterSpec

type MatrixOneClusterSpec struct {
	// TP is the default CN pod set that accepts client connections and execute queries
	// Deprecated: use cnGroups instead
	// +optional
	TP *CNSetSpec `json:"tp,omitempty"`

	// AP is an optional CN pod set that accept MPP sub-plans to accelerate sql queries
	// Deprecated: use cnGroups instead
	// +optional
	AP *CNSetSpec `json:"ap,omitempty"`

	// CNGroups are CN pod sets that have different spec like resources, arch, store labels
	// +listMapKey=name
	// +listType=map
	CNGroups []CNGroup `json:"cnGroups,omitempty"`

	// DN is the default DN pod set of this Cluster
	// Deprecated: use TN instead
	DN *DNSetSpec `json:"dn,omitempty"`

	// TN is the default TN pod set of this Cluster
	TN *DNSetSpec `json:"tn,omitempty"`

	// LogService is the default LogService pod set of this cluster
	LogService LogSetSpec `json:"logService"`

	// WebUI is the default web ui pod of this cluster
	// +optional
	WebUI *WebUISpec `json:"webui,omitempty"`

	// Proxy defines an optional MO Proxy of this cluster
	// +optional
	Proxy *ProxySetSpec `json:"proxy,omitempty"`

	// Version is the version of the cluster, which translated
	// to the docker image tag used for each component.
	// default to the recommended version of the operator
	// +required
	Version string `json:"version"`

	// ImageRepository allows user to override the default image
	// repository in order to use a docker registry proxy or private
	// registry.
	// +required
	ImageRepository string `json:"imageRepository,omitempty"`

	// TopologyEvenSpread specifies default topology policy for all components,
	// this will be overridden by component-level config
	// +optional
	TopologyEvenSpread []string `json:"topologySpread,omitempty"`

	// NodeSelector specifies default node selector for all components,
	// this will be overridden by component-level config
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +optional
	ImagePullPolicy *corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// +optional
	// +immutable
	RestoreFrom *string `json:"restoreFrom,omitempty"`

	// +optional
	// MetricReaderEnabled enables metric reader for operator and other apps to query
	// metric from MO cluster
	MetricReaderEnabled *bool `json:"metricReaderEnabled,omitempty"`

	// SemanticVersion override the semantic version of CN if set,
	// the semantic version of CN will be default to the image tag,
	// if the semantic version is not set, nor the image tag is a valid semantic version,
	// operator will treat the MO as unknown version and will not apply any version-specific
	// reconciliations
	// +optional
	SemanticVersion *string `json:"semanticVersion,omitempty"`
}

MatrixOneClusterSpec defines the desired state of MatrixOneCluster Note that MatrixOneCluster does not support specify overlay for underlying sets directly due to the size limitation of kubernetes apiserver

func (*MatrixOneClusterSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatrixOneClusterSpec.

func (*MatrixOneClusterSpec) DeepCopyInto

func (in *MatrixOneClusterSpec) DeepCopyInto(out *MatrixOneClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MatrixOneClusterStatus

type MatrixOneClusterStatus struct {
	ConditionalStatus `json:",inline"`

	// Phase is a human-readable description of current cluster condition,
	// programmatic client should rely on ConditionalStatus rather than phase.
	Phase string `json:"phase,omitempty"`

	// CredentialRef is the initial credential of the mo database which can be
	// used to connect to the database.
	CredentialRef *corev1.LocalObjectReference `json:"credentialRef,omitempty"`

	ClusterMetrics ClusterMetrics `json:"clusterMetrics,omitempty"`

	CNGroupStatus CNGroupsStatus `json:"cnGroups,omitempty"`

	// DN is the DN set status
	DN *DNSetStatus `json:"dn,omitempty"`
	// Proxy is the Proxy set status
	Proxy *ProxySetStatus `json:"proxy,omitempty"`

	// Webui is the webui service status
	Webui *WebUIStatus `json:"webui,omitempty"`

	// LogService is the LogService status
	LogService *LogSetStatus `json:"logService,omitempty"`

	// Readable is the readable status for human
	Readable *ReadableStatus `json:"readable,omitempty"`

	Host string `json:"host,omitempty"`
	Port int    `json:"port,omitempty"`
}

MatrixOneClusterStatus defines the observed state of MatrixOneCluster

func (*MatrixOneClusterStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatrixOneClusterStatus.

func (*MatrixOneClusterStatus) DeepCopyInto

func (in *MatrixOneClusterStatus) DeepCopyInto(out *MatrixOneClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectRef

type ObjectRef struct {
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// +required
	Name string `json:"name"`
}

func (*ObjectRef) DeepCopy

func (in *ObjectRef) DeepCopy() *ObjectRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.

func (*ObjectRef) DeepCopyInto

func (in *ObjectRef) DeepCopyInto(out *ObjectRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ObjectRef) NamespacedName

func (o *ObjectRef) NamespacedName() types.NamespacedName

type Overlay

type Overlay struct {
	MainContainerOverlay `json:",inline"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	VolumeClaims []corev1.PersistentVolumeClaim `json:"volumeClaims,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	InitContainers []corev1.Container `json:"initContainers,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	SidecarContainers []corev1.Container `json:"sidecarContainers,omitempty"`

	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// +optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`

	// +optional
	PodLabels map[string]string `json:"podLabels,omitempty"`

	// +optional
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	// +optional
	ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty"`
}

Overlay allows advanced customization of the pod spec in the set

func (*Overlay) AppendVolumeClaims

func (o *Overlay) AppendVolumeClaims(claims *[]corev1.PersistentVolumeClaim)

AppendVolumeClaims append the volume claims to the given claims

func (*Overlay) DeepCopy

func (in *Overlay) DeepCopy() *Overlay

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overlay.

func (*Overlay) DeepCopyInto

func (in *Overlay) DeepCopyInto(out *Overlay)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Overlay) OverlayMainContainer

func (o *Overlay) OverlayMainContainer(c *corev1.Container)

func (*Overlay) OverlayPodMeta

func (o *Overlay) OverlayPodMeta(meta *metav1.ObjectMeta)

func (*Overlay) OverlayPodSpec

func (o *Overlay) OverlayPodSpec(pod *corev1.PodSpec)

type PVCRetentionPolicy

type PVCRetentionPolicy string
const (
	PVCRetentionPolicyDelete PVCRetentionPolicy = "Delete"
	PVCRetentionPolicyRetain PVCRetentionPolicy = "Retain"
)

type PodSet

type PodSet struct {
	MainContainer `json:",inline"`

	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Overlay *Overlay `json:"overlay,omitempty"`

	// Replicas is the desired number of pods of this set
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// TopologyEvenSpread specifies what topology domains the Pods in set should be
	// evenly spread in.
	// This will be overridden by .overlay.TopologySpreadConstraints
	// +optional
	TopologyEvenSpread []string `json:"topologySpread,omitempty"`

	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Config is the raw config for pods
	Config *TomlConfig `json:"config,omitempty"`

	// If enabled, use the Pod dns name as the Pod identity
	// Deprecated: DNSBasedIdentity is barely for keeping backward compatibility
	DNSBasedIdentity *bool `json:"dnsBasedIdentity,omitempty"`

	// ClusterDomain is the cluster-domain of current kubernetes cluster,
	// refer https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ for details
	ClusterDomain string `json:"clusterDomain,omitempty"`

	// ServiceArgs define command line options for process, used by logset/cnset/dnset service.
	// NOTE: user should not define "-cfg" argument in this field, which is defined default by controller
	// +optional
	ServiceArgs []string `json:"serviceArgs,omitempty"`

	// MemoryLimitPercent is percent used to set GOMEMLIMIT env, its value must be in interval (0, 100].
	// GOMEMLIMIT = limits.memory * MemoryLimitPercent / 100
	// +optional
	MemoryLimitPercent *int `json:"memoryLimitPercent,omitempty"`

	// ExportToPrometheus enables the pod to be discovered scraped by Prometheus
	ExportToPrometheus *bool `json:"exportToPrometheus,omitempty"`

	// PromDiscoveryScheme indicates how the Pod will be discovered by prometheus, options:
	// - Pod: the pod will be discovered via will-known labels on the Pod
	// - Service: the pod will be discovered via will-known annotations in the service which expose endpoints to the pods
	// default to Service
	PromDiscoveryScheme *PromDiscoveryScheme `json:"promDiscoveryScheme,omitempty"`

	// SemanticVersion override the semantic version of CN if set,
	// the semantic version of CN will be default to the image tag,
	// if the semantic version is not set, nor the image tag is a valid semantic version,
	// operator will treat the MO as unknown version and will not apply any version-specific
	// reconciliations
	// +optional
	SemanticVersion *string `json:"semanticVersion,omitempty"`
}

PodSet is an auxiliary struct to describe a set of isomorphic pods.

func (*PodSet) DeepCopy

func (in *PodSet) DeepCopy() *PodSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSet.

func (*PodSet) DeepCopyInto

func (in *PodSet) DeepCopyInto(out *PodSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodSet) GetExportToPrometheus

func (p *PodSet) GetExportToPrometheus() bool

func (*PodSet) GetPromDiscoveryScheme

func (p *PodSet) GetPromDiscoveryScheme() PromDiscoveryScheme

func (*PodSet) GetSemVer

func (p *PodSet) GetSemVer() (*semver.Version, bool)

func (*PodSet) PromDiscoveredByPod

func (p *PodSet) PromDiscoveredByPod() bool

func (*PodSet) PromDiscoveredByService

func (p *PodSet) PromDiscoveredByService() bool

type PoolScaleStrategy

type PoolScaleStrategy struct {
	MaxIdle int32 `json:"maxIdle"`

	// +optional
	// MaxPods allowed in this Pool, nil means no limit
	MaxPods *int32 `json:"maxPods,omitempty"`
}

func (*PoolScaleStrategy) DeepCopy

func (in *PoolScaleStrategy) DeepCopy() *PoolScaleStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolScaleStrategy.

func (*PoolScaleStrategy) DeepCopyInto

func (in *PoolScaleStrategy) DeepCopyInto(out *PoolScaleStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PoolScaleStrategy) GetMaxPods

func (s *PoolScaleStrategy) GetMaxPods() int32

type PoolStrategy

type PoolStrategy struct {
	// UpdateStrategy defines the strategy for pool updating
	UpdateStrategy PoolUpdateStrategy `json:"updateStrategy"`

	// UpdateStrategy defines the strategy for pool scaling
	ScaleStrategy PoolScaleStrategy `json:"scaleStrategy"`
}

func (*PoolStrategy) DeepCopy

func (in *PoolStrategy) DeepCopy() *PoolStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolStrategy.

func (*PoolStrategy) DeepCopyInto

func (in *PoolStrategy) DeepCopyInto(out *PoolStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PoolUpdateStrategy

type PoolUpdateStrategy struct {
	// +optional
	ReclaimTimeout *metav1.Duration `json:"reclaimTimeout,omitempty"`
}

func (*PoolUpdateStrategy) DeepCopy

func (in *PoolUpdateStrategy) DeepCopy() *PoolUpdateStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolUpdateStrategy.

func (*PoolUpdateStrategy) DeepCopyInto

func (in *PoolUpdateStrategy) DeepCopyInto(out *PoolUpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PromDiscoveryScheme

type PromDiscoveryScheme string
const (
	PromDiscoverySchemePod     PromDiscoveryScheme = "Pod"
	PromDiscoverySchemeService PromDiscoveryScheme = "Service"
)

type ProxySet

type ProxySet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of ProxySet
	Spec ProxySetSpec `json:"spec"`
	// Deps is the dependencies of ProxySet
	Deps ProxySetDeps `json:"deps,omitempty"`

	Status ProxySetStatus `json:"status,omitempty"`
}

A ProxySet is a resource that represents a set of MO's Proxy instances +kubebuilder:subresource:status

func (*ProxySet) DeepCopy

func (in *ProxySet) DeepCopy() *ProxySet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySet.

func (*ProxySet) DeepCopyInto

func (in *ProxySet) DeepCopyInto(out *ProxySet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxySet) DeepCopyObject

func (in *ProxySet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProxySet) Default

func (r *ProxySet) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ProxySet) GetConditions

func (s *ProxySet) GetConditions() []metav1.Condition

func (*ProxySet) GetDependencies

func (s *ProxySet) GetDependencies() []recon.Dependency

func (*ProxySet) GetServiceType

func (s *ProxySet) GetServiceType() corev1.ServiceType

func (*ProxySet) SetCondition

func (s *ProxySet) SetCondition(condition metav1.Condition)

func (*ProxySet) ValidateCreate

func (r *ProxySet) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ProxySet) ValidateDelete

func (r *ProxySet) ValidateDelete() (admission.Warnings, error)

func (*ProxySet) ValidateUpdate

func (r *ProxySet) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type ProxySetDeps

type ProxySetDeps struct {
	LogSetRef `json:",inline"`
}

func (*ProxySetDeps) DeepCopy

func (in *ProxySetDeps) DeepCopy() *ProxySetDeps

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySetDeps.

func (*ProxySetDeps) DeepCopyInto

func (in *ProxySetDeps) DeepCopyInto(out *ProxySetDeps)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxySetList

type ProxySetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProxySet `json:"items"`
}

ProxySetList contains a list of Proxy

func (*ProxySetList) DeepCopy

func (in *ProxySetList) DeepCopy() *ProxySetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySetList.

func (*ProxySetList) DeepCopyInto

func (in *ProxySetList) DeepCopyInto(out *ProxySetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxySetList) DeepCopyObject

func (in *ProxySetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProxySetSpec

type ProxySetSpec struct {
	PodSet `json:",inline"`

	// ServiceType is the service type of proxy service
	// +optional
	// +kubebuilder:default=ClusterIP
	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`

	// ServiceAnnotations are the annotations for the proxy service
	// +optional
	ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`

	// NodePort specifies the node port to use when ServiceType is NodePort or LoadBalancer,
	// reconciling will fail if the node port is not available.
	// +optional
	NodePort *int32 `json:"nodePort,omitempty"`

	MinReadySeconds int32 `json:"minReadySeconds,omitempty"`
}

func (*ProxySetSpec) DeepCopy

func (in *ProxySetSpec) DeepCopy() *ProxySetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySetSpec.

func (*ProxySetSpec) DeepCopyInto

func (in *ProxySetSpec) DeepCopyInto(out *ProxySetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxySetSpec) Default

func (r *ProxySetSpec) Default()

type ProxySetStatus

type ProxySetStatus struct {
	ConditionalStatus `json:",inline"`

	Host string `json:"host,omitempty"`
	Port int    `json:"port,omitempty"`
}

func (*ProxySetStatus) DeepCopy

func (in *ProxySetStatus) DeepCopy() *ProxySetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySetStatus.

func (*ProxySetStatus) DeepCopyInto

func (in *ProxySetStatus) DeepCopyInto(out *ProxySetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PythonUdfSidecar

type PythonUdfSidecar struct {
	Enabled bool `json:"enabled,omitempty"`

	Port int `json:"port,omitempty"`

	// Image is the docker image of the python udf server
	Image string `json:"image,omitempty"`

	// Resources is the resource requirement of the python udf server
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Overlay *MainContainerOverlay `json:"overlay,omitempty"`
}

func (*PythonUdfSidecar) DeepCopy

func (in *PythonUdfSidecar) DeepCopy() *PythonUdfSidecar

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PythonUdfSidecar.

func (*PythonUdfSidecar) DeepCopyInto

func (in *PythonUdfSidecar) DeepCopyInto(out *PythonUdfSidecar)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReadableStatus

type ReadableStatus struct {
	Log string `json:"log,omitempty"`
	DN  string `json:"dn,omitempty"`
	CN  string `json:"cn,omitempty"`
}

func (*ReadableStatus) DeepCopy

func (in *ReadableStatus) DeepCopy() *ReadableStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadableStatus.

func (*ReadableStatus) DeepCopyInto

func (in *ReadableStatus) DeepCopyInto(out *ReadableStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RestoreJob

type RestoreJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the restoreJobSpec
	Spec RestoreJobSpec `json:"spec"`

	// Spec is the restoreJobStatus
	Status RestoreJobStatus `json:"status,omitempty"`

	Overlay *Overlay `json:"overlay,omitempty"`
}

A RestoreJob is a resource that represents an MO restore job +kubebuilder:object:root=true +kubebuilder:resource:scope="Namespaced" +kubebuilder:printcolumn:name="phase",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status

func (*RestoreJob) DeepCopy

func (in *RestoreJob) DeepCopy() *RestoreJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreJob.

func (*RestoreJob) DeepCopyInto

func (in *RestoreJob) DeepCopyInto(out *RestoreJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RestoreJob) DeepCopyObject

func (in *RestoreJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RestoreJob) GetConditions

func (r *RestoreJob) GetConditions() []metav1.Condition

func (*RestoreJob) GetOverlay

func (r *RestoreJob) GetOverlay() *Overlay

func (*RestoreJob) GetPhase

func (r *RestoreJob) GetPhase() string

func (*RestoreJob) GetTTL

func (r *RestoreJob) GetTTL() time.Duration

func (*RestoreJob) SetCondition

func (r *RestoreJob) SetCondition(condition metav1.Condition)

func (*RestoreJob) SetPhase

func (r *RestoreJob) SetPhase(phase string)

type RestoreJobList

type RestoreJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RestoreJob `json:"items"`
}

RestoreJobList contains a list of RestoreJob +kubebuilder:object:root=true

func (*RestoreJobList) DeepCopy

func (in *RestoreJobList) DeepCopy() *RestoreJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreJobList.

func (*RestoreJobList) DeepCopyInto

func (in *RestoreJobList) DeepCopyInto(out *RestoreJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RestoreJobList) DeepCopyObject

func (in *RestoreJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RestoreJobSpec

type RestoreJobSpec struct {
	// ttl defines the time to live of the backup job after completed or failed
	TTL *metav1.Duration `json:"ttl,omitempty"`

	// backupName specifies the backup to restore, must be set UNLESS externalSource is set
	BackupName string `json:"backupName,omitempty"`

	// optional, restore from an external source, mutual exclusive with backupName
	ExternalSource *SharedStorageProvider `json:"externalSource,omitempty"`

	// target specifies the restore location
	Target SharedStorageProvider `json:"target"`
}

func (*RestoreJobSpec) DeepCopy

func (in *RestoreJobSpec) DeepCopy() *RestoreJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreJobSpec.

func (*RestoreJobSpec) DeepCopyInto

func (in *RestoreJobSpec) DeepCopyInto(out *RestoreJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RestoreJobStatus

type RestoreJobStatus struct {
	ConditionalStatus `json:",inline"`

	Phase string `json:"phase"`
}

func (*RestoreJobStatus) DeepCopy

func (in *RestoreJobStatus) DeepCopy() *RestoreJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreJobStatus.

func (*RestoreJobStatus) DeepCopyInto

func (in *RestoreJobStatus) DeepCopyInto(out *RestoreJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RollingUpdateStrategy

type RollingUpdateStrategy struct {
	// MaxSurge is an optional field that specifies the maximum number of Pods that
	// can be created over the desired number of Pods.
	// +optional
	MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`

	// MaxUnavailable an optional field that specifies the maximum number of Pods that
	// can be unavailable during the update process.
	// +optional
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

func (*RollingUpdateStrategy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdateStrategy.

func (*RollingUpdateStrategy) DeepCopyInto

func (in *RollingUpdateStrategy) DeepCopyInto(out *RollingUpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3Provider

type S3Provider struct {
	// Path is the s3 storage path in <bucket-name>/<folder> format, e.g. "my-bucket/my-folder"
	// +required
	Path string `json:"path"`
	// S3ProviderType is type of this s3 provider, options: [aws, minio]
	// default to aws
	// +optional
	Type *S3ProviderType `json:"type,omitempty"`
	// Region of the bucket
	// the default region will be inferred from the deployment environment
	// +optional
	Region string `json:"region,omitempty"`
	// Endpoint is the endpoint of the S3 compatible service
	// default to aws S3 well known endpoint
	// +optional
	Endpoint string `json:"endpoint,omitempty"`
	// Credentials for s3, the client will automatically discover credential sources
	// from the environment if not specified
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
	// CertificateRef allow specifies custom CA certificate for the object storage
	CertificateRef *CertificateRef `json:"certificateRef,omitempty"`
	// +optional
	// S3RetentionPolicy defines the retention policy of orphaned S3 bucket storage
	// +kubebuilder:validation:Enum=Delete;Retain
	S3RetentionPolicy *PVCRetentionPolicy `json:"s3RetentionPolicy,omitempty"`
}

func (*S3Provider) DeepCopy

func (in *S3Provider) DeepCopy() *S3Provider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Provider.

func (*S3Provider) DeepCopyInto

func (in *S3Provider) DeepCopyInto(out *S3Provider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*S3Provider) GetProviderType

func (p *S3Provider) GetProviderType() S3ProviderType

type S3ProviderType

type S3ProviderType string
const (
	S3ProviderTypeAWS   S3ProviderType = "aws"
	S3ProviderTypeMinIO S3ProviderType = "minio"
)

type ScalingConfig

type ScalingConfig struct {
	// StoreDrainEnabled is the flag to enable store draining
	StoreDrainEnabled *bool `json:"storeDrainEnabled,omitempty"`
	// StoreDrainTimeout is the timeout for draining a CN store
	StoreDrainTimeout *metav1.Duration `json:"storeDrainTimeout,omitempty"`
	// minDelaySeconds is the minimum delay when drain CN store, usually
	// be used to waiting for CN draining be propagated to the whole cluster
	MinDelaySeconds *int32 `json:"minDelaySeconds,omitempty"`
}

func (*ScalingConfig) DeepCopy

func (in *ScalingConfig) DeepCopy() *ScalingConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingConfig.

func (*ScalingConfig) DeepCopyInto

func (in *ScalingConfig) DeepCopyInto(out *ScalingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScalingConfig) GetMinDelayDuration

func (s *ScalingConfig) GetMinDelayDuration() time.Duration

func (*ScalingConfig) GetStoreDrainEnabled

func (s *ScalingConfig) GetStoreDrainEnabled() bool

func (*ScalingConfig) GetStoreDrainTimeout

func (s *ScalingConfig) GetStoreDrainTimeout() time.Duration

type SharedStorageCache

type SharedStorageCache struct {
	// MemoryCacheSize specifies how much memory would be used to cache the object in shared storage,
	// the default size would be 50% of the container memory request
	// MemoryCache cannot be completely disabled due to MO limitation currently, you can set MemoryCacheSize
	// to 1B to achieve an effect similar to disabling
	MemoryCacheSize *resource.Quantity `json:"memoryCacheSize,omitempty"`

	// DiskCacheSize specifies how much disk space can be used to cache the object in shared storage,
	// the default size would be 90% of the cacheVolume size to reserve some space to the filesystem metadata
	// and avoid disk space exhaustion
	// DiskCache would be disabled if CacheVolume is not set for DN/CN, and if DiskCacheSize is set while the CacheVolume
	// is not set for DN/CN, an error would be raised to indicate the misconfiguration.
	// NOTE: Unless there is a specific reason not to set this field, it is usually more reasonable to let the operator
	// set the available disk cache size according to the actual size of the cacheVolume.
	DiskCacheSize *resource.Quantity `json:"diskCacheSize,omitempty"`
}

func (*SharedStorageCache) DeepCopy

func (in *SharedStorageCache) DeepCopy() *SharedStorageCache

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedStorageCache.

func (*SharedStorageCache) DeepCopyInto

func (in *SharedStorageCache) DeepCopyInto(out *SharedStorageCache)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SharedStorageProvider

type SharedStorageProvider struct {
	// S3 specifies an S3 bucket as the shared storage provider,
	// mutual-exclusive with other providers.
	S3 *S3Provider `json:"s3,omitempty"`
	// FileSystem specified a fileSystem path as the shared storage provider,
	// it assumes a shared filesystem is mounted to this path and instances can
	// safely read-write this path in current manner.
	FileSystem *FileSystemProvider `json:"fileSystem,omitempty"`
}

func (*SharedStorageProvider) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharedStorageProvider.

func (*SharedStorageProvider) DeepCopyInto

func (in *SharedStorageProvider) DeepCopyInto(out *SharedStorageProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type State

type State string
const (
	// StatusInUse - a bucket still in use
	StatusInUse State = "InUse"
	// StatusReleased - bucket has been released, can be reused
	StatusReleased State = "Released"
	// StatusDeleting - bucket is deleting, data in share storage s3
	StatusDeleting State = "Deleting"
)

type Store

type Store struct {
	PodName            string      `json:"podName,omitempty"`
	Phase              string      `json:"phase,omitempty"`
	LastTransitionTime metav1.Time `json:"lastTransition,omitempty"`
}

func (*Store) DeepCopy

func (in *Store) DeepCopy() *Store

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Store.

func (*Store) DeepCopyInto

func (in *Store) DeepCopyInto(out *Store)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TomlConfig

type TomlConfig struct {
	MP map[string]interface{} `json:"-"`
}

TomlConfig is an auxiliary struct that serialize a nested struct to raw string in toml format on serialization and vise-versa +kubebuilder:validation:Type=string

func NewTomlConfig

func NewTomlConfig(o map[string]interface{}) *TomlConfig

func (*TomlConfig) DeepCopy

func (c *TomlConfig) DeepCopy() *TomlConfig

func (*TomlConfig) DeepCopyInto

func (c *TomlConfig) DeepCopyInto(out *TomlConfig)

func (*TomlConfig) DeepCopyJsonObject

func (c *TomlConfig) DeepCopyJsonObject() *TomlConfig

deepcopy-gen cannot

func (*TomlConfig) Del

func (c *TomlConfig) Del(key1 string, keyN ...string)

Del delete a key by path, ignore not found. key1 + keyN forms the full key path, which enforce the keyPath has at least depth 1

func (*TomlConfig) Get

func (c *TomlConfig) Get(path ...string) (value *Value)

Get a nested key, if no key is provided, the root nested map will be returned, returns nil if the path is not found.

func (*TomlConfig) MarshalJSON

func (c *TomlConfig) MarshalJSON() ([]byte, error)

func (*TomlConfig) MarshalTOML

func (c *TomlConfig) MarshalTOML() ([]byte, error)

func (*TomlConfig) Merge

func (c *TomlConfig) Merge(mp map[string]interface{})

Merge merges the given map to current config, shallow override.

func (*TomlConfig) Set

func (c *TomlConfig) Set(path []string, value interface{})

Set a key by path, override existing. the keyPath has at least depth 1

func (*TomlConfig) ToString

func (c *TomlConfig) ToString() (string, error)

func (*TomlConfig) UnmarshalJSON

func (c *TomlConfig) UnmarshalJSON(data []byte) error

func (*TomlConfig) UnmarshalTOML

func (c *TomlConfig) UnmarshalTOML(data []byte) error

type Value

type Value struct {
	// contains filtered or unexported fields
}

+kubebuilder:object:root=false +kubebuilder:object:generate=false

func (*Value) AsInt

func (v *Value) AsInt() (int64, error)

func (*Value) AsString

func (v *Value) AsString() (string, error)

func (*Value) AsStringSlice

func (v *Value) AsStringSlice() ([]string, error)

func (*Value) AsToml

func (v *Value) AsToml() (*TomlConfig, error)

func (*Value) Interface

func (v *Value) Interface() interface{}

func (*Value) MustInt

func (v *Value) MustInt() int64

func (*Value) MustString

func (v *Value) MustString() string

func (*Value) MustStringSlice

func (v *Value) MustStringSlice() []string

func (*Value) MustToml

func (v *Value) MustToml() *TomlConfig

type Volume

type Volume struct {
	// Size is the desired storage size of the volume
	// +required
	Size resource.Quantity `json:"size,omitempty"`

	// StorageClassName reference to the storageclass of the desired volume,
	// the default storageclass of the cluster would be used if no specified.
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`

	// Deprecated: use SharedStorageCache instead
	MemoryCacheSize *resource.Quantity `json:"memoryCacheSize,omitempty"`
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebUI

type WebUI struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the desired state of WebUI
	Spec WebUISpec `json:"spec,omitempty"`

	// Deps is the dependencies of WebUI
	Deps WebUIDeps `json:"deps,omitempty"`

	Status WebUIStatus `json:"status,omitempty"`
}

WebUI is a resource that represents a set of MO's webui instances +kubebuilder:subresource:status

func (*WebUI) DeepCopy

func (in *WebUI) DeepCopy() *WebUI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebUI.

func (*WebUI) DeepCopyInto

func (in *WebUI) DeepCopyInto(out *WebUI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WebUI) DeepCopyObject

func (in *WebUI) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WebUI) Default

func (r *WebUI) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*WebUI) GetConditions

func (s *WebUI) GetConditions() []metav1.Condition

func (*WebUI) GetDependencies

func (s *WebUI) GetDependencies() []recon.Dependency

func (*WebUI) GetServiceType

func (s *WebUI) GetServiceType() corev1.ServiceType

func (*WebUI) SetCondition

func (s *WebUI) SetCondition(condition metav1.Condition)

func (*WebUI) ValidateCreate

func (r *WebUI) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*WebUI) ValidateDelete

func (r *WebUI) ValidateDelete() (admission.Warnings, error)

func (*WebUI) ValidateUpdate

func (r *WebUI) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type WebUIDeps

type WebUIDeps struct {
	// The WebUI it depends on
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	CNSet *CNSet `json:"cnset,omitempty"`
}

func (*WebUIDeps) DeepCopy

func (in *WebUIDeps) DeepCopy() *WebUIDeps

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebUIDeps.

func (*WebUIDeps) DeepCopyInto

func (in *WebUIDeps) DeepCopyInto(out *WebUIDeps)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebUIList

type WebUIList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []WebUI `json:"items"`
}

WebUIList contains a list of WebUI

func (*WebUIList) DeepCopy

func (in *WebUIList) DeepCopy() *WebUIList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebUIList.

func (*WebUIList) DeepCopyInto

func (in *WebUIList) DeepCopyInto(out *WebUIList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WebUIList) DeepCopyObject

func (in *WebUIList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WebUISpec

type WebUISpec struct {
	PodSet `json:",inline"`

	// ServiceType is the service type of cn service
	// +optional
	// +kubebuilder:default=ClusterIP
	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`

	// UpdateStrategy rolling update strategy
	// +optional
	UpdateStrategy *RollingUpdateStrategy `json:"updateStrategy,omitempty"`

	// +optional
	ImagePullPolicy *corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
}

func (*WebUISpec) DeepCopy

func (in *WebUISpec) DeepCopy() *WebUISpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebUISpec.

func (*WebUISpec) DeepCopyInto

func (in *WebUISpec) DeepCopyInto(out *WebUISpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebUIStatus

type WebUIStatus struct {
	ConditionalStatus `json:",inline"`
	FailoverStatus    `json:",inline"`
}

func (*WebUIStatus) DeepCopy

func (in *WebUIStatus) DeepCopy() *WebUIStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebUIStatus.

func (*WebUIStatus) DeepCopyInto

func (in *WebUIStatus) DeepCopyInto(out *WebUIStatus)

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