v1alpha1

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "risingwave.risingwavelabs.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ComponentGroupReplicasStatus

type ComponentGroupReplicasStatus struct {
	// Name of the group.
	Name string `json:"name"`

	// Target replicas of the group.
	Target int32 `json:"target"`

	// Running replicas in the group.
	Running int32 `json:"running"`

	// Existence status of the group.
	Exists bool `json:"exists,omitempty"`
}

ComponentGroupReplicasStatus are the running status of Pods in group.

func (*ComponentGroupReplicasStatus) DeepCopy

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

func (*ComponentGroupReplicasStatus) DeepCopyInto

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

type ComponentReplicasStatus

type ComponentReplicasStatus struct {
	// Total target replicas of the component.
	Target int32 `json:"target"`

	// Total running replicas of the component.
	Running int32 `json:"running"`

	// List of running status of each group.
	Groups []ComponentGroupReplicasStatus `json:"groups,omitempty"`
}

ComponentReplicasStatus are the running status of Pods of the component.

func (*ComponentReplicasStatus) DeepCopy

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

func (*ComponentReplicasStatus) DeepCopyInto

func (in *ComponentReplicasStatus) DeepCopyInto(out *ComponentReplicasStatus)

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

type MetaStorageType

type MetaStorageType string

MetaStorageType is the type name of meta storage.

const (
	MetaStorageTypeMemory  MetaStorageType = "Memory"
	MetaStorageTypeEtcd    MetaStorageType = "Etcd"
	MetaStorageTypeUnknown MetaStorageType = "Unknown"
)

These are valid values of MetaStorageType.

type ObjectStorageType

type ObjectStorageType string

ObjectStorageType is the type name of object storage.

const (
	ObjectStorageTypeMemory    ObjectStorageType = "Memory"
	ObjectStorageTypeMinIO     ObjectStorageType = "MinIO"
	ObjectStorageTypeS3        ObjectStorageType = "S3"
	ObjectStorageTypeAliyunOSS ObjectStorageType = "AliyunOSS"
	ObjectStorageTypeUnknown   ObjectStorageType = "Unknown"
)

These are valid values of ObjectStorageType.

type RisingWave

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

	Spec   RisingWaveSpec   `json:"spec,omitempty"`
	Status RisingWaveStatus `json:"status,omitempty"`
}

RisingWave is the struct for RisingWave object.

func (*RisingWave) DeepCopy

func (in *RisingWave) DeepCopy() *RisingWave

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

func (*RisingWave) DeepCopyInto

func (in *RisingWave) DeepCopyInto(out *RisingWave)

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

func (*RisingWave) DeepCopyObject

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

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

type RisingWaveComponentCommonPorts

type RisingWaveComponentCommonPorts struct {
	// Service port of the component. For each component,
	// the 'service' has different meanings. It's an optional field and if it's left out, a
	// default port (varies among components) will be used.
	// +optional
	// +kubebuilder:validation:Minimum=1
	ServicePort int32 `json:"service,omitempty"`

	// Metrics port of the component. It always serves the metrics in
	// Prometheus format.
	// +optional
	// +kubebuilder:validation:Minimum=1
	MetricsPort int32 `json:"metrics,omitempty"`
}

RisingWaveComponentCommonPorts are the common ports that components need to listen.

func (*RisingWaveComponentCommonPorts) DeepCopy

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

func (*RisingWaveComponentCommonPorts) DeepCopyInto

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

type RisingWaveComponentCompactor

type RisingWaveComponentCompactor struct {
	// The time that the Pods of frontend that should be restarted. Setting a value on this
	// field will trigger a recreation of all Pods of this component.
	// +optional
	RestartAt *metav1.Time `json:"restartAt,omitempty"`

	// Ports to be listened by compactor Pods.
	// +optional
	Ports RisingWaveComponentCommonPorts `json:"ports,omitempty"`

	// Groups of Pods of compactor component.
	// +optional
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Groups []RisingWaveComponentGroup `json:"groups,omitempty"`
}

RisingWaveComponentCompactor is the spec describes the compactor component.

func (*RisingWaveComponentCompactor) DeepCopy

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

func (*RisingWaveComponentCompactor) DeepCopyInto

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

type RisingWaveComponentCompute

type RisingWaveComponentCompute struct {
	// The time that the Pods of frontend that should be restarted. Setting a value on this
	// field will trigger a recreation of all Pods of this component.
	// +optional
	RestartAt *metav1.Time `json:"restartAt,omitempty"`

	// Ports to be listened by compute Pods.
	// +optional
	Ports RisingWaveComponentCommonPorts `json:"ports,omitempty"`

	// Groups of Pods of compute component.
	// +optional
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Groups []RisingWaveComputeGroup `json:"groups,omitempty"`
}

RisingWaveComponentCompute is the spec describes the compute component.

func (*RisingWaveComponentCompute) DeepCopy

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

func (*RisingWaveComponentCompute) DeepCopyInto

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

type RisingWaveComponentFrontend

type RisingWaveComponentFrontend struct {
	// The time that the Pods of frontend that should be restarted. Setting a value on this
	// field will trigger a recreation of all Pods of this component.
	// +optional
	RestartAt *metav1.Time `json:"restartAt,omitempty"`

	// Ports to be listened by the frontend Pods.
	// +optional
	Ports RisingWaveComponentCommonPorts `json:"ports,omitempty"`

	// Groups of Pods of frontend component.
	// +optional
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Groups []RisingWaveComponentGroup `json:"groups,omitempty"`
}

RisingWaveComponentFrontend is the spec describes the frontend component.

func (*RisingWaveComponentFrontend) DeepCopy

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

func (*RisingWaveComponentFrontend) DeepCopyInto

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

type RisingWaveComponentGroup

type RisingWaveComponentGroup struct {
	// Name of the group.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Replicas of Pods in this group.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=0
	Replicas int32 `json:"replicas,omitempty"`

	// The component template describes how it would be deployed. It is an optional
	// field and the Pods are going to be deployed with the template defined in global. If there are
	// values defined in this template, it will be merged into the global template and then be used
	// for deployment.
	// +optional
	*RisingWaveComponentGroupTemplate `json:",inline"`
}

RisingWaveComponentGroup is the common deployment group of each component. Currently, we use this group for meta/frontend/compactor.

func (*RisingWaveComponentGroup) DeepCopy

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

func (*RisingWaveComponentGroup) DeepCopyInto

func (in *RisingWaveComponentGroup) DeepCopyInto(out *RisingWaveComponentGroup)

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

type RisingWaveComponentGroupTemplate

type RisingWaveComponentGroupTemplate struct {
	// Image for RisingWave component.
	// +optional
	Image string `json:"image,omitempty"`

	// Pull policy of the RisingWave 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"`

	// Secrets for pulling RisingWave images.
	// +optional
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`

	// Upgrade strategy for the components. By default, it is the same as the
	// workload's default strategy that the component is deployed with.
	// Note: the maxSurge will not take effect for the compute component.
	// +optional
	// +patchStrategy=retainKeys
	UpgradeStrategy RisingWaveUpgradeStrategy `json:"upgradeStrategy,omitempty"`

	// Resources of the RisingWave component.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// A map of labels describing the nodes to be scheduled on.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Base template for Pods of RisingWave. By default, there's no such template
	// and the controller will set all unrelated fields to the default value.
	// +optional
	PodTemplate *string `json:"podTemplate,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// If specified, indicates the pod's priority. "system-node-critical" and
	// "system-cluster-critical" are two special keywords which indicate the
	// highest priorities with the former being the highest priority. Any other
	// name must be defined by creating a PriorityClass object with that name.
	// If not specified, the pod priority will be default or zero if there is no
	// default.
	// +optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// SecurityContext holds pod-level security attributes and common container settings.
	// Optional: Defaults to empty.  See type description for default values of each field.
	// +optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// Specifies the DNS parameters of a pod.
	// Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	// +optional
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`

	// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
	// Value must be non-negative integer. The value zero indicates stop immediately via
	// the kill signal (no opportunity to shut down).
	// If this value is nil, the default grace period will be used instead.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// Defaults to 30 seconds.
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// metadata of the RisingWave's Pods.
	// +optional
	Metadata RisingWavePodTemplatePartialObjectMeta `json:"metadata,omitempty"`
}

RisingWaveComponentGroupTemplate is the common deployment template for groups of each component. Currently, we use the common template for meta/frontend/compactor.

func (*RisingWaveComponentGroupTemplate) DeepCopy

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

func (*RisingWaveComponentGroupTemplate) DeepCopyInto

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

type RisingWaveComponentMeta

type RisingWaveComponentMeta struct {
	// The time that the Pods of frontend that should be restarted. Setting a value on this
	// field will trigger a recreation of all Pods of this component.
	// +optional
	RestartAt *metav1.Time `json:"restartAt,omitempty"`

	// Ports to be listened by the meta Pods.
	// +optional
	Ports RisingWaveComponentMetaPorts `json:"ports,omitempty"`

	// Groups of Pods of meta component.
	// +optional
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	Groups []RisingWaveComponentGroup `json:"groups,omitempty"`
}

RisingWaveComponentMeta is the spec describes the meta component.

func (*RisingWaveComponentMeta) DeepCopy

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

func (*RisingWaveComponentMeta) DeepCopyInto

func (in *RisingWaveComponentMeta) DeepCopyInto(out *RisingWaveComponentMeta)

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

type RisingWaveComponentMetaPorts

type RisingWaveComponentMetaPorts struct {
	RisingWaveComponentCommonPorts `json:",inline"`

	// Dashboard port of the meta, a default value of 8080 will be
	// used if not specified.
	// +optional
	// +kubebuilder:validation:Minimum=1
	DashboardPort int32 `json:"dashboard,omitempty"`
}

RisingWaveComponentMetaPorts are the ports of component meta.

func (*RisingWaveComponentMetaPorts) DeepCopy

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

func (*RisingWaveComponentMetaPorts) DeepCopyInto

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

type RisingWaveComponentsReplicasStatus

type RisingWaveComponentsReplicasStatus struct {
	// Running status of meta.
	Meta ComponentReplicasStatus `json:"meta"`

	// Running status of frontend.
	Frontend ComponentReplicasStatus `json:"frontend"`

	// Running status of compute.
	Compute ComponentReplicasStatus `json:"compute"`

	// Running status of compactor.
	Compactor ComponentReplicasStatus `json:"compactor"`
}

RisingWaveComponentsReplicasStatus is the running status of components.

func (*RisingWaveComponentsReplicasStatus) DeepCopy

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

func (*RisingWaveComponentsReplicasStatus) DeepCopyInto

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

type RisingWaveComponentsSpec

type RisingWaveComponentsSpec struct {
	// Meta component spec.
	Meta RisingWaveComponentMeta `json:"meta,omitempty"`

	// Frontend component spec.
	Frontend RisingWaveComponentFrontend `json:"frontend,omitempty"`

	// Compute component spec.
	Compute RisingWaveComponentCompute `json:"compute,omitempty"`

	// Compactor component.
	Compactor RisingWaveComponentCompactor `json:"compactor,omitempty"`
}

RisingWaveComponentsSpec is the spec describes the components of RisingWave.

func (*RisingWaveComponentsSpec) DeepCopy

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

func (*RisingWaveComponentsSpec) DeepCopyInto

func (in *RisingWaveComponentsSpec) DeepCopyInto(out *RisingWaveComponentsSpec)

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

type RisingWaveComputeGroup

type RisingWaveComputeGroup struct {
	// Name of the group.
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Replicas of Pods in this group.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=0
	Replicas int32 `json:"replicas,omitempty"`

	// The component template describes how it would be deployed. It is an optional
	// field and the Pods are going to be deployed with the template defined in global. If there're
	// values defined in this template, it will be merged into the global template and then be used
	// for deployment.
	// +optional
	*RisingWaveComputeGroupTemplate `json:",inline"`
}

RisingWaveComputeGroup is the group for component compute.

func (*RisingWaveComputeGroup) DeepCopy

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

func (*RisingWaveComputeGroup) DeepCopyInto

func (in *RisingWaveComputeGroup) DeepCopyInto(out *RisingWaveComputeGroup)

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

type RisingWaveComputeGroupTemplate

type RisingWaveComputeGroupTemplate struct {
	// The component template describes how it would be deployed. It is an optional
	// field and the Pods are going to be deployed with the template defined in global. If there're
	// values defined in this template, it will be merged into the global template and then be used
	// for deployment.
	// +optional
	RisingWaveComponentGroupTemplate `json:",inline"`

	// Volumes to be mounted on the Pods.
	// +optional
	// +patchMergeKey=mountPath
	// +patchStrategy=merge
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

RisingWaveComputeGroupTemplate is the group template for component compute, which supports specifying the volume mounts on compute Pods. The volumes should be either local or defined in the storages.

func (*RisingWaveComputeGroupTemplate) DeepCopy

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

func (*RisingWaveComputeGroupTemplate) DeepCopyInto

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

type RisingWaveCondition

type RisingWaveCondition struct {
	// Type of the condition
	Type RisingWaveConditionType `json:"type"`

	// Status of the condition
	Status metav1.ConditionStatus `json:"status"`

	// Last time the condition transitioned from one status to another.
	// +optional
	// +nullable
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`

	// The reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`

	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

RisingWaveCondition indicates a condition of RisingWave.

func (*RisingWaveCondition) DeepCopy

func (in *RisingWaveCondition) DeepCopy() *RisingWaveCondition

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

func (*RisingWaveCondition) DeepCopyInto

func (in *RisingWaveCondition) DeepCopyInto(out *RisingWaveCondition)

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

type RisingWaveConditionType

type RisingWaveConditionType string

RisingWaveConditionType is the condition type of RisingWave.

const (
	RisingWaveConditionRunning      RisingWaveConditionType = "Running"
	RisingWaveConditionInitializing RisingWaveConditionType = "Initializing"
	RisingWaveConditionUpgrading    RisingWaveConditionType = "Upgrading"
	RisingWaveConditionFailed       RisingWaveConditionType = "Failed"
	RisingWaveConditionUnknown      RisingWaveConditionType = "Unknown"
)

These are valid value of RisingWaveConditionType.

type RisingWaveConfigurationSpec

type RisingWaveConfigurationSpec struct {
	// The reference to a key in a config map that contains the base config for RisingWave.
	// It's an optional field and can be left out. If not specified, a default config is going to be used.
	// +optional
	ConfigMap *corev1.ConfigMapKeySelector `json:"configmap,omitempty"`
}

RisingWaveConfigurationSpec is the configuration spec.

func (*RisingWaveConfigurationSpec) DeepCopy

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

func (*RisingWaveConfigurationSpec) DeepCopyInto

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

type RisingWaveGlobalReplicas

type RisingWaveGlobalReplicas struct {
	// Replicas of meta component. Replicas specified here is in a default group (with empty name ”).
	// +optional
	// +kubebuilder:validation:Minimum=0
	Meta int32 `json:"meta,omitempty"`

	// Replicas of frontend component. Replicas specified here is in a default group (with empty name ”).
	// +optional
	// +kubebuilder:validation:Minimum=0
	Frontend int32 `json:"frontend,omitempty"`

	// Replicas of compute component. Replicas specified here is in a default group (with empty name ”).
	// +optional
	// +kubebuilder:validation:Minimum=0
	Compute int32 `json:"compute,omitempty"`

	// Replicas of compactor component. Replicas specified here is in a default group (with empty name ”).
	// +optional
	// +kubebuilder:validation:Minimum=0
	Compactor int32 `json:"compactor,omitempty"`
}

RisingWaveGlobalReplicas are the replicas of each component, declared in global scope.

func (*RisingWaveGlobalReplicas) DeepCopy

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

func (*RisingWaveGlobalReplicas) DeepCopyInto

func (in *RisingWaveGlobalReplicas) DeepCopyInto(out *RisingWaveGlobalReplicas)

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

type RisingWaveGlobalSpec

type RisingWaveGlobalSpec struct {
	// Global template for RisingWave that all components share.
	RisingWaveComponentGroupTemplate `json:",inline"`

	// Replicas of each component in default groups.
	// +optional
	// +patchStrategy=retainKeys
	Replicas RisingWaveGlobalReplicas `json:"replicas,omitempty"`

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

	// Service metadata of the frontend service.
	// +optional
	ServiceMeta RisingWavePodTemplatePartialObjectMeta `json:"serviceMetadata,omitempty"`
}

RisingWaveGlobalSpec is the global spec.

func (*RisingWaveGlobalSpec) DeepCopy

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

func (*RisingWaveGlobalSpec) DeepCopyInto

func (in *RisingWaveGlobalSpec) DeepCopyInto(out *RisingWaveGlobalSpec)

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

type RisingWaveList

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

RisingWaveList contains a list of RisingWave.

func (*RisingWaveList) DeepCopy

func (in *RisingWaveList) DeepCopy() *RisingWaveList

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

func (*RisingWaveList) DeepCopyInto

func (in *RisingWaveList) DeepCopyInto(out *RisingWaveList)

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

func (*RisingWaveList) DeepCopyObject

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

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

type RisingWaveMetaStorage

type RisingWaveMetaStorage struct {
	// Memory indicates to store the metadata in memory. It is only for test usage and strongly
	// discouraged to be set in production. If one is using the memory storage for meta,
	// replicas will not work because they are not going to share the same metadata and any kinds
	// exit of the process will cause a permanent loss of the data.
	// +optional
	Memory *bool `json:"memory,omitempty"`

	// Endpoint of the etcd service for storing the metadata.
	// +optional
	Etcd *RisingWaveMetaStorageEtcd `json:"etcd,omitempty"`
}

RisingWaveMetaStorage is the storage for the meta component.

func (*RisingWaveMetaStorage) DeepCopy

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

func (*RisingWaveMetaStorage) DeepCopyInto

func (in *RisingWaveMetaStorage) DeepCopyInto(out *RisingWaveMetaStorage)

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

type RisingWaveMetaStorageEtcd

type RisingWaveMetaStorageEtcd struct {
	// Endpoint of etcd. It must be provided.
	Endpoint string `json:"endpoint"`

	// Secret contains the credentials of access the etcd, it must contain the following keys:
	//   * username
	//   * password
	// But it is an optional field. Empty value indicates etcd is available without authentication.
	// +optional
	Secret string `json:"secret,omitempty"`
}

RisingWaveMetaStorageEtcd is the etcd storage for the meta component.

func (*RisingWaveMetaStorageEtcd) DeepCopy

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

func (*RisingWaveMetaStorageEtcd) DeepCopyInto

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

type RisingWaveMetaStorageStatus

type RisingWaveMetaStorageStatus struct {
	Type MetaStorageType `json:"type"`
}

RisingWaveMetaStorageStatus is the status of meta storage.

func (*RisingWaveMetaStorageStatus) DeepCopy

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

func (*RisingWaveMetaStorageStatus) DeepCopyInto

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

type RisingWaveObjectStorage

type RisingWaveObjectStorage struct {
	// Memory indicates to store the data in memory. It's only for test usage and strongly discouraged to
	// be used in production.
	// +optional
	Memory *bool `json:"memory,omitempty"`

	// MinIO storage spec.
	// +optional
	MinIO *RisingWaveObjectStorageMinIO `json:"minio,omitempty"`

	// S3 storage spec.
	// +optional
	S3 *RisingWaveObjectStorageS3 `json:"s3,omitempty"`

	// AliyunOSS storage spec.
	// +optional
	AliyunOSS *RisingWaveObjectStorageAliyunOSS `json:"aliyunOSS,omitempty"`
}

RisingWaveObjectStorage is the object storage for compute and compactor components.

func (*RisingWaveObjectStorage) DeepCopy

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

func (*RisingWaveObjectStorage) DeepCopyInto

func (in *RisingWaveObjectStorage) DeepCopyInto(out *RisingWaveObjectStorage)

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

type RisingWaveObjectStorageAliyunOSS added in v0.2.3

type RisingWaveObjectStorageAliyunOSS struct {
	// Secret contains the credentials to access the Aliyun OSS service. It must contain the following keys:
	//   * AccessKeyID
	//   * SecretAccessKey
	//   * Region (optional if region is specified in the field.)
	// +kubebuilder:validation:Required
	Secret string `json:"secret"`

	// Region of Aliyun OSS service. It is an optional field that overrides the `Region` key from the secret.
	// Specifying the region here makes a guarantee that it won't be changed anymore.
	Region string `json:"region,omitempty"`

	// Bucket of the Aliyun OSS service.
	// +kubebuilder:validation:Required
	Bucket string `json:"bucket"`

	// InternalEndpoint indicates if we use the internal endpoint to access Aliyun OSS, which is
	// only available in the internal network.
	InternalEndpoint bool `json:"internalEndpoint,omitempty"`
}

RisingWaveObjectStorageAliyunOSS is the details of Aliyun OSS storage (S3 compatible) for compute and compactor components.

func (*RisingWaveObjectStorageAliyunOSS) DeepCopy added in v0.2.3

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

func (*RisingWaveObjectStorageAliyunOSS) DeepCopyInto added in v0.2.3

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

type RisingWaveObjectStorageMinIO

type RisingWaveObjectStorageMinIO struct {
	// Secret contains the credentials to access the MinIO service. It must contain the following keys:
	//   * username
	//   * password
	// +kubebuilder:validation:Required
	Secret string `json:"secret"`

	// Endpoint of the MinIO service.
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`

	// Bucket of the MinIO service.
	// +kubebuilder:validation:Required
	Bucket string `json:"bucket"`
}

RisingWaveObjectStorageMinIO is the details of MinIO storage for compute and compactor components.

func (*RisingWaveObjectStorageMinIO) DeepCopy

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

func (*RisingWaveObjectStorageMinIO) DeepCopyInto

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

type RisingWaveObjectStorageS3

type RisingWaveObjectStorageS3 struct {
	// Secret contains the credentials to access the AWS S3 service. It must contain the following keys:
	//   * AccessKeyID
	//   * SecretAccessKey
	//   * Region (optional if region is specified in the field.)
	// +kubebuilder:validation:Required
	Secret string `json:"secret"`

	// Bucket of the AWS S3 service.
	// +kubebuilder:validation:Required
	Bucket string `json:"bucket"`

	// Region of AWS S3 service. It is an optional field that overrides the `Region` key from the secret.
	// Specifying the region here makes a guarantee that it won't be changed anymore.
	Region string `json:"region,omitempty"`

	// Endpoint of the AWS (or other vendor's S3-compatible) service. Leave it empty when using AWS S3 service.
	// You can reference the `REGION` and `BUCKET` variables in the endpoint with `${BUCKET}` and `${REGION}`, e.g.,
	//   s3.${REGION}.amazonaws.com
	//   ${BUCKET}.s3.${REGION}.amazonaws.com
	// +optional
	// +kubebuilder:validation:Pattern="^(?:https://)?(?:[^/.\\s]+\\.)*(?:[^/\\s]+)*$"
	Endpoint string `json:"endpoint,omitempty"`

	// VirtualHostedStyle indicates to use a virtual hosted endpoint when endpoint is specified. The operator automatically
	// adds the bucket prefix for you if this is enabled. Be careful about doubly using the style by specifying an endpoint
	// of virtual hosted style as well as enabling this.
	VirtualHostedStyle bool `json:"virtualHostedStyle,omitempty"`
}

RisingWaveObjectStorageS3 is the details of AWS S3 storage for compute and compactor components.

func (*RisingWaveObjectStorageS3) DeepCopy

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

func (*RisingWaveObjectStorageS3) DeepCopyInto

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

type RisingWaveObjectStorageStatus

type RisingWaveObjectStorageStatus struct {
	Type ObjectStorageType `json:"type"`
}

RisingWaveObjectStorageStatus is the status of object storage.

func (*RisingWaveObjectStorageStatus) DeepCopy

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

func (*RisingWaveObjectStorageStatus) DeepCopyInto

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

type RisingWavePodTemplate

type RisingWavePodTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Template          RisingWavePodTemplateSpec `json:"template,omitempty"`
}

RisingWavePodTemplate is the struct for RisingWavePodTemplate object.

func (*RisingWavePodTemplate) DeepCopy

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

func (*RisingWavePodTemplate) DeepCopyInto

func (in *RisingWavePodTemplate) DeepCopyInto(out *RisingWavePodTemplate)

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

func (*RisingWavePodTemplate) DeepCopyObject

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

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

type RisingWavePodTemplateList

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

RisingWavePodTemplateList contains a list of RisingWavePodTemplate.

func (*RisingWavePodTemplateList) DeepCopy

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

func (*RisingWavePodTemplateList) DeepCopyInto

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

func (*RisingWavePodTemplateList) DeepCopyObject

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

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

type RisingWavePodTemplatePartialObjectMeta

type RisingWavePodTemplatePartialObjectMeta struct {
	// Labels of the object.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations of the object.
	Annotations map[string]string `json:"annotations,omitempty"`
}

RisingWavePodTemplatePartialObjectMeta is the spec for metadata templates.

func (*RisingWavePodTemplatePartialObjectMeta) DeepCopy

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

func (*RisingWavePodTemplatePartialObjectMeta) DeepCopyInto

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

type RisingWavePodTemplateSpec

type RisingWavePodTemplateSpec struct {
	RisingWavePodTemplatePartialObjectMeta `json:"metadata,omitempty"`

	Spec corev1.PodSpec `json:"spec,omitempty"`
}

RisingWavePodTemplateSpec is the spec of RisingWavePodTemplate.

func (*RisingWavePodTemplateSpec) DeepCopy

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

func (*RisingWavePodTemplateSpec) DeepCopyInto

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

type RisingWaveRollingUpdate

type RisingWaveRollingUpdate struct {
	// The maximum number of pods that can be unavailable during the update.
	// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
	// Absolute number is calculated from percentage by rounding down.
	// Defaults to 25%.
	// +optional
	// +kubebuilder:default="25%"
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,1,opt,name=maxUnavailable"`

	// Partition is the desired number of pods in old revisions.
	// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
	// Absolute number is calculated from percentage by rounding up by default.
	// It means when partition is set during pods updating, (replicas - partition value) number of pods will be updated.
	// Default value is 0.
	// +optional
	// +kubebuilder:default=0
	Partition *intstr.IntOrString `json:"partition,omitempty"`

	// The maximum number of pods that can be scheduled above the desired replicas during update or specified delete.
	// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
	// Absolute number is calculated from percentage by rounding up.
	// Defaults to 0.
	// +optional
	// +kubebuilder:default=0
	MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`
}

RisingWaveRollingUpdate is the spec to define rolling update strategies.

func (*RisingWaveRollingUpdate) DeepCopy

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

func (*RisingWaveRollingUpdate) DeepCopyInto

func (in *RisingWaveRollingUpdate) DeepCopyInto(out *RisingWaveRollingUpdate)

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

type RisingWaveScaleView added in v0.2.2

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

	Spec   RisingWaveScaleViewSpec   `json:"spec,omitempty"`
	Status RisingWaveScaleViewStatus `json:"status,omitempty"`
}

RisingWaveScaleView is the struct for RisingWaveScaleView.

func (*RisingWaveScaleView) DeepCopy added in v0.2.2

func (in *RisingWaveScaleView) DeepCopy() *RisingWaveScaleView

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

func (*RisingWaveScaleView) DeepCopyInto added in v0.2.2

func (in *RisingWaveScaleView) DeepCopyInto(out *RisingWaveScaleView)

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

func (*RisingWaveScaleView) DeepCopyObject added in v0.2.2

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

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

type RisingWaveScaleViewList added in v0.2.2

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

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

RisingWaveScaleViewList contains a list of RisingWaveScaleViews.

func (*RisingWaveScaleViewList) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewList) DeepCopyInto added in v0.2.2

func (in *RisingWaveScaleViewList) DeepCopyInto(out *RisingWaveScaleViewList)

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

func (*RisingWaveScaleViewList) DeepCopyObject added in v0.2.2

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

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

type RisingWaveScaleViewLock added in v0.2.2

type RisingWaveScaleViewLock struct {
	// Name of the owned RisingWaveScaleView object.
	Name string `json:"name"`

	// UID of the owned RisingWaveScaleView object.
	UID types.UID `json:"uid"`

	// Component of the lock.
	Component string `json:"component"`

	// Generation of the lock.
	Generation int64 `json:"generation"`

	// Group locks.
	// +listType=map
	// +listMapKey=name
	GroupLocks []RisingWaveScaleViewLockGroupLock `json:"groupLocks,omitempty"`
}

RisingWaveScaleViewLock is a lock for RisingWaveScaleViews.

func (*RisingWaveScaleViewLock) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewLock) DeepCopyInto added in v0.2.2

func (in *RisingWaveScaleViewLock) DeepCopyInto(out *RisingWaveScaleViewLock)

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

type RisingWaveScaleViewLockGroupLock added in v0.2.2

type RisingWaveScaleViewLockGroupLock struct {
	// Group name.
	Name string `json:"name"`

	// Locked replica value.
	Replicas int32 `json:"replicas,omitempty"`
}

RisingWaveScaleViewLockGroupLock is the lock record of RisingWaveScaleView.

func (*RisingWaveScaleViewLockGroupLock) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewLockGroupLock) DeepCopyInto added in v0.2.2

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

type RisingWaveScaleViewSpec added in v0.2.2

type RisingWaveScaleViewSpec struct {
	// Reference of the target RisingWave.
	TargetRef RisingWaveScaleViewTargetRef `json:"targetRef,omitempty"`

	// Desired replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Serialized label selector. Would be set by the webhook.
	LabelSelector string `json:"labelSelector,omitempty"`

	// An array of groups and the policies for scale, optional and empty means the default group with the default policy.
	// +listType=map
	// +listMapKey=group
	ScalePolicy []RisingWaveScaleViewSpecScalePolicy `json:"scalePolicy,omitempty"`
}

RisingWaveScaleViewSpec is the spec of RisingWaveScaleView.

func (*RisingWaveScaleViewSpec) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewSpec) DeepCopyInto added in v0.2.2

func (in *RisingWaveScaleViewSpec) DeepCopyInto(out *RisingWaveScaleViewSpec)

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

type RisingWaveScaleViewSpecScalePolicy added in v0.2.2

type RisingWaveScaleViewSpecScalePolicy struct {
	// Group name.
	Group string `json:"group"`

	// 0-10, optional. The groups will be sorted by the priority and the current replicas.
	// The higher it is, the more replicas of the target group will be considered kept, i.e. scale out first, scale in last.
	// +optional
	Priority int32 `json:"priority,omitempty"`

	// MaxReplicas is the limit of the replicas.
	// +kubebuilder:validation:Maximum=5000
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`
}

RisingWaveScaleViewSpecScalePolicy is the scale policy of a group.

func (*RisingWaveScaleViewSpecScalePolicy) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewSpecScalePolicy) DeepCopyInto added in v0.2.2

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

type RisingWaveScaleViewSpecScalePolicyConstraints added in v0.2.2

type RisingWaveScaleViewSpecScalePolicyConstraints struct {
	// Maximum value of the replicas.
	// +kubebuilder:validation:Maximum=1000
	Max int32 `json:"max,omitempty"`
}

RisingWaveScaleViewSpecScalePolicyConstraints is the constraints of replicas in scale policy.

func (*RisingWaveScaleViewSpecScalePolicyConstraints) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewSpecScalePolicyConstraints) DeepCopyInto added in v0.2.2

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

type RisingWaveScaleViewStatus added in v0.2.2

type RisingWaveScaleViewStatus struct {
	// Running replicas.
	Replicas *int32 `json:"replicas,omitempty"`

	// Lock status.
	Locked bool `json:"locked,omitempty"`
}

RisingWaveScaleViewStatus is the status of RisingWaveScaleView.

func (*RisingWaveScaleViewStatus) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewStatus) DeepCopyInto added in v0.2.2

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

type RisingWaveScaleViewTargetRef added in v0.2.2

type RisingWaveScaleViewTargetRef struct {
	// Name of the RisingWave object.
	Name string `json:"name"`

	// Component name. Must be one of meta, frontend, compute, and compactor.
	// +kubebuilder:validation:Enum=meta;frontend;compute;compactor
	Component string `json:"component"`

	// UID of the target RisingWave object. Should be set by the mutating webhook.
	UID types.UID `json:"uid,omitempty"`
}

RisingWaveScaleViewTargetRef is the reference of the target RisingWave.

func (*RisingWaveScaleViewTargetRef) DeepCopy added in v0.2.2

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

func (*RisingWaveScaleViewTargetRef) DeepCopyInto added in v0.2.2

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

type RisingWaveSecuritySpec

type RisingWaveSecuritySpec struct {
	// TLS config of RisingWave.
	// +optional
	// +patchStrategy=retainKeys
	TLS *RisingWaveTLSConfig `json:"tls,omitempty"`
}

RisingWaveSecuritySpec is the security spec.

func (*RisingWaveSecuritySpec) DeepCopy

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

func (*RisingWaveSecuritySpec) DeepCopyInto

func (in *RisingWaveSecuritySpec) DeepCopyInto(out *RisingWaveSecuritySpec)

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

type RisingWaveSpec

type RisingWaveSpec struct {
	// The spec of a shared template for components and a global scope of replicas.
	Global RisingWaveGlobalSpec `json:"global,omitempty"`

	// The spec of meta storage, object storage for compute and compactor, and PVC templates for compute.
	Storages RisingWaveStoragesSpec `json:"storages,omitempty"`

	// The spec of ports and some controllers (such as `restartAt`) of each component,
	// as well as an advanced concept called `group` to override the global template and create groups
	// of Pods, e.g., deployment in hybrid-arch cluster.
	Components RisingWaveComponentsSpec `json:"components,omitempty"`

	// The spec of security configurations, such as TLS config.
	Security RisingWaveSecuritySpec `json:"security,omitempty"`

	// The spec of configuration template for RisingWave.
	Configuration RisingWaveConfigurationSpec `json:"configuration,omitempty"`

	// Flag to indicate if OpenKruise should be enabled for components.
	// If enabled, CloneSets will be used for meta/frontend/compactor nodes
	// and Advanced StateFulSets will be used for compute nodes.
	// +optional
	// +kubebuilder:default=false
	EnableOpenKruise *bool `json:"enableOpenKruise,omitempty"`

	// Flag to indicate if a default ServiceMonitor (from Prometheus operator) should be created by the controller.
	// False and an empty value means the ServiceMonitor won't be created automatically. But even if it's set to true,
	// the controller will determine if it can create the resource by checking if the CRDs are installed.
	// +optional
	EnableDefaultServiceMonitor *bool `json:"enableDefaultServiceMonitor,omitempty"`
}

RisingWaveSpec is the overall spec.

func (*RisingWaveSpec) DeepCopy

func (in *RisingWaveSpec) DeepCopy() *RisingWaveSpec

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

func (*RisingWaveSpec) DeepCopyInto

func (in *RisingWaveSpec) DeepCopyInto(out *RisingWaveSpec)

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

type RisingWaveStatus

type RisingWaveStatus struct {
	// Observed generation by controller. It will be updated
	// when controller observes the changes on the spec and going to sync the subresources.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Replica status of components.
	ComponentReplicas RisingWaveComponentsReplicasStatus `json:"componentReplicas,omitempty"`

	// Conditions of the RisingWave.
	// +listType=map
	// +listMapKey=type
	// +patchMergeKey=type
	// +patchStrategy=merge,retainKeys
	Conditions []RisingWaveCondition `json:"conditions,omitempty"`

	// Status of the external storages.
	Storages RisingWaveStoragesStatus `json:"storages,omitempty"`

	// Scale view locks.
	// +listType=map
	// +listMapKey=name
	ScaleViews []RisingWaveScaleViewLock `json:"scaleViews,omitempty"`
}

RisingWaveStatus is the status of RisingWave.

func (*RisingWaveStatus) DeepCopy

func (in *RisingWaveStatus) DeepCopy() *RisingWaveStatus

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

func (*RisingWaveStatus) DeepCopyInto

func (in *RisingWaveStatus) DeepCopyInto(out *RisingWaveStatus)

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

type RisingWaveStoragesSpec

type RisingWaveStoragesSpec struct {
	Meta RisingWaveMetaStorage `json:"meta,omitempty"`

	// Storage spec for object storage.
	Object RisingWaveObjectStorage `json:"object,omitempty"`

	// The persistent volume claim templates for the compute component. PVCs declared here
	// can be referenced in the groups of compute component.
	// +optional
	PVCTemplates []corev1.PersistentVolumeClaim `json:"pvcTemplates,omitempty"`
}

RisingWaveStoragesSpec is the storages spec.

func (*RisingWaveStoragesSpec) DeepCopy

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

func (*RisingWaveStoragesSpec) DeepCopyInto

func (in *RisingWaveStoragesSpec) DeepCopyInto(out *RisingWaveStoragesSpec)

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

type RisingWaveStoragesStatus

type RisingWaveStoragesStatus struct {
	Meta   RisingWaveMetaStorageStatus   `json:"meta"`
	Object RisingWaveObjectStorageStatus `json:"object"`
}

RisingWaveStoragesStatus is the status of external storages.

func (*RisingWaveStoragesStatus) DeepCopy

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

func (*RisingWaveStoragesStatus) DeepCopyInto

func (in *RisingWaveStoragesStatus) DeepCopyInto(out *RisingWaveStoragesStatus)

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

type RisingWaveTLSConfig

type RisingWaveTLSConfig struct {
	// Enabled indicates if TLS is enabled on RisingWave.
	Enabled bool `json:"enabled,omitempty"`

	// Secret contains the TLS config. If TLS is enabled, the secret
	// must be provided.
	// +optional.
	Secret RisingWaveTLSConfigSecret `json:"secret,omitempty"`
}

RisingWaveTLSConfig is the TLS config of RisingWave.

func (*RisingWaveTLSConfig) DeepCopy

func (in *RisingWaveTLSConfig) DeepCopy() *RisingWaveTLSConfig

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

func (*RisingWaveTLSConfig) DeepCopyInto

func (in *RisingWaveTLSConfig) DeepCopyInto(out *RisingWaveTLSConfig)

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

type RisingWaveTLSConfigSecret

type RisingWaveTLSConfigSecret struct {
	// Name of the secret.
	// +optional
	Name string `json:"name,omitempty"`

	// The key of the TLS key. A default value of "tls.key" will be used if not specified.
	// +optional
	// +kubebuilder:default=tls.key
	Key string `json:"key,omitempty"`

	// The key of the TLS cert. A default value of "tls.crt" will be used if not specified.
	// +optional
	// +kubebuilder:default=tls.crt
	Cert string `json:"cert,omitempty"`
}

RisingWaveTLSConfigSecret is the secret reference that contains the key and cert for TLS.

func (*RisingWaveTLSConfigSecret) DeepCopy

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

func (*RisingWaveTLSConfigSecret) DeepCopyInto

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

type RisingWaveUpgradeStrategy

type RisingWaveUpgradeStrategy struct {
	// Type of upgrade. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.
	// +optional
	// +kubebuilder:default=RollingUpdate
	// +kubebuilder:validation:Enum=Recreate;RollingUpdate;InPlaceIfPossible;InPlaceOnly
	Type RisingWaveUpgradeStrategyType `json:"type,omitempty"`

	// Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
	// +optional
	RollingUpdate *RisingWaveRollingUpdate `json:"rollingUpdate,omitempty"`

	// InPlaceUpdateStrategy contains strategies for in-place update.
	// +optional
	InPlaceUpdateStrategy *kruisepubs.InPlaceUpdateStrategy `json:"inPlaceUpdateStrategy,omitempty"`
}

RisingWaveUpgradeStrategy is the spec of upgrade strategy used by RisingWave.

func (*RisingWaveUpgradeStrategy) DeepCopy

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

func (*RisingWaveUpgradeStrategy) DeepCopyInto

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

type RisingWaveUpgradeStrategyType

type RisingWaveUpgradeStrategyType string

RisingWaveUpgradeStrategyType is the type of upgrade strategies used in RisingWave.

const (
	RisingWaveUpgradeStrategyTypeRecreate          RisingWaveUpgradeStrategyType = "Recreate"
	RisingWaveUpgradeStrategyTypeRollingUpdate     RisingWaveUpgradeStrategyType = "RollingUpdate"
	RisingWaveUpgradeStrategyTypeInPlaceIfPossible RisingWaveUpgradeStrategyType = "InPlaceIfPossible"
	RisingWaveUpgradeStrategyTypeInPlaceOnly       RisingWaveUpgradeStrategyType = "InPlaceOnly"
)

Valid values of RisingWaveUpgradeStrategyType.

Jump to

Keyboard shortcuts

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