v1alpha1

package
v0.0.0-...-21a76b1 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2023 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 3 more Imports: 11 Imported by: 0

README

API Reference

Packages

k8s.v6d.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group

Resource Types
Backup

Backup describes a backup operation of vineyard objects, which uses the Kubernetes PersistentVolume to store the backup data. Every backup operation will be binded with the name of Backup.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string Backup
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BackupSpec
BackupList

BackupList contains a list of Backup

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string BackupList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Backup array
BackupSpec

BackupSpec defines the desired state of Backup

Appears in:

Field Description
vineyarddName string the name of the vineyard cluster
vineyarddNamespace string the namespace of the vineyard cluster
objecIDs string array the specific objects to be backed up if not specified, all objects will be backed up
backupPath string the path of backup data
persistentVolumeSpec PersistentVolumeSpec the PersistentVolumeSpec of the backup data
persistentVolumeClaimSpec PersistentVolumeClaimSpec the PersistentVolumeClaimSpec of the backup data
CSIDriver

CSIDriver is the Schema for the csidrivers API

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string CSIDriver
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec CSIDriverSpec
CSIDriverList

CSIDriverList contains a list of CSIDriver

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string CSIDriverList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items CSIDriver array
CSIDriverSpec

CSIDriverSpec defines the desired state of CSIDriver

Appears in:

Field Description
image string Image is the name of the csi driver image
imagePullPolicy string ImagePullPolicy is the image pull policy of the csi driver
storageClassName string StorageClassName is the name of the storage class
volumeBindingMode string VolumeBindingMode is the volume binding mode of the storage class
sidecar CSISidecar Sidecar is the configuration for the CSI sidecar container nolint: lll
clusters VineyardClusters array Clusters are the list of vineyard clusters
enableToleration boolean EnableToleration is the flag to enable toleration for the csi driver
enableVerboseLog boolean EnableVerboseLog is the flag to enable verbose log for the csi driver
CSISidecar

CSISidecar holds the configuration for the CSI sidecar container

Appears in:

Field Description
provisionerImage string ProvisionerImage is the image of the provisioner sidecar
attacherImage string AttacherImage is the image of the attacher sidecar
nodeRegistrarImage string NodeRegistrarImage is the image of the node registrar sidecar
livenessProbeImage string LivenessProbeImage is the image of the liveness probe sidecar
imagePullPolicy string ImagePullPolicy is the image pull policy of all sidecar containers
enableTopology boolean EnableTopology is the flag to enable topology for the csi driver
GlobalObject

GlobalObject describes a global object in vineyard, whose metadata will be stored in etcd.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string GlobalObject
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GlobalObjectSpec
GlobalObjectList

GlobalObjectList contains a list of GlobalObject

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string GlobalObjectList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items GlobalObject array
GlobalObjectSpec

GlobalObjectSpec defines the desired state of GlobalObject

Appears in:

Field Description
id string
name string
signature string
typename string
members string array
metadata string Refer to Kubernetes API documentation for fields of metadata.
LocalObject

LocalObject describes a local object in vineyard, whose metadata will only be stored in local vineyard.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string LocalObject
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec LocalObjectSpec
LocalObjectList

LocalObjectList contains a list of LocalObject

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string LocalObjectList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items LocalObject array
LocalObjectSpec

LocalObjectSpec defines the desired state of LocalObject

Appears in:

Field Description
id string
name string
signature string
typename string
instance_id integer
hostname string
metadata string Refer to Kubernetes API documentation for fields of metadata.
MetricConfig

MetricConfig holds the configuration about metric container

Appears in:

Field Description
enable boolean Enable metrics
image string represent the metric's image
imagePullPolicy string the policy about pulling image
Operation

Operation describes an operation between workloads, such as assembly and repartition. As for the assembly operation, there are several kinds of computing engines, some may not support the stream data, so we need to insert an assembly operation to assemble the stream data into a batch data, so that the next computing engines can process the data. As for the repartition operation, the vineyard has integrated with the distributed computing engines, such as Dask. If you want to repartition the data to adapt the dask workers, then the repartition operation is essential for such scenario.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string Operation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec OperationSpec
OperationList

OperationList contains a list of Operation

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string OperationList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Operation array
OperationSpec

OperationSpec defines the desired state of Operation

Appears in:

Field Description
name string the name of vineyard pluggable drivers, including assembly and repartition.
type string the type of object, including local and distributed.
require string the required job's name of the operation
target string the target job's name of the operation
timeoutSeconds integer TimeoutSeconds is the timeout of the operation.
PluginImageConfig

PluginImageConfig holds all image configuration about pluggable drivers(backup, recover, local assembly, distributed assembly, repartition)

Appears in:

Field Description
backupImage string the image of backup operation
recoverImage string the image of recover operation
daskRepartitionImage string the image of dask repartition operation
localAssemblyImage string the image of local assembly operation
distributedAssemblyImage string the image of distributed assembly operation
Recover

Recover describes a recover operation of vineyard objects, which is used to recover a specific backup operation.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string Recover
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec RecoverSpec
RecoverList

RecoverList contains a list of Recover

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string RecoverList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Recover array
RecoverSpec

RecoverSpec defines the desired state of Recover

Appears in:

Field Description
backupName string the name of backup
backupNamespace string the namespace of backup
ServiceConfig

ServiceConfig holds all service configuration about vineyardd

Appears in:

Field Description
type string service type
port integer service port
Sidecar

Sidecar is used for configuring and managing the vineyard sidecar container.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string Sidecar
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec SidecarSpec
SidecarList

SidecarList contains a list of Sidecar

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string SidecarList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Sidecar array
SidecarSpec

SidecarSpec defines the desired state of Sidecar

Appears in:

Field Description
selector string the selector of pod
replicas integer the replicas of workload
etcdReplicas integer EtcdReplicas describe the etcd replicas
vineyard VineyardConfig vineyard container configuration nolint: lll
metric MetricConfig metric container configuration
volume VolumeConfig metric configurations
service ServiceConfig rpc service configuration
SpillConfig

SpillConfig holds all configuration about spilling

Appears in:

Field Description
name string the name of the spill config
path string the path of spilling
spillLowerRate string low watermark of spilling memory
spillUpperRate string high watermark of triggering spilling
persistentVolumeSpec PersistentVolumeSpec the PersistentVolumeSpec of the spilling PV
persistentVolumeClaimSpec PersistentVolumeClaimSpec the PersistentVolumeClaimSpec of the spill file
VineyardClusters

VineyardClusters contains the list of vineyard clusters

Appears in:

Field Description
namespace string Namespace is the namespace of the vineyard cluster
name string Name is the name of the vineyard deployment
VineyardConfig

VineyardConfig holds all configuration about vineyard container

Appears in:

Field Description
image string represent the vineyardd's image
imagePullPolicy string the policy about pulling image
syncCRDs boolean synchronize CRDs when persisting objects
socket string The directory on host for the IPC socket file. The UNIX-domain socket will be placed as ${Socket}/vineyard.sock.
size string shared memory size for vineyardd
reserveMemory boolean reserve the shared memory for vineyardd
streamThreshold integer memory threshold of streams (percentage of total memory)
spill SpillConfig the configuration of spilling
env EnvVar array vineyard environment configuration
memory string the memory resources of vineyard container
cpu string the cpu resources of vineyard container
Vineyardd

Vineyardd is used to deploy a vineyard cluster on kubernetes, which can simplify the configurations of the vineyard binary, the external etcd cluster and the vineyard Deployment. As vineyard is bound to a specific socket on the hostpath by default, the vineyard pod cannot be deployed on the same node. Before deploying vineyardd, you should know how many nodes are available for vineyard pod to deploy on and make sure the vineyardd pod number is less than the number of available nodes.

Appears in:

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string Vineyardd
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VineyarddSpec
VineyarddList

VineyarddList contains a list of Vineyardd

Field Description
apiVersion string k8s.v6d.io/v1alpha1
kind string VineyarddList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Vineyardd array
VineyarddSpec

VineyarddSpec holds all configuration about vineyardd

Appears in:

Field Description
replicas integer Replicas is the number of vineyardd pods to deploy
etcdReplicas integer EtcdReplicas describe the etcd replicas
service ServiceConfig vineyardd's service
vineyard VineyardConfig vineyard container configuration nolint: lll
pluginImage PluginImageConfig operation container configuration nolint: lll
metric MetricConfig metric container configuration
volume VolumeConfig Volume configuration
VolumeConfig

VolumeConfig holds all configuration about persistent volume

Appears in:

Field Description
pvcName string the name of pvc
mountPath string the mount path of pv

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group +kubebuilder:object:generate=true +groupName=k8s.v6d.io

Index

Constants

View Source
const (
	// CSIDriverRunning is the running state of the csi driver
	CSIDriverRunning = "running"
	// CSIDriverPending is the pending state of the csi driver
	CSIDriverPending = "pending"
)
View Source
const (
	// OperationRunning is the running state of the job
	OperationRunning = "running"
	// OperationSucceeded is the succeeded state of the job
	OperationSucceeded = "succeeded"
	// OperationFailed is the failed state of the job
	OperationFailed = "failed"
)

Variables

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

	// SchemeGroupVersion is the group version used for generated code by code-generator
	SchemeGroupVersion = GroupVersion

	// 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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func PreprocessVineyarddSocket

func PreprocessVineyarddSocket(vineyardd *Vineyardd)

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Backup

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

	Spec   BackupSpec   `json:"spec,omitempty"`
	Status BackupStatus `json:"status,omitempty"`
}

Backup describes a backup operation of vineyard objects, which uses the [Kubernetes PersistentVolume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) to store the backup data. Every backup operation will be binded with the name of Backup.

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

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

func (*Backup) DeepCopyInto

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

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

func (*Backup) DeepCopyObject

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

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

func (*Backup) Default

func (r *Backup) Default()

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

func (*Backup) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*Backup) ValidateCreate

func (r *Backup) ValidateCreate() error

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

func (*Backup) ValidateDelete

func (r *Backup) ValidateDelete() error

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

func (*Backup) ValidateUpdate

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

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

type BackupList

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

BackupList contains a list of Backup

func (*BackupList) DeepCopy

func (in *BackupList) DeepCopy() *BackupList

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

func (*BackupList) DeepCopyInto

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

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

func (*BackupList) DeepCopyObject

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

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

type BackupSpec

type BackupSpec struct {
	// the name of the vineyard cluster
	// +kubebuilder:validation:Required
	VineyarddName string `json:"vineyarddName,omitempty"`

	// the namespace of the vineyard cluster
	// +kubebuilder:validation:Required
	VineyarddNamespace string `json:"vineyarddNamespace,omitempty"`

	// the specific objects to be backed up
	// if not specified, all objects will be backed up
	// +kubebuilder:validation:Required
	ObjectIDs []string `json:"objecIDs,omitempty"`

	// the path of backup data
	// +kubebuilder:validation:Required
	BackupPath string `json:"backupPath,omitempty"`

	// the PersistentVolumeSpec of the backup data
	// +kubebuilder:validation:Optional
	PersistentVolumeSpec corev1.PersistentVolumeSpec `json:"persistentVolumeSpec,omitempty"`

	// the PersistentVolumeClaimSpec of the backup data
	// +kubebuilder:validation:Optional
	PersistentVolumeClaimSpec corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
}

BackupSpec defines the desired state of Backup

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

type BackupStatus

type BackupStatus struct {
	// state of the backup
	// +kubebuilder:validation:Optional
	State string `json:"state,omitempty"`
}

BackupStatus defines the observed state of Backup

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type CSIDriver

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

	Spec   CSIDriverSpec   `json:"spec,omitempty"`
	Status CSIDriverStatus `json:"status,omitempty"`
}

CSIDriver is the Schema for the csidrivers API

func (*CSIDriver) DeepCopy

func (in *CSIDriver) DeepCopy() *CSIDriver

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

func (*CSIDriver) DeepCopyInto

func (in *CSIDriver) DeepCopyInto(out *CSIDriver)

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

func (*CSIDriver) DeepCopyObject

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

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

func (*CSIDriver) Default

func (r *CSIDriver) Default()

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

func (*CSIDriver) SetupWebhookWithManager

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

func (*CSIDriver) ValidateCreate

func (r *CSIDriver) ValidateCreate() error

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

func (*CSIDriver) ValidateDelete

func (r *CSIDriver) ValidateDelete() error

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

func (*CSIDriver) ValidateUpdate

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

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

type CSIDriverList

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

CSIDriverList contains a list of CSIDriver

func (*CSIDriverList) DeepCopy

func (in *CSIDriverList) DeepCopy() *CSIDriverList

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

func (*CSIDriverList) DeepCopyInto

func (in *CSIDriverList) DeepCopyInto(out *CSIDriverList)

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

func (*CSIDriverList) DeepCopyObject

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

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

type CSIDriverSpec

type CSIDriverSpec struct {
	// Image is the name of the csi driver image
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="vineyardcloudnative/vineyard-operator"
	Image string `json:"image,omitempty"`

	// ImagePullPolicy is the image pull policy of the csi driver
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="IfNotPresent"
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// StorageClassName is the name of the storage class
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="vineyard-csi"
	StorageClassName string `json:"storageClassName,omitempty"`

	// VolumeBindingMode is the volume binding mode of the storage class
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="WaitForFirstConsumer"
	VolumeBindingMode string `json:"volumeBindingMode,omitempty"`

	// Sidecar is the configuration for the CSI sidecar container
	// +kubebuilder:validation:Required
	//nolint: lll
	// +kubebuilder:default:={provisionerImage: "registry.k8s.io/sig-storage/csi-provisioner:v3.3.0", attacherImage: "registry.k8s.io/sig-storage/csi-attacher:v4.0.0", nodeRegistrarImage: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.0", livenessProbeImage: "registry.k8s.io/sig-storage/livenessprobe:v2.8.0", imagePullPolicy: "Always", enableTopology: false}
	Sidecar CSISidecar `json:"sidecar,omitempty"`

	// Clusters are the list of vineyard clusters
	// +kubebuilder:validation:Required
	// +kubebuilder:default:={}
	Clusters []VineyardClusters `json:"clusters,omitempty"`

	// EnableToleration is the flag to enable toleration for the csi driver
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=false
	EnableToleration bool `json:"enableToleration,omitempty"`

	// EnableVerboseLog is the flag to enable verbose log for the csi driver
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=false
	EnableVerboseLog bool `json:"enableVerboseLog,omitempty"`
}

CSIDriverSpec defines the desired state of CSIDriver

func (*CSIDriverSpec) DeepCopy

func (in *CSIDriverSpec) DeepCopy() *CSIDriverSpec

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

func (*CSIDriverSpec) DeepCopyInto

func (in *CSIDriverSpec) DeepCopyInto(out *CSIDriverSpec)

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

type CSIDriverStatus

type CSIDriverStatus struct {
	// State is the state of the csi driver
	State string `json:"state,omitempty"`
}

CSIDriverStatus defines the observed state of CSIDriver

func (*CSIDriverStatus) DeepCopy

func (in *CSIDriverStatus) DeepCopy() *CSIDriverStatus

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

func (*CSIDriverStatus) DeepCopyInto

func (in *CSIDriverStatus) DeepCopyInto(out *CSIDriverStatus)

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

type CSISidecar

type CSISidecar struct {
	// ProvisionerImage is the image of the provisioner sidecar
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="registry.k8s.io/sig-storage/csi-provisioner:v3.3.0"
	ProvisionerImage string `json:"provisionerImage,omitempty"`

	// AttacherImage is the image of the attacher sidecar
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="registry.k8s.io/sig-storage/csi-attacher:v4.0.0"
	AttacherImage string `json:"attacherImage,omitempty"`

	// NodeRegistrarImage is the image of the node registrar sidecar
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.0"
	NodeRegistrarImage string `json:"nodeRegistrarImage,omitempty"`

	// LivenessProbeImage is the image of the liveness probe sidecar
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="registry.k8s.io/sig-storage/livenessprobe:v2.8.0"
	LivenessProbeImage string `json:"livenessProbeImage,omitempty"`

	// ImagePullPolicy is the image pull policy of all sidecar containers
	// +kubebuilder:validation:Required
	// +kubebuilder:default:="Always"
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// EnableTopology is the flag to enable topology for the csi driver
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=false
	EnableTopology bool `json:"enableTopology,omitempty"`
}

CSISidecar holds the configuration for the CSI sidecar container

func (*CSISidecar) DeepCopy

func (in *CSISidecar) DeepCopy() *CSISidecar

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

func (*CSISidecar) DeepCopyInto

func (in *CSISidecar) DeepCopyInto(out *CSISidecar)

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

type GlobalObject

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

	Spec   GlobalObjectSpec   `json:"spec,omitempty"`
	Status GlobalObjectStatus `json:"status,omitempty"`
}

GlobalObject describes a global object in vineyard, whose metadata will be stored in etcd.

func (*GlobalObject) DeepCopy

func (in *GlobalObject) DeepCopy() *GlobalObject

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

func (*GlobalObject) DeepCopyInto

func (in *GlobalObject) DeepCopyInto(out *GlobalObject)

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

func (*GlobalObject) DeepCopyObject

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

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

func (*GlobalObject) Default

func (r *GlobalObject) Default()

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

func (*GlobalObject) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*GlobalObject) ValidateCreate

func (r *GlobalObject) ValidateCreate() error

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

func (*GlobalObject) ValidateDelete

func (r *GlobalObject) ValidateDelete() error

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

func (*GlobalObject) ValidateUpdate

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

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

type GlobalObjectList

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

GlobalObjectList contains a list of GlobalObject

func (*GlobalObjectList) DeepCopy

func (in *GlobalObjectList) DeepCopy() *GlobalObjectList

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

func (*GlobalObjectList) DeepCopyInto

func (in *GlobalObjectList) DeepCopyInto(out *GlobalObjectList)

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

func (*GlobalObjectList) DeepCopyObject

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

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

type GlobalObjectSpec

type GlobalObjectSpec struct {
	// +kubebuilder:validation:Required
	ObjectID string `json:"id"`
	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`
	// +kubebuilder:validation:Required
	Signature string `json:"signature"`
	// +kubebuilder:validation:Required
	Typename string `json:"typename,omitempty"`
	// +kubebuilder:validation:Optional
	Members []string `json:"members"`
	// +kubebuilder:validation:Optional
	Metadata string `json:"metadata"`
}

GlobalObjectSpec defines the desired state of GlobalObject

func (*GlobalObjectSpec) DeepCopy

func (in *GlobalObjectSpec) DeepCopy() *GlobalObjectSpec

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

func (*GlobalObjectSpec) DeepCopyInto

func (in *GlobalObjectSpec) DeepCopyInto(out *GlobalObjectSpec)

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

type GlobalObjectStatus

type GlobalObjectStatus struct {
	// The state represents the current state of the global object.
	// +kubebuilder:validation:Optional
	State string `json:"state"`
	// The time when the global object is created.
	// +kubebuilder:validation:Optional
	CreationTime metav1.Time `json:"createdTime"`
}

GlobalObjectStatus defines the observed state of GlobalObject

func (*GlobalObjectStatus) DeepCopy

func (in *GlobalObjectStatus) DeepCopy() *GlobalObjectStatus

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

func (*GlobalObjectStatus) DeepCopyInto

func (in *GlobalObjectStatus) DeepCopyInto(out *GlobalObjectStatus)

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

type LocalObject

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

	Spec   LocalObjectSpec   `json:"spec,omitempty"`
	Status LocalObjectStatus `json:"status,omitempty"`
}

LocalObject describes a local object in vineyard, whose metadata will only be stored in local vineyard.

func (*LocalObject) DeepCopy

func (in *LocalObject) DeepCopy() *LocalObject

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

func (*LocalObject) DeepCopyInto

func (in *LocalObject) DeepCopyInto(out *LocalObject)

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

func (*LocalObject) DeepCopyObject

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

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

func (*LocalObject) Default

func (r *LocalObject) Default()

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

func (*LocalObject) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*LocalObject) ValidateCreate

func (r *LocalObject) ValidateCreate() error

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

func (*LocalObject) ValidateDelete

func (r *LocalObject) ValidateDelete() error

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

func (*LocalObject) ValidateUpdate

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

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

type LocalObjectList

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

LocalObjectList contains a list of LocalObject

func (*LocalObjectList) DeepCopy

func (in *LocalObjectList) DeepCopy() *LocalObjectList

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

func (*LocalObjectList) DeepCopyInto

func (in *LocalObjectList) DeepCopyInto(out *LocalObjectList)

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

func (*LocalObjectList) DeepCopyObject

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

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

type LocalObjectSpec

type LocalObjectSpec struct {
	// +kubebuilder:validation:Required
	ObjectID string `json:"id"`
	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`
	// +kubebuilder:validation:Required
	Signature string `json:"signature"`
	// +kubebuilder:validation:Optional
	Typename string `json:"typename,omitempty"`
	// +kubebuilder:validation:Optional
	InstanceID int `json:"instance_id"`
	// +kubebuilder:validation:Required
	Hostname string `json:"hostname"`
	// +kubebuilder:validation:Optional
	Metadata string `json:"metadata"`
}

LocalObjectSpec defines the desired state of LocalObject

func (*LocalObjectSpec) DeepCopy

func (in *LocalObjectSpec) DeepCopy() *LocalObjectSpec

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

func (*LocalObjectSpec) DeepCopyInto

func (in *LocalObjectSpec) DeepCopyInto(out *LocalObjectSpec)

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

type LocalObjectStatus

type LocalObjectStatus struct {
	// The state represents the current state of the local object.
	// +kubebuilder:validation:Optional
	State string `json:"state"`
	// The time when the global object is created.
	// +kubebuilder:validation:Optional
	CreationTime metav1.Time `json:"createdTime"`
}

LocalObjectStatus defines the observed state of LocalObject

func (*LocalObjectStatus) DeepCopy

func (in *LocalObjectStatus) DeepCopy() *LocalObjectStatus

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

func (*LocalObjectStatus) DeepCopyInto

func (in *LocalObjectStatus) DeepCopyInto(out *LocalObjectStatus)

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

type MetricConfig

type MetricConfig struct {
	// Enable metrics
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	Enable bool `json:"enable,omitempty"`

	// represent the metric's image
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="vineyardcloudnative/vineyard-grok-exporter:latest"
	Image string `json:"image,omitempty"`

	// the policy about pulling image
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="IfNotPresent"
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
}

MetricConfig holds the configuration about metric container

func (*MetricConfig) DeepCopy

func (in *MetricConfig) DeepCopy() *MetricConfig

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

func (*MetricConfig) DeepCopyInto

func (in *MetricConfig) DeepCopyInto(out *MetricConfig)

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

type Operation

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

	Spec   OperationSpec   `json:"spec,omitempty"`
	Status OperationStatus `json:"status,omitempty"`
}

Operation describes an operation between workloads, such as assembly and repartition.

As for the `assembly` operation, there are several kinds of computing engines, some may not support the stream data, so we need to insert an `assembly` operation to assemble the stream data into a batch data, so that the next computing engines can process the data.

As for the `repartition` operation, the vineyard has integrated with the distributed computing engines, such as Dask. If you want to repartition the data to adapt the dask workers, then the `repartition` operation is essential for such scenario.

func (*Operation) DeepCopy

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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

func (*Operation) DeepCopyObject

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

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

func (*Operation) Default

func (r *Operation) Default()

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

func (*Operation) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*Operation) ValidateCreate

func (r *Operation) ValidateCreate() error

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

func (*Operation) ValidateDelete

func (r *Operation) ValidateDelete() error

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

func (*Operation) ValidateUpdate

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

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

type OperationList

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

OperationList contains a list of Operation

func (*OperationList) DeepCopy

func (in *OperationList) DeepCopy() *OperationList

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

func (*OperationList) DeepCopyInto

func (in *OperationList) DeepCopyInto(out *OperationList)

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

func (*OperationList) DeepCopyObject

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

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

type OperationSpec

type OperationSpec struct {
	// the name of vineyard pluggable drivers, including assembly and repartition.
	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`
	// the type of object, including local and distributed.
	// +kubebuilder:validation:Required
	Type string `json:"type,omitempty"`
	// the required job's name of the operation
	// +kubebuilder:validation:Required
	Require string `json:"require,omitempty"`
	// the target job's name of the operation
	// +kubebuilder:validation:Required
	Target string `json:"target,omitempty"`
	// TimeoutSeconds is the timeout of the operation.
	// +kubebuilder:validation:Required
	TimeoutSeconds int64 `json:"timeoutSeconds,omitempty"`
}

OperationSpec defines the desired state of Operation

func (*OperationSpec) DeepCopy

func (in *OperationSpec) DeepCopy() *OperationSpec

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

func (*OperationSpec) DeepCopyInto

func (in *OperationSpec) DeepCopyInto(out *OperationSpec)

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

type OperationStatus

type OperationStatus struct {
	// the state of operation.
	// +kubebuilder:validation:Optional
	State string `json:"state,omitempty"`
}

OperationStatus defines the observed state of Operation

func (*OperationStatus) DeepCopy

func (in *OperationStatus) DeepCopy() *OperationStatus

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

func (*OperationStatus) DeepCopyInto

func (in *OperationStatus) DeepCopyInto(out *OperationStatus)

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

type PluginImageConfig

type PluginImageConfig struct {
	// the image of backup operation
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ghcr.io/v6d-io/v6d/backup-job"
	BackupImage string `json:"backupImage,omitempty"`

	// the image of recover operation
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ghcr.io/v6d-io/v6d/recover-job"
	RecoverImage string `json:"recoverImage,omitempty"`

	// the image of dask repartition operation
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ghcr.io/v6d-io/v6d/dask-repartition"
	DaskRepartitionImage string `json:"daskRepartitionImage,omitempty"`

	// the image of local assembly operation
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ghcr.io/v6d-io/v6d/local-assembly"
	LocalAssemblyImage string `json:"localAssemblyImage,omitempty"`

	// the image of distributed assembly operation
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ghcr.io/v6d-io/v6d/distributed-assembly"
	DistributedAssemblyImage string `json:"distributedAssemblyImage,omitempty"`
}

PluginImageConfig holds all image configuration about pluggable drivers(backup, recover, local assembly, distributed assembly, repartition)

func (*PluginImageConfig) DeepCopy

func (in *PluginImageConfig) DeepCopy() *PluginImageConfig

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

func (*PluginImageConfig) DeepCopyInto

func (in *PluginImageConfig) DeepCopyInto(out *PluginImageConfig)

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

type Recover

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

	Spec   RecoverSpec   `json:"spec,omitempty"`
	Status RecoverStatus `json:"status,omitempty"`
}

Recover describes a recover operation of vineyard objects, which is used to recover a specific backup operation.

func (*Recover) DeepCopy

func (in *Recover) DeepCopy() *Recover

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

func (*Recover) DeepCopyInto

func (in *Recover) DeepCopyInto(out *Recover)

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

func (*Recover) DeepCopyObject

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

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

func (*Recover) Default

func (r *Recover) Default()

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

func (*Recover) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*Recover) ValidateCreate

func (r *Recover) ValidateCreate() error

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

func (*Recover) ValidateDelete

func (r *Recover) ValidateDelete() error

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

func (*Recover) ValidateUpdate

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

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

type RecoverList

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

RecoverList contains a list of Recover

func (*RecoverList) DeepCopy

func (in *RecoverList) DeepCopy() *RecoverList

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

func (*RecoverList) DeepCopyInto

func (in *RecoverList) DeepCopyInto(out *RecoverList)

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

func (*RecoverList) DeepCopyObject

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

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

type RecoverSpec

type RecoverSpec struct {
	// the name of backup
	// +kubebuilder:validation:Required
	BackupName string `json:"backupName,omitempty"`

	// the namespace of backup
	// +kubebuilder:validation:Required
	BackupNamespace string `json:"backupNamespace,omitempty"`
}

RecoverSpec defines the desired state of Recover

func (*RecoverSpec) DeepCopy

func (in *RecoverSpec) DeepCopy() *RecoverSpec

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

func (*RecoverSpec) DeepCopyInto

func (in *RecoverSpec) DeepCopyInto(out *RecoverSpec)

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

type RecoverStatus

type RecoverStatus struct {
	// the mapping table of old object to new object
	// +kubebuilder:validation:Required
	ObjectMapping map[string]string `json:"objectMapping,omitempty"`

	// state of the recover
	// +kubebuilder:validation:Optional
	State string `json:"state,omitempty"`
}

RecoverStatus defines the observed state of Recover

func (*RecoverStatus) DeepCopy

func (in *RecoverStatus) DeepCopy() *RecoverStatus

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

func (*RecoverStatus) DeepCopyInto

func (in *RecoverStatus) DeepCopyInto(out *RecoverStatus)

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

type ServiceConfig

type ServiceConfig struct {
	// service type
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="ClusterIP"
	Type string `json:"type,omitempty"`

	// service port
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=9600
	Port int `json:"port,omitempty"`
}

ServiceConfig holds all service configuration about vineyardd

func (*ServiceConfig) DeepCopy

func (in *ServiceConfig) DeepCopy() *ServiceConfig

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

func (*ServiceConfig) DeepCopyInto

func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)

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

type Sidecar

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

	Spec   SidecarSpec   `json:"spec,omitempty"`
	Status SidecarStatus `json:"status,omitempty"`
}

Sidecar is used for configuring and managing the vineyard sidecar container.

func (*Sidecar) DeepCopy

func (in *Sidecar) DeepCopy() *Sidecar

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

func (*Sidecar) DeepCopyInto

func (in *Sidecar) DeepCopyInto(out *Sidecar)

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

func (*Sidecar) DeepCopyObject

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

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

func (*Sidecar) Default

func (r *Sidecar) Default()

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

func (*Sidecar) SetupWebhookWithManager

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

SetupWebhookWithManager sets up the webhook with the manager

func (*Sidecar) ValidateCreate

func (r *Sidecar) ValidateCreate() error

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

func (*Sidecar) ValidateDelete

func (r *Sidecar) ValidateDelete() error

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

func (*Sidecar) ValidateUpdate

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

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

type SidecarList

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

SidecarList contains a list of Sidecar

func (*SidecarList) DeepCopy

func (in *SidecarList) DeepCopy() *SidecarList

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

func (*SidecarList) DeepCopyInto

func (in *SidecarList) DeepCopyInto(out *SidecarList)

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

func (*SidecarList) DeepCopyObject

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

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

type SidecarSpec

type SidecarSpec struct {
	// the selector of pod
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Selector string `json:"selector,omitempty"`

	// the replicas of workload
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=0
	Replicas int `json:"replicas,omitempty"`

	// EtcdReplicas describe the etcd replicas
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	EtcdReplicas int `json:"etcdReplicas,omitempty"`

	// vineyard container configuration
	// +kububuilder:validation:Optional
	//nolint: lll
	// +kubebuilder:default:={image: "vineyardcloudnative/vineyardd:latest", imagePullPolicy: "IfNotPresent", syncCRDs: true, socket: "/var/run/vineyard-kubernetes/{{.Namespace}}/{{.Name}}", size: "", streamThreshold: 80}
	Vineyard VineyardConfig `json:"vineyard,omitempty"`

	// metric container configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={enable: false, image: "vineyardcloudnative/vineyard-grok-exporter:latest", imagePullPolicy: "IfNotPresent"}
	Metric MetricConfig `json:"metric,omitempty"`

	// metric configurations
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	Volume VolumeConfig `json:"volume,omitempty"`

	// rpc service configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={type: "ClusterIP", port: 9600}
	Service ServiceConfig `json:"service,omitempty"`
}

SidecarSpec defines the desired state of Sidecar

func (*SidecarSpec) DeepCopy

func (in *SidecarSpec) DeepCopy() *SidecarSpec

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

func (*SidecarSpec) DeepCopyInto

func (in *SidecarSpec) DeepCopyInto(out *SidecarSpec)

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

type SidecarStatus

type SidecarStatus struct {
	// the replicas of injected sidecar
	// +kubebuilder:validation:Optional
	Current int32 `json:"current,omitempty"`
}

SidecarStatus defines the observed state of Sidecar

func (*SidecarStatus) DeepCopy

func (in *SidecarStatus) DeepCopy() *SidecarStatus

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

func (*SidecarStatus) DeepCopyInto

func (in *SidecarStatus) DeepCopyInto(out *SidecarStatus)

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

type SpillConfig

type SpillConfig struct {
	// the name of the spill config
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Name string `json:"name,omitempty"`

	// the path of spilling
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Path string `json:"path,omitempty"`

	// low watermark of spilling memory
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="0.3"
	SpillLowerRate string `json:"spillLowerRate,omitempty"`

	// high watermark of triggering spilling
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="0.8"
	SpillUpperRate string `json:"spillUpperRate,omitempty"`

	// the PersistentVolumeSpec of the spilling PV
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	PersistentVolumeSpec corev1.PersistentVolumeSpec `json:"persistentVolumeSpec,omitempty"`

	// the PersistentVolumeClaimSpec of the spill file
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	PersistentVolumeClaimSpec corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
}

SpillConfig holds all configuration about spilling

func (*SpillConfig) DeepCopy

func (in *SpillConfig) DeepCopy() *SpillConfig

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

func (*SpillConfig) DeepCopyInto

func (in *SpillConfig) DeepCopyInto(out *SpillConfig)

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

type VineyardClusters

type VineyardClusters struct {
	// Namespace is the namespace of the vineyard cluster
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=""
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the vineyard deployment
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=""
	Name string `json:"name,omitempty"`
}

VineyardClusters contains the list of vineyard clusters

func (*VineyardClusters) DeepCopy

func (in *VineyardClusters) DeepCopy() *VineyardClusters

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

func (*VineyardClusters) DeepCopyInto

func (in *VineyardClusters) DeepCopyInto(out *VineyardClusters)

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

type VineyardConfig

type VineyardConfig struct {
	// represent the vineyardd's image
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="vineyardcloudnative/vineyardd:latest"
	Image string `json:"image,omitempty"`

	// the policy about pulling image
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="IfNotPresent"
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// synchronize CRDs when persisting objects
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=true
	SyncCRDs bool `json:"syncCRDs,omitempty"`

	// The directory on host for the IPC socket file. The UNIX-domain
	// socket will be placed as `${Socket}/vineyard.sock`.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="/var/run/vineyard-kubernetes/{{.Namespace}}/{{.Name}}"
	Socket string `json:"socket,omitempty"`

	// shared memory size for vineyardd
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Size string `json:"size,omitempty"`

	// reserve the shared memory for vineyardd
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	ReserveMemory bool `json:"reserveMemory,omitempty"`

	// memory threshold of streams (percentage of total memory)
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=80
	StreamThreshold int64 `json:"streamThreshold,omitempty"`

	// the configuration of spilling
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	Spill SpillConfig `json:"spill,omitempty"`

	// vineyard environment configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	Env []corev1.EnvVar `json:"env,omitempty"`

	// the memory resources of vineyard container
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	Memory string `json:"memory,omitempty"`

	// the cpu resources of vineyard container
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={}
	CPU string `json:"cpu,omitempty"`
}

VineyardConfig holds all configuration about vineyard container

func (*VineyardConfig) DeepCopy

func (in *VineyardConfig) DeepCopy() *VineyardConfig

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

func (*VineyardConfig) DeepCopyInto

func (in *VineyardConfig) DeepCopyInto(out *VineyardConfig)

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

type Vineyardd

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

	Spec   VineyarddSpec   `json:"spec,omitempty"`
	Status VineyarddStatus `json:"status,omitempty"`
}

Vineyardd is used to deploy a vineyard cluster on kubernetes, which can simplify the configurations of the vineyard binary, the external etcd cluster and the vineyard [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/). As vineyard is bound to a specific socket on the hostpath by default, the vineyard pod cannot be deployed on the same node. Before deploying vineyardd, you should know how many nodes are available for vineyard pod to deploy on and make sure the vineyardd pod number is less than the number of available nodes.

func (*Vineyardd) DeepCopy

func (in *Vineyardd) DeepCopy() *Vineyardd

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

func (*Vineyardd) DeepCopyInto

func (in *Vineyardd) DeepCopyInto(out *Vineyardd)

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

func (*Vineyardd) DeepCopyObject

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

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

func (*Vineyardd) Default

func (r *Vineyardd) Default()

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

func (*Vineyardd) SetupWebhookWithManager

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

SetupWebhookWithManager implements the webhook.Defaulter so a webhook will be registered

func (*Vineyardd) ValidateCreate

func (r *Vineyardd) ValidateCreate() error

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

func (*Vineyardd) ValidateDelete

func (r *Vineyardd) ValidateDelete() error

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

func (*Vineyardd) ValidateUpdate

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

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

type VineyarddList

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

VineyarddList contains a list of Vineyardd

func (*VineyarddList) DeepCopy

func (in *VineyarddList) DeepCopy() *VineyarddList

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

func (*VineyarddList) DeepCopyInto

func (in *VineyarddList) DeepCopyInto(out *VineyarddList)

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

func (*VineyarddList) DeepCopyObject

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

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

type VineyarddSpec

type VineyarddSpec struct {
	// Replicas is the number of vineyardd pods to deploy
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=3
	Replicas int `json:"replicas,omitempty"`

	// EtcdReplicas describe the etcd replicas
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	EtcdReplicas int `json:"etcdReplicas,omitempty"`

	// vineyardd's service
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={type: "ClusterIP", port: 9600}
	Service ServiceConfig `json:"service,omitempty"`

	// vineyard container configuration
	// +kubebuilder:validation:Optional
	//nolint: lll
	// +kubebuilder:default:={image: "vineyardcloudnative/vineyardd:latest", imagePullPolicy: "IfNotPresent", syncCRDs: true, socket: "/var/run/vineyard-kubernetes/{{.Namespace}}/{{.Name}}", size: "", streamThreshold: 80}
	Vineyard VineyardConfig `json:"vineyard,omitempty"`

	// operation container configuration
	// +kubebuilder:validation:Optional
	//nolint: lll
	// +kubebuilder:default={backupImage: "ghcr.io/v6d-io/v6d/backup-job", recoverImage: "ghcr.io/v6d-io/v6d/recover-job", daskRepartitionImage: "ghcr.io/v6d-io/v6d/dask-repartition", localAssemblyImage: "ghcr.io/v6d-io/v6d/local-assembly", distributedAssemblyImage: "ghcr.io/v6d-io/v6d/distributed-assembly"}
	PluginImage PluginImageConfig `json:"pluginImage,omitempty"`

	// metric container configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={enable: false, image: "vineyardcloudnative/vineyard-grok-exporter:latest", imagePullPolicy: "IfNotPresent"}
	Metric MetricConfig `json:"metric,omitempty"`

	// Volume configuration
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:={pvcName: "", mountPath: ""}
	Volume VolumeConfig `json:"volume,omitempty"`
}

VineyarddSpec holds all configuration about vineyardd

func (*VineyarddSpec) DeepCopy

func (in *VineyarddSpec) DeepCopy() *VineyarddSpec

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

func (*VineyarddSpec) DeepCopyInto

func (in *VineyarddSpec) DeepCopyInto(out *VineyarddSpec)

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

type VineyarddStatus

type VineyarddStatus struct {
	// Total replicas of current running vineyardd.
	ReadyReplicas int32 `json:"current,omitempty"`
	// Represents the vineyardd deployment's current state.
	Conditions []appsv1.DeploymentCondition `json:"conditions,omitempty"`
}

VineyarddStatus defines the observed state of Vineyardd

func (*VineyarddStatus) DeepCopy

func (in *VineyarddStatus) DeepCopy() *VineyarddStatus

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

func (*VineyarddStatus) DeepCopyInto

func (in *VineyarddStatus) DeepCopyInto(out *VineyarddStatus)

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

type VolumeConfig

type VolumeConfig struct {
	// the name of pvc
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	PvcName string `json:"pvcName,omitempty"`

	// the mount path of pv
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	MountPath string `json:"mountPath,omitempty"`
}

VolumeConfig holds all configuration about persistent volume

func (*VolumeConfig) DeepCopy

func (in *VolumeConfig) DeepCopy() *VolumeConfig

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

func (*VolumeConfig) DeepCopyInto

func (in *VolumeConfig) DeepCopyInto(out *VolumeConfig)

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