v1alpha1

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 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"
	ObjectStorageTypeHDFS      ObjectStorageType = "HDFS"
	ObjectStorageTypeUnknown   ObjectStorageType = "Unknown"
)

These are valid values of ObjectStorageType.

type PersistentVolumeClaim added in v0.2.6

type PersistentVolumeClaim struct {
	PersistentVolumeClaimPartialObjectMeta `json:"metadata,omitempty"`

	// spec defines the desired characteristics of a volume requested by a pod author.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Spec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty"`
}

PersistentVolumeClaim used by RisingWave.

func (*PersistentVolumeClaim) DeepCopy added in v0.2.6

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

func (*PersistentVolumeClaim) DeepCopyInto added in v0.2.6

func (in *PersistentVolumeClaim) DeepCopyInto(out *PersistentVolumeClaim)

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

type PersistentVolumeClaimPartialObjectMeta added in v0.2.6

type PersistentVolumeClaimPartialObjectMeta struct {
	// Name must be unique within a namespace. Is required when creating resources, although
	// some resources may allow a client to request the generation of an appropriate name
	// automatically. Name is primarily intended for creation idempotence and configuration
	// definition.
	// Cannot be updated.
	// More info: http://kubernetes.io/docs/user-guide/identifiers#names
	// +optional
	Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`

	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: http://kubernetes.io/docs/user-guide/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`

	// Must be empty before the object is deleted from the registry. Each entry
	// is an identifier for the responsible component that will remove the entry
	// from the list. If the deletionTimestamp of the object is non-nil, entries
	// in this list can only be removed.
	// Finalizers may be processed and removed in any order.  Order is NOT enforced
	// because it introduces significant risk of stuck finalizers.
	// finalizers is a shared field, any actor with permission can reorder it.
	// If the finalizer list is processed in order, then this can lead to a situation
	// in which the component responsible for the first finalizer in the list is
	// waiting for a signal (field value, external system, or other) produced by a
	// component responsible for a finalizer later in the list, resulting in a deadlock.
	// Without enforced ordering finalizers are free to order amongst themselves and
	// are not vulnerable to ordering changes in the list.
	// +optional
	// +patchStrategy=merge
	Finalizers []string `json:"finalizers,omitempty" patchStrategy:"merge" protobuf:"bytes,14,rep,name=finalizers"`
}

PersistentVolumeClaimPartialObjectMeta is the metadata for PVC templates.

func (*PersistentVolumeClaimPartialObjectMeta) DeepCopy added in v0.2.6

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

func (*PersistentVolumeClaimPartialObjectMeta) DeepCopyInto added in v0.2.6

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

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 compactor 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 compute 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 RisingWaveComponentConnector added in v0.2.6

type RisingWaveComponentConnector struct {
	// The time that the Pods of connector 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
	// +kubebuilder:default={service: 50051, metrics: 8080}
	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"`
}

RisingWaveComponentConnector is the spec describes the connector component.

func (*RisingWaveComponentConnector) DeepCopy added in v0.2.6

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

func (*RisingWaveComponentConnector) DeepCopyInto added in v0.2.6

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"`

	// List of environment variables to set in the container.
	// Cannot be updated.
	// +optional
	// +patchMergeKey=name
	// +patchStrategy=merge
	Env []corev1.EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"`

	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// Cannot be updated.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
}

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"`

	// Running status of connector.
	Connector ComponentReplicasStatus `json:"connector"`
}

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"`

	// Connector component spec.
	Connector RisingWaveComponentConnector `json:"connector,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"`

	// Replicas of connector component. Replicas specified here is in a default group (with empty name ”).
	// +optional
	// +kubebuilder:validation:Minimum=0
	Connector int32 `json:"connector,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"`

	// HDFS storage spec.
	// +optional
	HDFS *RisingWaveObjectStorageHDFS `json:"hdfs,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 RisingWaveObjectStorageHDFS added in v0.2.6

type RisingWaveObjectStorageHDFS struct {
	// Name node of the HDFS
	// +kubebuilder:validation:Required
	NameNode string `json:"nameNode"`

	// Root of the HDFS
	// +kubebuilder:validation:Required
	Root string `json:"root"`
}

RisingWaveObjectStorageHDFS is the details of HDFS storage (S3 compatible) for compute and compactor components.

func (*RisingWaveObjectStorageHDFS) DeepCopy added in v0.2.6

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

func (*RisingWaveObjectStorageHDFS) DeepCopyInto added in v0.2.6

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 record for RisingWaveScaleViews. For example, if there's a RisingWaveScaleView targets the current RisingWave, the controller will try to create a new RisingWaveScaleViewLock with the name, uid, target component, generation, and the replicas of targeting groups of the RisingWaveScaleView. After the record is set, the validation webhook will reject any updates on the replicas of any targeting group that doesn't equal the replicas recorded, which makes it a lock similar thing.

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;connector
	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"`

	// Version of the Global Image
	Version string `json:"version,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 {
	// Storage spec for meta.
	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 []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