v1alpha1

package
v0.0.0-...-4c48479 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the risingwave v1alpha1 API group +kubebuilder:object:generate=true +groupName=risingwave.singularity-data.com

Index

Constants

View Source
const (
	MinIOServerPortName = "minio-server"
	MinIOServerPort     = 9301

	MinIOConsolePortName = "minio-console"
	MinIOConsolePort     = 9400

	MetaServerPortName = "meta-server"
	MetaServerPort     = 5690

	MetaDashboardPortName = "meta-dashboard"
	MetaDashboardPort     = 5691

	MetaMetricsPortName = "metrics"
	MetaMetricsPort     = 1250

	ComputeNodePortName = "compute-node"
	ComputeNodePort     = 5688

	ComputeNodeMetricsPortName = "metrics"
	ComputeNodeMetricsPort     = 1222

	FrontendPortName = "frontend"
	FrontendPort     = 4567

	CompactorNodePortName = "compactor-node"
	CompactorNodePort     = 6660

	CompactorNodeMetricsPortName = "metrics"
	CompactorNodeMetricsPort     = 1260
)
View Source
const (
	ArchKey = "kubernetes.io/arch"
)
View Source
const (
	CloudProviderConfigureSecretName string = "cloud-provider-configure"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "risingwave.singularity-data.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

func CheckConfigFile

func CheckConfigFile() bool

CheckConfigFile if $HOME/.kube/config exist return true.

func NewValidateError

func NewValidateError(msg string) error

func SetDefaultOption

func SetDefaultOption(opt RisingWaveOptions)

Types

type Arch

type Arch string

Arch defines what machine architecture on which RisingWave should run.

const (
	AMD64Arch Arch = "amd64"
	ARM64Arch Arch = "arm64"
)

type BaseOptions

type BaseOptions struct {
	Image map[Arch]ImageOptions

	PullPolicy corev1.PullPolicy
	Replicas   int32
	Resources  corev1.ResourceRequirements
}

func (*BaseOptions) DeepCopy

func (in *BaseOptions) DeepCopy() *BaseOptions

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

func (*BaseOptions) DeepCopyInto

func (in *BaseOptions) DeepCopyInto(out *BaseOptions)

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

type CloudService

type CloudService struct {
	Provider string `json:"provider"`
}

CloudService defines storage provider.

func (*CloudService) DeepCopy

func (in *CloudService) DeepCopy() *CloudService

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

func (*CloudService) DeepCopyInto

func (in *CloudService) DeepCopyInto(out *CloudService)

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

type CompactorNodeSpec

type CompactorNodeSpec struct {
	DeployDescriptor `json:",inline"`
}

CompactorNodeSpec defines the spec of compactor-node.

func (*CompactorNodeSpec) DeepCopy

func (in *CompactorNodeSpec) DeepCopy() *CompactorNodeSpec

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

func (*CompactorNodeSpec) DeepCopyInto

func (in *CompactorNodeSpec) DeepCopyInto(out *CompactorNodeSpec)

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

type CompactorNodeStatus

type CompactorNodeStatus struct {
	Phase ComponentPhase `json:"phase,omitempty"`

	// Total number of non-terminated pods.
	Replicas int32 `json:"replicas,omitempty"`
}

CompactorNodeStatus defines status of compactor node.

func (*CompactorNodeStatus) DeepCopy

func (in *CompactorNodeStatus) DeepCopy() *CompactorNodeStatus

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

func (*CompactorNodeStatus) DeepCopyInto

func (in *CompactorNodeStatus) DeepCopyInto(out *CompactorNodeStatus)

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

type ComponentPhase

type ComponentPhase string
const (
	ComponentUpgrading    ComponentPhase = "Upgrading" // TODO: support component upgrade
	ComponentInitializing ComponentPhase = "Initializing"
	ComponentScaling      ComponentPhase = "Scaling"
	ComponentReady        ComponentPhase = "Ready"
	ComponentFailed       ComponentPhase = "Failed"
	ComponentUnknown      ComponentPhase = "Unknown"
)

type ComputeNodeSpec

type ComputeNodeSpec struct {
	DeployDescriptor `json:",inline"`
}

ComputeNodeSpec defines the spec of compute-node No need storage information. Which storage to use depends on spec.objectStorageSpec.

func (*ComputeNodeSpec) DeepCopy

func (in *ComputeNodeSpec) DeepCopy() *ComputeNodeSpec

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

func (*ComputeNodeSpec) DeepCopyInto

func (in *ComputeNodeSpec) DeepCopyInto(out *ComputeNodeSpec)

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

type ComputeNodeStatus

type ComputeNodeStatus struct {
	Phase ComponentPhase `json:"phase,omitempty"`

	// Total number of non-terminated pods.
	Replicas int32 `json:"replicas,omitempty"`
}

ComputeNodeStatus defines status of compute node.

func (*ComputeNodeStatus) DeepCopy

func (in *ComputeNodeStatus) DeepCopy() *ComputeNodeStatus

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

func (*ComputeNodeStatus) DeepCopyInto

func (in *ComputeNodeStatus) DeepCopyInto(out *ComputeNodeStatus)

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

type DeployDescriptor

type DeployDescriptor struct {
	// +optional
	Image *ImageDescriptor `json:"image,omitempty"`

	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// +optional
	Ports []corev1.ContainerPort `json:"ports,omitempty"`

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

	// +optional
	CMD []string `json:"cmd,omitempty"`
}

DeployDescriptor describe the deploy information.

func (*DeployDescriptor) DeepCopy

func (in *DeployDescriptor) DeepCopy() *DeployDescriptor

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

func (*DeployDescriptor) DeepCopyInto

func (in *DeployDescriptor) DeepCopyInto(out *DeployDescriptor)

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

type FrontendSpec

type FrontendSpec struct {
	ServiceSpec *corev1.ServiceSpec `json:"serviceSpec,omitempty"`

	DeployDescriptor `json:",inline"`
}

FrontendSpec defines spec of frontend.

func (*FrontendSpec) DeepCopy

func (in *FrontendSpec) DeepCopy() *FrontendSpec

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

func (*FrontendSpec) DeepCopyInto

func (in *FrontendSpec) DeepCopyInto(out *FrontendSpec)

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

type FrontendSpecStatus

type FrontendSpecStatus struct {
	Phase ComponentPhase `json:"phase,omitempty"`

	// Total number of non-terminated pods.
	Replicas int32 `json:"replicas,omitempty"`
}

FrontendSpecStatus defines status of compute frontend.

func (*FrontendSpecStatus) DeepCopy

func (in *FrontendSpecStatus) DeepCopy() *FrontendSpecStatus

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

func (*FrontendSpecStatus) DeepCopyInto

func (in *FrontendSpecStatus) DeepCopyInto(out *FrontendSpecStatus)

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

type ImageDescriptor

type ImageDescriptor struct {
	Repository *string `json:"repository,omitempty"`
	Tag        *string `json:"tag,omitempty"`

	// PullPolicy for the image.
	// Default: IfNotPresent
	PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
}

ImageDescriptor describe the image information.

func (*ImageDescriptor) DeepCopy

func (in *ImageDescriptor) DeepCopy() *ImageDescriptor

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

func (*ImageDescriptor) DeepCopyInto

func (in *ImageDescriptor) DeepCopyInto(out *ImageDescriptor)

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

type ImageOptions

type ImageOptions struct {
	Repository string `yaml:"repository"`
	Tag        string `yaml:"tag"`
}

ImageOptions TODO: remove this map after all images support docker multi platform.

func (*ImageOptions) DeepCopy

func (in *ImageOptions) DeepCopy() *ImageOptions

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

func (*ImageOptions) DeepCopyInto

func (in *ImageOptions) DeepCopyInto(out *ImageOptions)

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

type MetaNodeSpec

type MetaNodeSpec struct {
	DeployDescriptor `json:",inline"`

	Storage *MetaStorage `json:"storage"`
}

func (*MetaNodeSpec) DeepCopy

func (in *MetaNodeSpec) DeepCopy() *MetaNodeSpec

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

func (*MetaNodeSpec) DeepCopyInto

func (in *MetaNodeSpec) DeepCopyInto(out *MetaNodeSpec)

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

type MetaNodeStatus

type MetaNodeStatus struct {
	Phase ComponentPhase `json:"phase,omitempty"`

	// Total number of non-terminated pods.
	Replicas int32 `json:"replicas,omitempty"`
}

MetaNodeStatus defines status of meta node.

func (*MetaNodeStatus) DeepCopy

func (in *MetaNodeStatus) DeepCopy() *MetaNodeStatus

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

func (*MetaNodeStatus) DeepCopyInto

func (in *MetaNodeStatus) DeepCopyInto(out *MetaNodeStatus)

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

type MetaStorage

type MetaStorage struct {
	Type MetaStorageType `json:"type"`
	// +optional
	EtcdEndpoint string `json:"etcdEndpoint,omitempty"`
}

MetaStorage defines spec of meta service.

func (*MetaStorage) DeepCopy

func (in *MetaStorage) DeepCopy() *MetaStorage

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

func (*MetaStorage) DeepCopyInto

func (in *MetaStorage) DeepCopyInto(out *MetaStorage)

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

type MetaStorageType

type MetaStorageType string

MetaStorageType defines the storage type of meta node.

const (
	// InMemory - use memory for meta node storage.
	InMemory MetaStorageType = "InMemory"
	// ETCD - use ETCD for meta node storage.
	ETCD MetaStorageType = "ETCD"
)

type MinIO

type MinIO struct {
	DeployDescriptor `json:",inline"`
}

MinIO defines minIO deploy information.

func (*MinIO) DeepCopy

func (in *MinIO) DeepCopy() *MinIO

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

func (*MinIO) DeepCopyInto

func (in *MinIO) DeepCopyInto(out *MinIO)

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

type MinIOStatus

type MinIOStatus struct {
	// Total number of non-terminated pods.
	Replicas int32 `json:"replicas,omitempty"`
}

MinIOStatus define the status of MinIO storage.

func (*MinIOStatus) DeepCopy

func (in *MinIOStatus) DeepCopy() *MinIOStatus

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

func (*MinIOStatus) DeepCopyInto

func (in *MinIOStatus) DeepCopyInto(out *MinIOStatus)

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

type ObjectStorageSpec

type ObjectStorageSpec struct {
	// TODO: support s3 config
	S3 *S3 `json:"s3,omitempty"`

	Memory bool `json:"memory,omitempty"`

	MinIO *MinIO `json:"minIO,omitempty"`
}

ObjectStorageSpec defines spec of object storage TODO: support more backend types.

func (*ObjectStorageSpec) DeepCopy

func (in *ObjectStorageSpec) DeepCopy() *ObjectStorageSpec

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

func (*ObjectStorageSpec) DeepCopyInto

func (in *ObjectStorageSpec) DeepCopyInto(out *ObjectStorageSpec)

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

type ObjectStorageStatus

type ObjectStorageStatus struct {
	Phase ComponentPhase `json:"phase,omitempty"`

	MinIOStatus *MinIOStatus `json:"minio,omitempty"`

	S3 bool `json:"s3,omitempty"`

	StorageType ObjectStorageType `json:"type,omitempty"`
}

ObjectStorageStatus defines status of object storage.

func (*ObjectStorageStatus) DeepCopy

func (in *ObjectStorageStatus) DeepCopy() *ObjectStorageStatus

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

func (*ObjectStorageStatus) DeepCopyInto

func (in *ObjectStorageStatus) DeepCopyInto(out *ObjectStorageStatus)

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

type ObjectStorageType

type ObjectStorageType string

ObjectStorageType defines storage provider.

const (
	MinIOType ObjectStorageType = "MinIO"

	S3Type ObjectStorageType = "S3"

	MemoryType ObjectStorageType = "Memory"

	UnknownType ObjectStorageType = "Unknown"
)

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 Schema for the risingwaves API.

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.

func (*RisingWave) Default

func (r *RisingWave) Default()

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

func (*RisingWave) SetupWebhookWithManager

func (r *RisingWave) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*RisingWave) ValidateCreate

func (r *RisingWave) ValidateCreate() error

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

func (*RisingWave) ValidateDelete

func (r *RisingWave) ValidateDelete() error

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

func (*RisingWave) ValidateUpdate

func (r *RisingWave) ValidateUpdate(old runtime.Object) error

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

type RisingWaveCondition

type RisingWaveCondition struct {
	// Type of the condition
	Type RisingWaveType `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 describes the condition for 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 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 RisingWaveOptions

type RisingWaveOptions struct {
	Arch Arch

	MetaNode      BaseOptions
	ComputeNode   BaseOptions
	CompactorNode BaseOptions
	MinIO         BaseOptions
	Frontend      BaseOptions
}

func (*RisingWaveOptions) DeepCopy

func (in *RisingWaveOptions) DeepCopy() *RisingWaveOptions

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

func (*RisingWaveOptions) DeepCopyInto

func (in *RisingWaveOptions) DeepCopyInto(out *RisingWaveOptions)

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

type RisingWaveSpec

type RisingWaveSpec struct {
	Arch Arch `json:"arch,omitempty"`

	MetaNode *MetaNodeSpec `json:"metaNode,omitempty"`

	ObjectStorage *ObjectStorageSpec `json:"objectStorage,omitempty"`

	ComputeNode *ComputeNodeSpec `json:"computeNode,omitempty"`

	CompactorNode *CompactorNodeSpec `json:"compactorNode,omitempty"`

	Frontend *FrontendSpec `json:"frontend,omitempty"`
}

RisingWaveSpec defines the desired state of RisingWave.

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 {
	MetaNode      MetaNodeStatus      `json:"metaNode,omitempty"`
	ObjectStorage ObjectStorageStatus `json:"objectStorage,omitempty"`
	ComputeNode   ComputeNodeStatus   `json:"computeNode,omitempty"`
	CompactorNode CompactorNodeStatus `json:"compactorNode,omitempty"`
	Frontend      FrontendSpecStatus  `json:"frontend,omitempty"`

	ObservedGeneration int64                 `json:"observedGeneration,omitempty"`
	Conditions         []RisingWaveCondition `json:"conditions,omitempty"`
}

RisingWaveStatus defines the observed state 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 RisingWaveType

type RisingWaveType string
const (
	Initializing RisingWaveType = "Initializing"
	Running      RisingWaveType = "Running"
	Upgrading    RisingWaveType = "Upgrading"
	Failed       RisingWaveType = "Failed"
	Unknown      RisingWaveType = "Unknown"
)

type S3

type S3 struct {
	// the name of Provider, default AWS
	Provider string `json:"provider"`

	// the name of s3 bucket, if not set, operator will create new bucket
	Bucket *string `json:"bucket,omitempty"`

	// the secret name of s3 client configure
	SecretName string `json:"secret,omitempty"`
}

S3 store the s3 information.

func (*S3) DeepCopy

func (in *S3) DeepCopy() *S3

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

func (*S3) DeepCopyInto

func (in *S3) DeepCopyInto(out *S3)

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

Jump to

Keyboard shortcuts

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