v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 10 Imported by: 1

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=data.fluid.io +k8s:openapi-gen=true

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

Index

Constants

View Source
const (
	// The cache system is ready
	DatasetReadyReason = "DatasetReady"

	// The cache system is updating
	DatasetUpdatingReason = "DatasetUpdating"

	// The cache system is failing
	DatasetDataSetFailedReason = "DatasetFailed"

	// The cache system fails to bind
	DatasetFailedToSetupReason = "DatasetFailedToSetup"
)
View Source
const (
	Group   = "data.fluid.io"
	Version = "v1alpha1"
)
View Source
const (
	// RuntimeMasterInitializedReason means the master of runtime is initialized
	RuntimeMasterInitializedReason = "Master is initialized"
	// RuntimeMasterReadyReason means the master of runtime is ready
	RuntimeMasterReadyReason = "Master is ready"
	// RuntimeWorkersInitializedReason means the workers of runtime are initialized
	RuntimeWorkersInitializedReason = "Workers are initialized"
	// RuntimeWorkersReadyReason means the workers of runtime are ready
	RuntimeWorkersReadyReason = "Workers are ready"
	// RuntimeWorkersScaledInReason means the workers of runtime just scaled in
	RuntimeWorkersScaledInReason = "Workers scaled in"
	// RuntimeWorkersScaledInReason means the workers of runtime just scaled out
	RuntimeWorkersScaledOutReason = "Workers scaled out"
	// RuntimeFusesInitializedReason means the fuses of runtime are initialized
	RuntimeFusesInitializedReason = "Fuses are initialized"
	// RuntimeFusesReadyReason means the fuses of runtime are ready
	RuntimeFusesReadyReason = "Fuses are ready"
	// RuntimeFusesScaledInReason means the fuses of runtime just scaled in
	RuntimeFusesScaledInReason = "Fuses scaled in"
	// RuntimeFusesScaledInReason means the fuses of runtime just scaled out
	RuntimeFusesScaledOutReason = "Fuses scaled out"
)
View Source
const (
	// EFC(Elastic File Client) is a fuse filesystem for NAS with distributed cache
	EFCRuntimeKind = "EFCRuntime"
)
View Source
const (
	JindoRuntimeKind = "JindoRuntime"
)
View Source
const (
	JuiceFSRuntimeKind = "JuiceFSRuntime"
)
View Source
const (
	ThinRuntimeKind = "ThinRuntime"
)

Variables

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

	// 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 GetOpenAPIDefinitions added in v0.6.0

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition

func IsHostNetwork added in v0.8.0

func IsHostNetwork(n NetworkMode) bool

Types

type APIGatewayStatus added in v0.6.0

type APIGatewayStatus struct {
	// Endpoint for accessing
	Endpoint string `json:"endpoint,omitempty"`
}

API Gateway

func (*APIGatewayStatus) DeepCopy added in v0.6.0

func (in *APIGatewayStatus) DeepCopy() *APIGatewayStatus

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

func (*APIGatewayStatus) DeepCopyInto added in v0.6.0

func (in *APIGatewayStatus) DeepCopyInto(out *APIGatewayStatus)

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

type AlluxioCompTemplateSpec

type AlluxioCompTemplateSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Configurable properties for the Alluxio component. <br>
	// Refer to <a href="https://docs.alluxio.io/os/user/stable/en/reference/Properties-List.html">Alluxio Configuration Properties</a> for more info
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// Ports used by Alluxio(e.g. rpc: 19998 for master)
	// +optional
	Ports map[string]int `json:"ports,omitempty"`

	// Resources that will be requested by the Alluxio component. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Environment variables that will be used by Alluxio component. <br>
	Env map[string]string `json:"env,omitempty"`

	// Enabled or Disabled for the components. For now, only  API Gateway is enabled or disabled.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// NodeSelector is a selector which must be true for the master to fit on a node
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`
	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the alluxio runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to Alluxio's pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`
}

AlluxioCompTemplateSpec is a description of the Alluxio commponents

func (*AlluxioCompTemplateSpec) DeepCopy

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

func (*AlluxioCompTemplateSpec) DeepCopyInto

func (in *AlluxioCompTemplateSpec) DeepCopyInto(out *AlluxioCompTemplateSpec)

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

type AlluxioFuseSpec

type AlluxioFuseSpec struct {

	// Image for Alluxio Fuse(e.g. alluxio/alluxio-fuse)
	Image string `json:"image,omitempty"`

	// Image Tag for Alluxio Fuse(e.g. 2.3.0-SNAPSHOT)
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Configurable properties for Alluxio System. <br>
	// Refer to <a href="https://docs.alluxio.io/os/user/stable/en/reference/Properties-List.html">Alluxio Configuration Properties</a> for more info
	Properties map[string]string `json:"properties,omitempty"`

	// Environment variables that will be used by Alluxio Fuse
	Env map[string]string `json:"env,omitempty"`

	// Resources that will be requested by Alluxio Fuse. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Arguments that will be passed to Alluxio Fuse
	Args []string `json:"args,omitempty"`

	// If the fuse client should be deployed in global mode,
	// otherwise the affinity should be considered
	// +optional
	Global bool `json:"global,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// CleanPolicy decides when to clean Alluxio Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once the fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnRuntimeDeleted
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`
	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the alluxio runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to Alluxio's fuse pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`
}

AlluxioFuseSpec is a description of the Alluxio Fuse

func (*AlluxioFuseSpec) DeepCopy

func (in *AlluxioFuseSpec) DeepCopy() *AlluxioFuseSpec

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

func (*AlluxioFuseSpec) DeepCopyInto

func (in *AlluxioFuseSpec) DeepCopyInto(out *AlluxioFuseSpec)

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

type AlluxioRuntime

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

	Spec   AlluxioRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus      `json:"status,omitempty"`
}

AlluxioRuntime is the Schema for the alluxioruntimes API

func (*AlluxioRuntime) DeepCopy

func (in *AlluxioRuntime) DeepCopy() *AlluxioRuntime

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

func (*AlluxioRuntime) DeepCopyInto

func (in *AlluxioRuntime) DeepCopyInto(out *AlluxioRuntime)

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

func (*AlluxioRuntime) DeepCopyObject

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

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

func (*AlluxioRuntime) GetStatus added in v0.7.0

func (runtime *AlluxioRuntime) GetStatus() *RuntimeStatus

func (*AlluxioRuntime) Replicas

func (runtime *AlluxioRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type AlluxioRuntimeList

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

AlluxioRuntimeList contains a list of AlluxioRuntime

func (*AlluxioRuntimeList) DeepCopy

func (in *AlluxioRuntimeList) DeepCopy() *AlluxioRuntimeList

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

func (*AlluxioRuntimeList) DeepCopyInto

func (in *AlluxioRuntimeList) DeepCopyInto(out *AlluxioRuntimeList)

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

func (*AlluxioRuntimeList) DeepCopyObject

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

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

type AlluxioRuntimeRole

type AlluxioRuntimeRole common.RuntimeRole
const (
	// Master is the type for master of Alluxio cluster.
	Master AlluxioRuntimeRole = "master"

	// Worker is the type for workers of Alluxio cluster.
	Worker AlluxioRuntimeRole = "worker"

	// Fuse is the type for chief worker of Alluxio cluster.
	Fuse AlluxioRuntimeRole = "fuse"

	// API Gateway is the API Gateway of Alluxio cluster.
	APIGateway AlluxioRuntimeRole = "apiGateway"
)

type AlluxioRuntimeSpec

type AlluxioRuntimeSpec struct {
	// The version information that instructs fluid to orchestrate a particular version of Alluxio.
	AlluxioVersion VersionSpec `json:"alluxioVersion,omitempty"`

	// The component spec of Alluxio master
	Master AlluxioCompTemplateSpec `json:"master,omitempty"`

	// The component spec of Alluxio job master
	JobMaster AlluxioCompTemplateSpec `json:"jobMaster,omitempty"`

	// The component spec of Alluxio worker
	Worker AlluxioCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of Alluxio job Worker
	JobWorker AlluxioCompTemplateSpec `json:"jobWorker,omitempty"`

	// The component spec of Alluxio API Gateway
	APIGateway AlluxioCompTemplateSpec `json:"apiGateway,omitempty"`

	// The spec of init users
	InitUsers InitUsersSpec `json:"initUsers,omitempty"`

	// The component spec of Alluxio Fuse
	Fuse AlluxioFuseSpec `json:"fuse,omitempty"`

	// Configurable properties for Alluxio system. <br>
	// Refer to <a href="https://docs.alluxio.io/os/user/stable/en/reference/Properties-List.html">Alluxio Configuration Properties</a> for more info
	Properties map[string]string `json:"properties,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Tiered storage used by Alluxio
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// Management strategies for the dataset to which the runtime is bound
	Data Data `json:"data,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Manage the user to run Alluxio Runtime
	RunAs *User `json:"runAs,omitempty"`

	// Disable monitoring for Alluxio Runtime
	// Prometheus is enabled by default
	// +optional
	DisablePrometheus bool `json:"disablePrometheus,omitempty"`

	// Name of the configMap used to support HDFS configurations when using HDFS as Alluxio's UFS. The configMap
	// must be in the same namespace with the AlluxioRuntime. The configMap should contain user-specific HDFS conf files in it.
	// For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
	// of the file as the value.
	// +optional
	HadoopConfig string `json:"hadoopConfig,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by the alluxio runtime components and/or fuses.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to Alluxio's pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// RuntimeManagement defines policies when managing the runtime
	// +optional
	RuntimeManagement RuntimeManagement `json:"management,omitempty"`
}

AlluxioRuntimeSpec defines the desired state of AlluxioRuntime

func (*AlluxioRuntimeSpec) DeepCopy

func (in *AlluxioRuntimeSpec) DeepCopy() *AlluxioRuntimeSpec

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

func (*AlluxioRuntimeSpec) DeepCopyInto

func (in *AlluxioRuntimeSpec) DeepCopyInto(out *AlluxioRuntimeSpec)

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

type CacheableNodeAffinity

type CacheableNodeAffinity struct {
	// Required specifies hard node constraints that must be met.
	Required *v1.NodeSelector `json:"required,omitempty"`
}

CacheableNodeAffinity defines constraints that limit what nodes this dataset can be cached to.

func (*CacheableNodeAffinity) DeepCopy

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

func (*CacheableNodeAffinity) DeepCopyInto

func (in *CacheableNodeAffinity) DeepCopyInto(out *CacheableNodeAffinity)

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

type CleanCachePolicy added in v0.9.0

type CleanCachePolicy struct {
	// Optional duration in seconds the cache needs to clean gracefully. May be decreased in delete runtime request.
	// Value must be non-negative integer. The value zero indicates clean immediately via the timeout
	// command (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 timeout command.
	// Set this value longer than the expected cleanup time for your process.
	// +kubebuilder:default=60
	// +optional
	GracePeriodSeconds *int32 `json:"gracePeriodSeconds,omitempty"`

	// Optional max retry Attempts when cleanCache function returns an error after execution, runtime attempts
	// to run it three more times by default. With Maximum Retry Attempts, you can customize the maximum number
	// of retries. This gives you the option to continue processing retries.
	// +kubebuilder:default=3
	// +optional
	MaxRetryAttempts *int32 `json:"maxRetryAttempts,omitempty"`
}

CleanCachePolicy defines policies when cleaning cache

func (*CleanCachePolicy) DeepCopy added in v0.9.0

func (in *CleanCachePolicy) DeepCopy() *CleanCachePolicy

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

func (*CleanCachePolicy) DeepCopyInto added in v0.9.0

func (in *CleanCachePolicy) DeepCopyInto(out *CleanCachePolicy)

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

type Condition added in v0.6.0

type Condition struct {
	// Type of condition, either `Complete` or `Failed`
	Type common.ConditionType `json:"type"`
	// Status of the condition, one of `True`, `False` or `Unknown`
	Status corev1.ConditionStatus `json:"status"`
	// Reason for the condition's last transition
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about the transition
	Message string `json:"message,omitempty"`
	// LastProbeTime describes last time this condition was updated.
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime describes last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

Condition explains the transitions on phase

func (*Condition) DeepCopy added in v0.6.0

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto added in v0.6.0

func (in *Condition) DeepCopyInto(out *Condition)

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

type Data

type Data struct {
	// The copies of the dataset
	// +optional
	Replicas int32 `json:"replicas"`

	// Pin the dataset or not. Refer to <a href="https://docs.alluxio.io/os/user/stable/en/operation/User-CLI.html#pin">Alluxio User-CLI pin</a>
	// +optional
	Pin bool `json:"pin"`
}

Data management strategies

func (*Data) DeepCopy

func (in *Data) DeepCopy() *Data

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

func (*Data) DeepCopyInto

func (in *Data) DeepCopyInto(out *Data)

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

type DataBackup added in v0.5.0

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

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

DataBackup is the Schema for the backup API

func (*DataBackup) DeepCopy added in v0.5.0

func (in *DataBackup) DeepCopy() *DataBackup

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

func (*DataBackup) DeepCopyInto added in v0.5.0

func (in *DataBackup) DeepCopyInto(out *DataBackup)

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

func (*DataBackup) DeepCopyObject added in v0.5.0

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

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

type DataBackupList added in v0.5.0

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

DataBackupList contains a list of DataBackup

func (*DataBackupList) DeepCopy added in v0.5.0

func (in *DataBackupList) DeepCopy() *DataBackupList

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

func (*DataBackupList) DeepCopyInto added in v0.5.0

func (in *DataBackupList) DeepCopyInto(out *DataBackupList)

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

func (*DataBackupList) DeepCopyObject added in v0.5.0

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

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

type DataBackupSpec added in v0.5.0

type DataBackupSpec struct {
	// Dataset defines the target dataset of the DataBackup
	Dataset string `json:"dataset,omitempty"`
	// BackupPath defines the target path to save data of the DataBackup
	BackupPath string `json:"backupPath,omitempty"`
	// Manage the user to run Alluxio DataBackup
	RunAs *User `json:"runAs,omitempty"`
	// Specifies that the preceding operation in a workflow
	// +optional
	RunAfter *OperationRef `json:"runAfter,omitempty"`
	// TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed
	// +optional
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`
}

DataBackupSpec defines the desired state of DataBackup

func (*DataBackupSpec) DeepCopy added in v0.5.0

func (in *DataBackupSpec) DeepCopy() *DataBackupSpec

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

func (*DataBackupSpec) DeepCopyInto added in v0.5.0

func (in *DataBackupSpec) DeepCopyInto(out *DataBackupSpec)

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

type DataLoad added in v0.4.0

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

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

DataLoad is the Schema for the dataloads API

func (*DataLoad) DeepCopy added in v0.4.0

func (in *DataLoad) DeepCopy() *DataLoad

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

func (*DataLoad) DeepCopyInto added in v0.4.0

func (in *DataLoad) DeepCopyInto(out *DataLoad)

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

func (*DataLoad) DeepCopyObject added in v0.4.0

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

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

type DataLoadList added in v0.4.0

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

DataLoadList contains a list of DataLoad

func (*DataLoadList) DeepCopy added in v0.4.0

func (in *DataLoadList) DeepCopy() *DataLoadList

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

func (*DataLoadList) DeepCopyInto added in v0.4.0

func (in *DataLoadList) DeepCopyInto(out *DataLoadList)

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

func (*DataLoadList) DeepCopyObject added in v0.4.0

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

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

type DataLoadSpec added in v0.4.0

type DataLoadSpec struct {
	// Dataset defines the target dataset of the DataLoad
	Dataset TargetDataset `json:"dataset,omitempty"`

	// LoadMetadata specifies if the dataload job should load metadata
	LoadMetadata bool `json:"loadMetadata,omitempty"`

	// Target defines target paths that needs to be loaded
	Target []TargetPath `json:"target,omitempty"`

	// Options specifies the extra dataload properties for runtime
	Options map[string]string `json:"options,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to DataLoad pods
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// +optional
	// Affinity defines affinity for DataLoad pod
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// +optional
	// Tolerations defines tolerations for DataLoad pod
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// +optional
	// NodeSelector defiens node selector for DataLoad pod
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +optional
	// SchedulerName sets the scheduler to be used for DataLoad pod
	SchedulerName string `json:"schedulerName,omitempty"`

	//+kubebuilder:default:=Once
	//+kubebuilder:validation:Enum=Once;Cron;OnEvent
	// including Once, Cron, OnEvent
	// +optional
	Policy Policy `json:"policy,omitempty"`

	// The schedule in Cron format, only set when policy is cron, see https://en.wikipedia.org/wiki/Cron.
	// +optional
	Schedule string `json:"schedule,omitempty"`

	// Specifies that the preceding operation in a workflow
	// +optional
	RunAfter *OperationRef `json:"runAfter,omitempty"`

	// TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed
	// +optional
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`

	// Resources that will be requested by the DataLoad job. <br>
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

DataLoadSpec defines the desired state of DataLoad

func (*DataLoadSpec) DeepCopy added in v0.4.0

func (in *DataLoadSpec) DeepCopy() *DataLoadSpec

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

func (*DataLoadSpec) DeepCopyInto added in v0.4.0

func (in *DataLoadSpec) DeepCopyInto(out *DataLoadSpec)

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

type DataMigrate added in v0.9.0

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

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

DataMigrate is the Schema for the datamigrates API

func (*DataMigrate) DeepCopy added in v0.9.0

func (in *DataMigrate) DeepCopy() *DataMigrate

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

func (*DataMigrate) DeepCopyInto added in v0.9.0

func (in *DataMigrate) DeepCopyInto(out *DataMigrate)

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

func (*DataMigrate) DeepCopyObject added in v0.9.0

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

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

type DataMigrateList added in v0.9.0

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

DataMigrateList contains a list of DataMigrate

func (*DataMigrateList) DeepCopy added in v0.9.0

func (in *DataMigrateList) DeepCopy() *DataMigrateList

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

func (*DataMigrateList) DeepCopyInto added in v0.9.0

func (in *DataMigrateList) DeepCopyInto(out *DataMigrateList)

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

func (*DataMigrateList) DeepCopyObject added in v0.9.0

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

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

type DataMigrateSpec added in v0.9.0

type DataMigrateSpec struct {
	// The version information that instructs fluid to orchestrate a particular version for data migrate.
	// +optional
	VersionSpec `json:",inline,omitempty"`

	// data to migrate source, including dataset and external storage
	From DataToMigrate `json:"from"`

	// data to migrate destination, including dataset and external storage
	To DataToMigrate `json:"to"`

	// if dataMigrate blocked dataset usage, default is false
	// +optional
	Block bool `json:"block,omitempty"`

	// using which runtime to migrate data; if none, take dataset runtime as default
	// +optional
	RuntimeType string `json:"runtimeType,omitempty"`

	// options for migrate, different for each runtime
	// +optional
	Options map[string]string `json:"options,omitempty"`

	//+kubebuilder:default:=Once
	//+kubebuilder:validation:Enum=Once;Cron;OnEvent
	// policy for migrate, including Once, Cron, OnEvent
	// +optional
	Policy Policy `json:"policy,omitempty"`

	// The schedule in Cron format, only set when policy is cron, see https://en.wikipedia.org/wiki/Cron.
	// +optional
	Schedule string `json:"schedule,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to DataMigrate pods
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// +optional
	// Affinity defines affinity for DataMigrate pod
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// +optional
	// Tolerations defines tolerations for DataMigrate pod
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// +optional
	// NodeSelector defiens node selector for DataMigrate pod
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +optional
	// SchedulerName sets the scheduler to be used for DataMigrate pod
	SchedulerName string `json:"schedulerName,omitempty"`

	// Specifies that the preceding operation in a workflow
	// +optional
	RunAfter *OperationRef `json:"runAfter,omitempty"`

	// TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed
	// +optional
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`

	// Resources that will be requested by the DataMigrate job. <br>
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Parallelism defines the parallelism tasks numbers for DataMigrate. If the value is greater than 1, the job acts
	// as a launcher, and users should define the WorkerSpec.
	// +optional
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Minimum=1
	Parallelism int32 `json:"parallelism,omitempty"`

	// ParallelOptions defines options like ssh port and ssh secret name when parallelism is greater than 1.
	// +optional
	ParallelOptions map[string]string `json:"parallelOptions,omitempty"`
}

DataMigrateSpec defines the desired state of DataMigrate

func (*DataMigrateSpec) DeepCopy added in v0.9.0

func (in *DataMigrateSpec) DeepCopy() *DataMigrateSpec

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

func (*DataMigrateSpec) DeepCopyInto added in v0.9.0

func (in *DataMigrateSpec) DeepCopyInto(out *DataMigrateSpec)

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

type DataProcess added in v1.0.0

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

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

DataProcess is the Schema for the dataprocesses API

func (*DataProcess) DeepCopy added in v1.0.0

func (in *DataProcess) DeepCopy() *DataProcess

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

func (*DataProcess) DeepCopyInto added in v1.0.0

func (in *DataProcess) DeepCopyInto(out *DataProcess)

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

func (*DataProcess) DeepCopyObject added in v1.0.0

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

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

type DataProcessList added in v1.0.0

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

DataProcessList contains a list of DataProcess

func (*DataProcessList) DeepCopy added in v1.0.0

func (in *DataProcessList) DeepCopy() *DataProcessList

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

func (*DataProcessList) DeepCopyInto added in v1.0.0

func (in *DataProcessList) DeepCopyInto(out *DataProcessList)

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

func (*DataProcessList) DeepCopyObject added in v1.0.0

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

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

type DataProcessSpec added in v1.0.0

type DataProcessSpec struct {
	// Dataset specifies the target dataset and its mount path.
	// +required
	Dataset TargetDatasetWithMountPath `json:"dataset"`

	// Processor specify how to process data.
	// +required
	Processor Processor `json:"processor"`

	// Specifies that the preceding operation in a workflow
	// +optional
	RunAfter *OperationRef `json:"runAfter,omitempty"`

	// TTLSecondsAfterFinished is the time second to clean up data operations after finished or failed
	// +optional
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`
}

DataProcessSpec defines the desired state of DataProcess

func (*DataProcessSpec) DeepCopy added in v1.0.0

func (in *DataProcessSpec) DeepCopy() *DataProcessSpec

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

func (*DataProcessSpec) DeepCopyInto added in v1.0.0

func (in *DataProcessSpec) DeepCopyInto(out *DataProcessSpec)

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

type DataRestoreLocation added in v0.5.0

type DataRestoreLocation struct {
	// Path describes the path of restore, in the form of  local://subpath or pvc://<pvcName>/subpath
	// +optional
	Path string `json:"path,omitempty"`
	// NodeName describes the nodeName of restore if Path is  in the form of local://subpath
	// +optional
	NodeName string `json:"nodeName,omitempty"`
}

DataRestoreLocation describes the spec restore location of Dataset

func (*DataRestoreLocation) DeepCopy added in v0.5.0

func (in *DataRestoreLocation) DeepCopy() *DataRestoreLocation

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

func (*DataRestoreLocation) DeepCopyInto added in v0.5.0

func (in *DataRestoreLocation) DeepCopyInto(out *DataRestoreLocation)

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

type DataToMigrate added in v0.9.0

type DataToMigrate struct {
	// dataset to migrate
	DataSet *DatasetToMigrate `json:"dataset,omitempty"`

	// external storage for data migrate
	ExternalStorage *ExternalStorage `json:"externalStorage,omitempty"`
}

func (*DataToMigrate) DeepCopy added in v0.9.0

func (in *DataToMigrate) DeepCopy() *DataToMigrate

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

func (*DataToMigrate) DeepCopyInto added in v0.9.0

func (in *DataToMigrate) DeepCopyInto(out *DataToMigrate)

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

type Dataset

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

	Spec   DatasetSpec   `json:"spec,omitempty"`
	Status DatasetStatus `json:"status,omitempty"`
}

Dataset is the Schema for the datasets API

func (*Dataset) CanbeBound

func (dataset *Dataset) CanbeBound(name string, namespace string, category common.Category) (bound bool)

CanbeBound checks if the dataset can be bound to the runtime

func (*Dataset) DeepCopy

func (in *Dataset) DeepCopy() *Dataset

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

func (*Dataset) DeepCopyInto

func (in *Dataset) DeepCopyInto(out *Dataset)

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

func (*Dataset) DeepCopyObject

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

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

func (*Dataset) GetDataOperationInProgress added in v0.9.0

func (dataset *Dataset) GetDataOperationInProgress(operationType string) string

GetDataOperationInProgress get the name of operation for certain type running on this dataset, otherwise return empty string

func (*Dataset) IsExclusiveMode added in v0.5.0

func (dataset *Dataset) IsExclusiveMode() bool

func (*Dataset) RemoveDataOperationInProgress added in v0.9.0

func (dataset *Dataset) RemoveDataOperationInProgress(operationType, name string) string

RemoveDataOperationInProgress release Dataset for operation

func (*Dataset) SetDataOperationInProgress added in v0.9.0

func (dataset *Dataset) SetDataOperationInProgress(operationType string, name string)

SetDataOperationInProgress set the data operation running on this dataset,

type DatasetCondition

type DatasetCondition struct {
	// Type of cache condition.
	Type DatasetConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`
	// The last time this condition was updated.
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

Condition describes the state of the cache at a certain point.

func (*DatasetCondition) DeepCopy

func (in *DatasetCondition) DeepCopy() *DatasetCondition

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

func (*DatasetCondition) DeepCopyInto

func (in *DatasetCondition) DeepCopyInto(out *DatasetCondition)

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

type DatasetConditionType

type DatasetConditionType string

DatasetConditionType defines all kinds of types of cacheStatus.<br> one of the three types: `RuntimeScheduled`, `Ready` and `Initialized`

const (
	// RuntimeScheduled means the runtime CRD has been accepted by the system,
	// But master and workers are not ready
	RuntimeScheduled DatasetConditionType = "RuntimeScheduled"

	// DatasetReady means the cache system for the dataset is ready.
	DatasetReady DatasetConditionType = "Ready"

	// DatasetNotReady means the dataset is not bound due to some unexpected error
	DatasetNotReady DatasetConditionType = "NotReady"

	// DatasetUpdateReady means the cache system for the dataset is updated.
	DatasetUpdateReady DatasetConditionType = "UpdateReady"

	// DatasetUpdating means the cache system for the dataset is updating.
	DatasetUpdating DatasetConditionType = "Updating"

	// DatasetInitialized means the cache system for the dataset is Initialized.
	DatasetInitialized DatasetConditionType = "Initialized"
)

type DatasetList

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

DatasetList contains a list of Dataset

func (*DatasetList) DeepCopy

func (in *DatasetList) DeepCopy() *DatasetList

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

func (*DatasetList) DeepCopyInto

func (in *DatasetList) DeepCopyInto(out *DatasetList)

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

func (*DatasetList) DeepCopyObject

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

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

type DatasetPhase

type DatasetPhase string

DatasetPhase indicates whether the loading is behaving

const (
	// TODO: add the Pending phase to Dataset
	PendingDatasetPhase DatasetPhase = "Pending"
	// Bound to dataset, can't be released
	BoundDatasetPhase DatasetPhase = "Bound"
	// Failed, can't be deleted
	FailedDatasetPhase DatasetPhase = "Failed"
	// Not bound to runtime, can be deleted
	NotBoundDatasetPhase DatasetPhase = "NotBound"
	// updating dataset, can't be released
	UpdatingDatasetPhase DatasetPhase = "Updating"
	// migrating dataset, can't be mounted
	DataMigrating DatasetPhase = "DataMigrating"
	// the dataset have no phase and need to be judged
	NoneDatasetPhase DatasetPhase = ""
)

type DatasetSpec

type DatasetSpec struct {
	// Mount Points to be mounted on cache runtime. <br>
	// This field can be empty because some runtimes don't need to mount external storage (e.g.
	// <a href="https://v6d.io/">Vineyard</a>).
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:UniqueItems=false
	// +optional
	Mounts []Mount `json:"mounts,omitempty"`

	// The owner of the dataset
	// +optional
	Owner *User `json:"owner,omitempty"`

	// NodeAffinity defines constraints that limit what nodes this dataset can be cached to.
	// This field influences the scheduling of pods that use the cached dataset.
	// +optional
	NodeAffinity *CacheableNodeAffinity `json:"nodeAffinity,omitempty"`

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

	// AccessModes contains all ways the volume backing the PVC can be mounted
	// +optional
	AccessModes []v1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`

	// Runtimes for supporting dataset (e.g. AlluxioRuntime)
	Runtimes []Runtime `json:"runtimes,omitempty"`

	// Manage switch for opening Multiple datasets single node deployment or not
	// TODO(xieydd) In future, evaluate node resources and runtime resources to decide whether to turn them on
	// +kubebuilder:validation:Enum=Exclusive;"";Shared
	// +optional
	PlacementMode PlacementMode `json:"placement,omitempty"`

	// DataRestoreLocation is the location to load data of dataset  been backuped
	// +optional
	DataRestoreLocation *DataRestoreLocation `json:"dataRestoreLocation,omitempty"`

	// SharedOptions is the options to all mount
	// +optional
	SharedOptions map[string]string `json:"sharedOptions,omitempty"`

	// SharedEncryptOptions is the encryptOption to all mount
	// +optional
	SharedEncryptOptions []EncryptOption `json:"sharedEncryptOptions,omitempty"`
}

DatasetSpec defines the desired state of Dataset

func (*DatasetSpec) DeepCopy

func (in *DatasetSpec) DeepCopy() *DatasetSpec

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

func (*DatasetSpec) DeepCopyInto

func (in *DatasetSpec) DeepCopyInto(out *DatasetSpec)

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

type DatasetStatus

type DatasetStatus struct {
	// the info of mount points have been mounted
	Mounts []Mount `json:"mounts,omitempty"`

	// Total in GB of dataset in the cluster
	UfsTotal string `json:"ufsTotal,omitempty"`

	// Dataset Phase. One of the four phases: `Pending`, `Bound`, `NotBound` and `Failed`
	Phase DatasetPhase `json:"phase,omitempty"`

	// Runtimes for supporting dataset
	Runtimes []Runtime `json:"runtimes,omitempty"`

	// Conditions is an array of current observed conditions.
	Conditions []DatasetCondition `json:"conditions"`

	// CacheStatus represents the total resources of the dataset.
	CacheStates common.CacheStateList `json:"cacheStates,omitempty"`

	// HCFSStatus represents hcfs info
	HCFSStatus *HCFSStatus `json:"hcfs,omitempty"`

	// FileNum represents the file numbers of the dataset
	FileNum string `json:"fileNum,omitempty"`

	// DataLoadRef specifies the running DataLoad job that targets this Dataset.
	// This is mainly used as a lock to prevent concurrent DataLoad jobs.
	// Deprecated, use OperationRef instead
	DataLoadRef string `json:"dataLoadRef,omitempty"`

	// DataBackupRef specifies the running Backup job that targets this Dataset.
	// This is mainly used as a lock to prevent concurrent DataBackup jobs.
	// Deprecated, use OperationRef instead
	DataBackupRef string `json:"dataBackupRef,omitempty"`

	// OperationRef specifies the Operation that targets this Dataset.
	// This is mainly used as a lock to prevent concurrent same Operation jobs.
	OperationRef map[string]string `json:"operationRef,omitempty"`

	// DatasetRef specifies the datasets namespaced name mounting this Dataset.
	DatasetRef []string `json:"datasetRef,omitempty"`
}

DatasetStatus defines the observed state of Dataset +kubebuilder:subresource:status

func (*DatasetStatus) DeepCopy

func (in *DatasetStatus) DeepCopy() *DatasetStatus

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

func (*DatasetStatus) DeepCopyInto

func (in *DatasetStatus) DeepCopyInto(out *DatasetStatus)

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

type DatasetToMigrate added in v0.9.0

type DatasetToMigrate struct {
	// name of dataset
	Name string `json:"name"`

	// namespace of dataset
	Namespace string `json:"namespace"`

	// path to migrate
	Path string `json:"path,omitempty"`
}

func (*DatasetToMigrate) DeepCopy added in v0.9.0

func (in *DatasetToMigrate) DeepCopy() *DatasetToMigrate

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

func (*DatasetToMigrate) DeepCopyInto added in v0.9.0

func (in *DatasetToMigrate) DeepCopyInto(out *DatasetToMigrate)

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

type EFCCompTemplateSpec added in v0.9.0

type EFCCompTemplateSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// The version information that instructs fluid to orchestrate a particular version of EFC Comp
	Version VersionSpec `json:"version,omitempty"`

	// Configurable properties for the EFC component.
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// Ports used by EFC(e.g. rpc: 19998 for master).
	// +optional
	Ports map[string]int `json:"ports,omitempty"`

	// Resources that will be requested by the EFC component. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Enabled or Disabled for the components.
	// Default enable.
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// NodeSelector is a selector which must be true for the component to fit on a node.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Whether to use host network or not.
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to EFC's master and worker pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`
}

EFCCompTemplateSpec is a description of the EFC components

func (*EFCCompTemplateSpec) DeepCopy added in v0.9.0

func (in *EFCCompTemplateSpec) DeepCopy() *EFCCompTemplateSpec

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

func (*EFCCompTemplateSpec) DeepCopyInto added in v0.9.0

func (in *EFCCompTemplateSpec) DeepCopyInto(out *EFCCompTemplateSpec)

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

type EFCFuseSpec added in v0.9.0

type EFCFuseSpec struct {
	// The version information that instructs fluid to orchestrate a particular version of EFC Fuse
	Version VersionSpec `json:"version,omitempty"`

	// Configurable properties for EFC fuse
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// Resources that will be requested by EFC Fuse. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// CleanPolicy decides when to clean EFC Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once th fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnRuntimeDeleted
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to EFC's fuse pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`
}

EFCFuseSpec is a description of the EFC Fuse

func (*EFCFuseSpec) DeepCopy added in v0.9.0

func (in *EFCFuseSpec) DeepCopy() *EFCFuseSpec

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

func (*EFCFuseSpec) DeepCopyInto added in v0.9.0

func (in *EFCFuseSpec) DeepCopyInto(out *EFCFuseSpec)

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

type EFCRuntime added in v0.9.0

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

	Spec   EFCRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus  `json:"status,omitempty"`
}

EFCRuntime is the Schema for the efcruntimes API

func (*EFCRuntime) DeepCopy added in v0.9.0

func (in *EFCRuntime) DeepCopy() *EFCRuntime

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

func (*EFCRuntime) DeepCopyInto added in v0.9.0

func (in *EFCRuntime) DeepCopyInto(out *EFCRuntime)

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

func (*EFCRuntime) DeepCopyObject added in v0.9.0

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

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

func (*EFCRuntime) Enabled added in v0.9.0

func (runtime *EFCRuntime) Enabled() bool

func (*EFCRuntime) GetStatus added in v0.9.0

func (runtime *EFCRuntime) GetStatus() *RuntimeStatus

func (*EFCRuntime) MasterEnabled added in v0.9.0

func (runtime *EFCRuntime) MasterEnabled() bool

func (*EFCRuntime) MasterReplicas added in v0.9.0

func (runtime *EFCRuntime) MasterReplicas() int32

func (*EFCRuntime) Replicas added in v0.9.0

func (runtime *EFCRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type EFCRuntimeList added in v0.9.0

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

EFCRuntimeList contains a list of EFCRuntime

func (*EFCRuntimeList) DeepCopy added in v0.9.0

func (in *EFCRuntimeList) DeepCopy() *EFCRuntimeList

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

func (*EFCRuntimeList) DeepCopyInto added in v0.9.0

func (in *EFCRuntimeList) DeepCopyInto(out *EFCRuntimeList)

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

func (*EFCRuntimeList) DeepCopyObject added in v0.9.0

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

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

type EFCRuntimeSpec added in v0.9.0

type EFCRuntimeSpec struct {
	// The component spec of EFC master
	Master EFCCompTemplateSpec `json:"master,omitempty"`

	// The component spec of EFC worker
	Worker EFCCompTemplateSpec `json:"worker,omitempty"`

	// The spec of init alifuse
	InitFuse InitFuseSpec `json:"initFuse,omitempty"`

	// The component spec of EFC Fuse
	Fuse EFCFuseSpec `json:"fuse,omitempty"`

	// Tiered storage used by EFC worker
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Operating system optimization for EFC
	OSAdvise OSAdvise `json:"osAdvise,omitempty"`

	// CleanCachePolicy defines cleanCache Policy
	// +optional
	CleanCachePolicy CleanCachePolicy `json:"cleanCachePolicy,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to all EFC's pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`
}

EFCRuntimeSpec defines the desired state of EFCRuntime

func (*EFCRuntimeSpec) DeepCopy added in v0.9.0

func (in *EFCRuntimeSpec) DeepCopy() *EFCRuntimeSpec

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

func (*EFCRuntimeSpec) DeepCopyInto added in v0.9.0

func (in *EFCRuntimeSpec) DeepCopyInto(out *EFCRuntimeSpec)

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

type EncryptOption added in v0.5.0

type EncryptOption struct {
	// The name of encryptOption
	// +required
	Name string `json:"name"`

	// The valueFrom of encryptOption
	// +optional
	ValueFrom EncryptOptionSource `json:"valueFrom,omitempty"`
}

func (*EncryptOption) DeepCopy added in v0.5.0

func (in *EncryptOption) DeepCopy() *EncryptOption

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

func (*EncryptOption) DeepCopyInto added in v0.5.0

func (in *EncryptOption) DeepCopyInto(out *EncryptOption)

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

type EncryptOptionSource added in v0.5.0

type EncryptOptionSource struct {
	// The encryptInfo obtained from secret
	// +optional
	SecretKeyRef SecretKeySelector `json:"secretKeyRef,omitempty"`
}

func (*EncryptOptionSource) DeepCopy added in v0.5.0

func (in *EncryptOptionSource) DeepCopy() *EncryptOptionSource

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

func (*EncryptOptionSource) DeepCopyInto added in v0.5.0

func (in *EncryptOptionSource) DeepCopyInto(out *EncryptOptionSource)

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

type ExternalEndpointSpec added in v1.0.0

type ExternalEndpointSpec struct {
	// URI specifies the endpoint of external Etcd cluster
	// E,g. "etcd-svc.etcd-namespace.svc.cluster.local:2379"
	// Default is not set and use http protocol to connect to external etcd cluster
	// +optional
	URI string `json:"uri"`

	// encrypt info for accessing the external etcd cluster
	// +optional
	EncryptOptions []EncryptOption `json:"encryptOptions,omitempty"`

	// Configurable options for External Etcd cluster.
	// +optional
	Options map[string]string `json:"options,omitempty"`
}

ExternalEndpointSpec defines the configurations for external etcd cluster

func (*ExternalEndpointSpec) DeepCopy added in v1.0.0

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

func (*ExternalEndpointSpec) DeepCopyInto added in v1.0.0

func (in *ExternalEndpointSpec) DeepCopyInto(out *ExternalEndpointSpec)

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

type ExternalStorage added in v0.9.0

type ExternalStorage struct {
	// type of external storage, including s3, oss, gcs, ceph, nfs, pvc, etc. (related to runtime)
	URI string `json:"uri"`

	// encrypt info for external storage
	// +optional
	EncryptOptions []EncryptOption `json:"encryptOptions,omitempty"`
}

func (*ExternalStorage) DeepCopy added in v0.9.0

func (in *ExternalStorage) DeepCopy() *ExternalStorage

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

func (*ExternalStorage) DeepCopyInto added in v0.9.0

func (in *ExternalStorage) DeepCopyInto(out *ExternalStorage)

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

type FuseCleanPolicy added in v0.7.0

type FuseCleanPolicy string
const (
	// NoneCleanPolicy is the default clean policy. It will be transformed to OnRuntimeDeletedCleanPolicy automatically.
	NoneCleanPolicy FuseCleanPolicy = ""

	// OnDemandCleanPolicy cleans fuse pod once th fuse pod on some node is not needed
	OnDemandCleanPolicy FuseCleanPolicy = "OnDemand"

	// OnRuntimeDeletedCleanPolicy cleans fuse pod only when the cache runtime is deleted
	OnRuntimeDeletedCleanPolicy FuseCleanPolicy = "OnRuntimeDeleted"
)

type GooseFSCompTemplateSpec added in v0.6.0

type GooseFSCompTemplateSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Configurable properties for the GOOSEFS component. <br>
	// Refer to <a href="https://cloud.tencent.com/document/product/436/56415">GOOSEFS Configuration Properties</a> for more info
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// Ports used by GooseFS(e.g. rpc: 19998 for master)
	// +optional
	Ports map[string]int `json:"ports,omitempty"`

	// Resources that will be requested by the GooseFS component. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Environment variables that will be used by GooseFS component. <br>
	Env map[string]string `json:"env,omitempty"`

	// Enabled or Disabled for the components. For now, only  API Gateway is enabled or disabled.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// NodeSelector is a selector which must be true for the master to fit on a node
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

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

GooseFSCompTemplateSpec is a description of the GooseFS commponents

func (*GooseFSCompTemplateSpec) DeepCopy added in v0.6.0

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

func (*GooseFSCompTemplateSpec) DeepCopyInto added in v0.6.0

func (in *GooseFSCompTemplateSpec) DeepCopyInto(out *GooseFSCompTemplateSpec)

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

type GooseFSFuseSpec added in v0.6.0

type GooseFSFuseSpec struct {

	// Image for GooseFS Fuse(e.g. goosefs/goosefs-fuse)
	Image string `json:"image,omitempty"`

	// Image Tag for GooseFS Fuse(e.g. v1.0.1)
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Configurable properties for the GOOSEFS component. <br>
	// Refer to <a href="https://cloud.tencent.com/document/product/436/56415">GOOSEFS Configuration Properties</a> for more info
	Properties map[string]string `json:"properties,omitempty"`

	// Environment variables that will be used by GooseFS Fuse
	Env map[string]string `json:"env,omitempty"`

	// Resources that will be requested by GooseFS Fuse. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Arguments that will be passed to GooseFS Fuse
	Args []string `json:"args,omitempty"`

	// If the fuse client should be deployed in global mode,
	// otherwise the affinity should be considered
	// +optional
	Global bool `json:"global,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// CleanPolicy decides when to clean GooseFS Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once th fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnRuntimeDeleted
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

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

GooseFSFuseSpec is a description of the GooseFS Fuse

func (*GooseFSFuseSpec) DeepCopy added in v0.6.0

func (in *GooseFSFuseSpec) DeepCopy() *GooseFSFuseSpec

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

func (*GooseFSFuseSpec) DeepCopyInto added in v0.6.0

func (in *GooseFSFuseSpec) DeepCopyInto(out *GooseFSFuseSpec)

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

type GooseFSRuntime added in v0.6.0

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

	Spec   GooseFSRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus      `json:"status,omitempty"`
}

GooseFSRuntime is the Schema for the goosefsruntimes API

func (*GooseFSRuntime) DeepCopy added in v0.6.0

func (in *GooseFSRuntime) DeepCopy() *GooseFSRuntime

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

func (*GooseFSRuntime) DeepCopyInto added in v0.6.0

func (in *GooseFSRuntime) DeepCopyInto(out *GooseFSRuntime)

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

func (*GooseFSRuntime) DeepCopyObject added in v0.6.0

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

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

func (*GooseFSRuntime) GetStatus added in v0.7.0

func (runtime *GooseFSRuntime) GetStatus() *RuntimeStatus

func (*GooseFSRuntime) Replicas added in v0.6.0

func (runtime *GooseFSRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type GooseFSRuntimeList added in v0.6.0

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

GooseFSRuntimeList contains a list of GooseFSRuntime

func (*GooseFSRuntimeList) DeepCopy added in v0.6.0

func (in *GooseFSRuntimeList) DeepCopy() *GooseFSRuntimeList

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

func (*GooseFSRuntimeList) DeepCopyInto added in v0.6.0

func (in *GooseFSRuntimeList) DeepCopyInto(out *GooseFSRuntimeList)

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

func (*GooseFSRuntimeList) DeepCopyObject added in v0.6.0

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

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

type GooseFSRuntimeSpec added in v0.6.0

type GooseFSRuntimeSpec struct {
	// The version information that instructs fluid to orchestrate a particular version of GooseFS.
	GooseFSVersion VersionSpec `json:"goosefsVersion,omitempty"`

	// The component spec of GooseFS master
	Master GooseFSCompTemplateSpec `json:"master,omitempty"`

	// The component spec of GooseFS job master
	JobMaster GooseFSCompTemplateSpec `json:"jobMaster,omitempty"`

	// The component spec of GooseFS worker
	Worker GooseFSCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of GooseFS job Worker
	JobWorker GooseFSCompTemplateSpec `json:"jobWorker,omitempty"`

	// The component spec of GooseFS API Gateway
	APIGateway GooseFSCompTemplateSpec `json:"apiGateway,omitempty"`

	// The spec of init users
	InitUsers InitUsersSpec `json:"initUsers,omitempty"`

	// The component spec of GooseFS Fuse
	Fuse GooseFSFuseSpec `json:"fuse,omitempty"`

	// Configurable properties for the GOOSEFS component. <br>
	// Refer to <a href="https://cloud.tencent.com/document/product/436/56415">GOOSEFS Configuration Properties</a> for more info
	Properties map[string]string `json:"properties,omitempty"`

	// Options for JVM
	JvmOptions []string `json:"jvmOptions,omitempty"`

	// Tiered storage used by GooseFS
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// Management strategies for the dataset to which the runtime is bound
	Data Data `json:"data,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Manage the user to run GooseFS Runtime
	// GooseFS support POSIX-ACL and Apache Ranger to manager authorization
	// TODO(chrisydxie@tencent.com) Support Apache Ranger.
	RunAs *User `json:"runAs,omitempty"`

	// Disable monitoring for GooseFS Runtime
	// Prometheus is enabled by default
	// +optional
	DisablePrometheus bool `json:"disablePrometheus,omitempty"`

	// Name of the configMap used to support HDFS configurations when using HDFS as GooseFS's UFS. The configMap
	// must be in the same namespace with the GooseFSRuntime. The configMap should contain user-specific HDFS conf files in it.
	// For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
	// of the file as the value.
	// +optional
	HadoopConfig string `json:"hadoopConfig,omitempty"`

	// CleanCachePolicy defines cleanCache Policy
	// +optional
	CleanCachePolicy CleanCachePolicy `json:"cleanCachePolicy,omitempty"`
}

GooseFSRuntimeSpec defines the desired state of GooseFSRuntime

func (*GooseFSRuntimeSpec) DeepCopy added in v0.6.0

func (in *GooseFSRuntimeSpec) DeepCopy() *GooseFSRuntimeSpec

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

func (*GooseFSRuntimeSpec) DeepCopyInto added in v0.6.0

func (in *GooseFSRuntimeSpec) DeepCopyInto(out *GooseFSRuntimeSpec)

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

type HCFSStatus added in v0.4.0

type HCFSStatus struct {
	// Endpoint for accessing
	Endpoint string `json:"endpoint,omitempty"`

	// Underlayer HCFS Compatible Version
	UnderlayerFileSystemVersion string `json:"underlayerFileSystemVersion,omitempty"`
}

HCFS Endpoint info

func (*HCFSStatus) DeepCopy added in v0.4.0

func (in *HCFSStatus) DeepCopy() *HCFSStatus

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

func (*HCFSStatus) DeepCopyInto added in v0.4.0

func (in *HCFSStatus) DeepCopyInto(out *HCFSStatus)

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

type InitFuseSpec added in v0.9.0

type InitFuseSpec struct {
	// The version information that instructs fluid to orchestrate a particular version of Alifuse
	Version VersionSpec `json:"version,omitempty"`
}

InitFuseSpec is a description of initialize the fuse kernel module for runtime

func (*InitFuseSpec) DeepCopy added in v0.9.0

func (in *InitFuseSpec) DeepCopy() *InitFuseSpec

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

func (*InitFuseSpec) DeepCopyInto added in v0.9.0

func (in *InitFuseSpec) DeepCopyInto(out *InitFuseSpec)

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

type InitUsersSpec added in v0.3.0

type InitUsersSpec struct {

	// Image for initialize the users for runtime(e.g. alluxio/alluxio-User init)
	Image string `json:"image,omitempty"`

	// Image Tag for initialize the users for runtime(e.g. 2.3.0-SNAPSHOT)
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Environment variables that will be used by initialize the users for runtime
	Env map[string]string `json:"env,omitempty"`

	// Resources that will be requested by initialize the users for runtime. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

InitUsersSpec is a description of the initialize the users for runtime

func (*InitUsersSpec) DeepCopy added in v0.3.0

func (in *InitUsersSpec) DeepCopy() *InitUsersSpec

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

func (*InitUsersSpec) DeepCopyInto added in v0.3.0

func (in *InitUsersSpec) DeepCopyInto(out *InitUsersSpec)

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

type JindoCompTemplateSpec added in v0.5.0

type JindoCompTemplateSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// Configurable properties for the Jindo component. <br>
	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// +optional
	Ports map[string]int `json:"ports,omitempty"`

	// Resources that will be requested by the Jindo component. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Environment variables that will be used by Jindo component. <br>
	Env map[string]string `json:"env,omitempty"`

	// NodeSelector is a selector which must be true for the master to fit on a node
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

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

	// Labels will be added on JindoFS Master or Worker pods.
	// DEPRECATED: This is a deprecated field. Please use PodMetadata instead.
	// Note: this field is set to be exclusive with PodMetadata.Labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to Jindo's pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// If disable JindoFS master or worker
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the jindo runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

JindoCompTemplateSpec is a description of the Jindo commponents

func (*JindoCompTemplateSpec) DeepCopy added in v0.5.0

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

func (*JindoCompTemplateSpec) DeepCopyInto added in v0.5.0

func (in *JindoCompTemplateSpec) DeepCopyInto(out *JindoCompTemplateSpec)

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

type JindoFuseSpec added in v0.5.0

type JindoFuseSpec struct {

	// Image for Jindo Fuse(e.g. jindo/jindo-fuse)
	Image string `json:"image,omitempty"`

	// Image Tag for Jindo Fuse(e.g. 2.3.0-SNAPSHOT)
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Configurable properties for Jindo System. <br>
	Properties map[string]string `json:"properties,omitempty"`

	// Environment variables that will be used by Jindo Fuse
	Env map[string]string `json:"env,omitempty"`

	// Resources that will be requested by Jindo Fuse. <br>
	// <br>
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Arguments that will be passed to Jindo Fuse
	Args []string `json:"args,omitempty"`

	// If the fuse client should be deployed in global mode,
	// otherwise the affinity should be considered
	// +optional
	Global bool `json:"global,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

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

	// Labels will be added on all the JindoFS pods.
	// DEPRECATED: this is a deprecated field. Please use PodMetadata.Labels instead.
	// Note: this field is set to be exclusive with PodMetadata.Labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to Jindo's fuse pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// CleanPolicy decides when to clean JindoFS Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once th fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnRuntimeDeleted
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// If disable JindoFS fuse
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// +optional
	LogConfig map[string]string `json:"logConfig,omitempty"`
}

JindoFuseSpec is a description of the Jindo Fuse

func (*JindoFuseSpec) DeepCopy added in v0.5.0

func (in *JindoFuseSpec) DeepCopy() *JindoFuseSpec

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

func (*JindoFuseSpec) DeepCopyInto added in v0.5.0

func (in *JindoFuseSpec) DeepCopyInto(out *JindoFuseSpec)

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

type JindoRuntime added in v0.5.0

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

	Spec   JindoRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus    `json:"status,omitempty"`
}

JindoRuntime is the Schema for the jindoruntimes API

func (*JindoRuntime) DeepCopy added in v0.5.0

func (in *JindoRuntime) DeepCopy() *JindoRuntime

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

func (*JindoRuntime) DeepCopyInto added in v0.5.0

func (in *JindoRuntime) DeepCopyInto(out *JindoRuntime)

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

func (*JindoRuntime) DeepCopyObject added in v0.5.0

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

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

func (*JindoRuntime) GetStatus added in v0.7.0

func (runtime *JindoRuntime) GetStatus() *RuntimeStatus

func (*JindoRuntime) Replicas added in v0.5.0

func (runtime *JindoRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type JindoRuntimeList added in v0.5.0

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

JindoRuntimeList contains a list of JindoRuntime

func (*JindoRuntimeList) DeepCopy added in v0.5.0

func (in *JindoRuntimeList) DeepCopy() *JindoRuntimeList

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

func (*JindoRuntimeList) DeepCopyInto added in v0.5.0

func (in *JindoRuntimeList) DeepCopyInto(out *JindoRuntimeList)

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

func (*JindoRuntimeList) DeepCopyObject added in v0.5.0

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

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

type JindoRuntimeSpec added in v0.5.0

type JindoRuntimeSpec struct {
	// The version information that instructs fluid to orchestrate a particular version of Jindo.
	JindoVersion VersionSpec `json:"jindoVersion,omitempty"`

	// The component spec of Jindo master
	Master JindoCompTemplateSpec `json:"master,omitempty"`

	// The component spec of Jindo worker
	Worker JindoCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of Jindo Fuse
	Fuse JindoFuseSpec `json:"fuse,omitempty"`

	// Configurable properties for Jindo system. <br>
	Properties map[string]string `json:"properties,omitempty"`

	// Tiered storage used by Jindo
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Manage the user to run Jindo Runtime
	RunAs *User `json:"runAs,omitempty"`

	User string `json:"user,omitempty"`

	// Name of the configMap used to support HDFS configurations when using HDFS as Jindo's UFS. The configMap
	// must be in the same namespace with the JindoRuntime. The configMap should contain user-specific HDFS conf files in it.
	// For now, only "hdfs-site.xml" and "core-site.xml" are supported. It must take the filename of the conf file as the key and content
	// of the file as the value.
	// +optional
	HadoopConfig string `json:"hadoopConfig,omitempty"`

	Secret string `json:"secret,omitempty"`

	// Labels will be added on all the JindoFS pods.
	// DEPRECATED: this is a deprecated field. Please use PodMetadata.Labels instead.
	// Note: this field is set to be exclusive with PodMetadata.Labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to all Jindo's fuse pods
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// +optional
	LogConfig map[string]string `json:"logConfig,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkmode,omitempty"`

	// CleanCachePolicy defines cleanCache Policy
	// +optional
	CleanCachePolicy CleanCachePolicy `json:"cleanCachePolicy,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by the jindo runtime components and/or fuses.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`
}

JindoRuntimeSpec defines the desired state of JindoRuntime

func (*JindoRuntimeSpec) DeepCopy added in v0.5.0

func (in *JindoRuntimeSpec) DeepCopy() *JindoRuntimeSpec

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

func (*JindoRuntimeSpec) DeepCopyInto added in v0.5.0

func (in *JindoRuntimeSpec) DeepCopyInto(out *JindoRuntimeSpec)

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

type JobProcessor added in v1.0.0

type JobProcessor struct {
	// PodSpec defines Pod specification of the DataProcess job.
	// +optional
	PodSpec *corev1.PodSpec `json:"podSpec,omitempty"`
}

func (*JobProcessor) DeepCopy added in v1.0.0

func (in *JobProcessor) DeepCopy() *JobProcessor

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

func (*JobProcessor) DeepCopyInto added in v1.0.0

func (in *JobProcessor) DeepCopyInto(out *JobProcessor)

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

type JuiceFSCompTemplateSpec added in v0.7.0

type JuiceFSCompTemplateSpec struct {
	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

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

	// Resources that will be requested by the JuiceFS component.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Options
	Options map[string]string `json:"options,omitempty"`

	// Environment variables that will be used by JuiceFS component.
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Enabled or Disabled for the components.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

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

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods.
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`
}

JuiceFSCompTemplateSpec is a description of the JuiceFS components

func (*JuiceFSCompTemplateSpec) DeepCopy added in v0.7.0

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

func (*JuiceFSCompTemplateSpec) DeepCopyInto added in v0.7.0

func (in *JuiceFSCompTemplateSpec) DeepCopyInto(out *JuiceFSCompTemplateSpec)

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

type JuiceFSFuseSpec added in v0.7.0

type JuiceFSFuseSpec struct {
	// Image for JuiceFS fuse
	Image string `json:"image,omitempty"`

	// Image for JuiceFS fuse
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Environment variables that will be used by JuiceFS Fuse
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Resources that will be requested by JuiceFS Fuse.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Options mount options that fuse pod will use
	// +optional
	Options map[string]string `json:"options,omitempty"`

	// If the fuse client should be deployed in global mode,
	// otherwise the affinity should be considered
	// +optional
	Global bool `json:"global,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// CleanPolicy decides when to clean Juicefs Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once th fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnDemand
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods.
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`
}

func (*JuiceFSFuseSpec) DeepCopy added in v0.7.0

func (in *JuiceFSFuseSpec) DeepCopy() *JuiceFSFuseSpec

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

func (*JuiceFSFuseSpec) DeepCopyInto added in v0.7.0

func (in *JuiceFSFuseSpec) DeepCopyInto(out *JuiceFSFuseSpec)

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

type JuiceFSRuntime added in v0.7.0

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

	Spec   JuiceFSRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus      `json:"status,omitempty"`
}

JuiceFSRuntime is the Schema for the juicefsruntimes API

func (*JuiceFSRuntime) DeepCopy added in v0.7.0

func (in *JuiceFSRuntime) DeepCopy() *JuiceFSRuntime

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

func (*JuiceFSRuntime) DeepCopyInto added in v0.7.0

func (in *JuiceFSRuntime) DeepCopyInto(out *JuiceFSRuntime)

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

func (*JuiceFSRuntime) DeepCopyObject added in v0.7.0

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

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

func (*JuiceFSRuntime) GetStatus added in v0.7.0

func (j *JuiceFSRuntime) GetStatus() *RuntimeStatus

func (*JuiceFSRuntime) Replicas added in v0.7.0

func (j *JuiceFSRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type JuiceFSRuntimeList added in v0.7.0

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

JuiceFSRuntimeList contains a list of JuiceFSRuntime

func (*JuiceFSRuntimeList) DeepCopy added in v0.7.0

func (in *JuiceFSRuntimeList) DeepCopy() *JuiceFSRuntimeList

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

func (*JuiceFSRuntimeList) DeepCopyInto added in v0.7.0

func (in *JuiceFSRuntimeList) DeepCopyInto(out *JuiceFSRuntimeList)

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

func (*JuiceFSRuntimeList) DeepCopyObject added in v0.7.0

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

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

type JuiceFSRuntimeSpec added in v0.7.0

type JuiceFSRuntimeSpec struct {

	// The version information that instructs fluid to orchestrate a particular version of JuiceFS.
	JuiceFSVersion VersionSpec `json:"juicefsVersion,omitempty"`

	// The spec of init users
	InitUsers InitUsersSpec `json:"initUsers,omitempty"`

	// The component spec of JuiceFS master
	Master JuiceFSCompTemplateSpec `json:"master,omitempty"`

	// The component spec of JuiceFS worker
	Worker JuiceFSCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of JuiceFS job Worker
	JobWorker JuiceFSCompTemplateSpec `json:"jobWorker,omitempty"`

	// Desired state for JuiceFS Fuse
	Fuse JuiceFSFuseSpec `json:"fuse,omitempty"`

	// Tiered storage used by JuiceFS
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// Configs of JuiceFS
	Configs *[]string `json:"configs,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Manage the user to run Juicefs Runtime
	RunAs *User `json:"runAs,omitempty"`

	// Disable monitoring for JuiceFS Runtime
	// Prometheus is enabled by default
	// +optional
	DisablePrometheus bool `json:"disablePrometheus,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by the alluxio runtime components and/or fuses.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// PodMetadata defines labels and annotations that will be propagated to JuiceFs's pods.
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// CleanCachePolicy defines cleanCache Policy
	// +optional
	CleanCachePolicy CleanCachePolicy `json:"cleanCachePolicy,omitempty"`
}

JuiceFSRuntimeSpec defines the desired state of JuiceFSRuntime

func (*JuiceFSRuntimeSpec) DeepCopy added in v0.7.0

func (in *JuiceFSRuntimeSpec) DeepCopy() *JuiceFSRuntimeSpec

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

func (*JuiceFSRuntimeSpec) DeepCopyInto added in v0.7.0

func (in *JuiceFSRuntimeSpec) DeepCopyInto(out *JuiceFSRuntimeSpec)

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

type Level

type Level struct {

	// Medium Type of the tier. One of the three types: `MEM`, `SSD`, `HDD`
	// +kubebuilder:validation:Enum=MEM;SSD;HDD
	// +required
	MediumType common.MediumType `json:"mediumtype"`

	// VolumeType is the volume type of the tier. Should be one of the three types: `hostPath`, `emptyDir` and `volumeTemplate`.
	// If not set, defaults to hostPath.
	// +kubebuilder:default=hostPath
	// +kubebuilder:validation:Enum=hostPath;emptyDir
	// +optional
	VolumeType common.VolumeType `json:"volumeType"`

	// VolumeSource is the volume source of the tier. It follows the form of corev1.VolumeSource.
	// For now, users should only specify VolumeSource when VolumeType is set to emptyDir.
	VolumeSource VolumeSource `json:"volumeSource,omitempty"`

	// File paths to be used for the tier. Multiple paths are supported.
	// Multiple paths should be separated with comma. For example: "/mnt/cache1,/mnt/cache2".
	// +kubebuilder:validation:MinLength=1
	// +optional
	Path string `json:"path,omitempty"`

	// Quota for the whole tier. (e.g. 100Gi)
	// Please note that if there're multiple paths used for this tierstore,
	// the quota will be equally divided into these paths. If you'd like to
	// set quota for each, path, see QuotaList for more information.
	// +optional
	Quota *resource.Quantity `json:"quota,omitempty"`

	// QuotaList are quotas used to set quota on multiple paths. Quotas should be separated with comma.
	// Quotas in this list will be set to paths with the same order in Path.
	// For example, with Path defined with "/mnt/cache1,/mnt/cache2" and QuotaList set to "100Gi, 50Gi",
	// then we get 100GiB cache storage under "/mnt/cache1" and 50GiB under "/mnt/cache2".
	// Also note that num of quotas must be consistent with the num of paths defined in Path.
	// +optional
	// +kubebuilder:validation:Pattern:="^((\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+)))),)+((\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?)$"
	QuotaList string `json:"quotaList,omitempty"`

	// Ratio of high watermark of the tier (e.g. 0.9)
	High string `json:"high,omitempty"`

	// Ratio of low watermark of the tier (e.g. 0.7)
	Low string `json:"low,omitempty"`
}

Level describes configurations a tier needs. <br> Refer to <a href="https://docs.alluxio.io/os/user/stable/en/core-services/Caching.html#configuring-tiered-storage">Configuring Tiered Storage</a> for more info

func (*Level) DeepCopy

func (in *Level) DeepCopy() *Level

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

func (*Level) DeepCopyInto

func (in *Level) DeepCopyInto(out *Level)

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

type MasterSpec added in v1.0.0

type MasterSpec struct {
	// The component configurations for Vineyard Master
	// +optional
	VineyardCompTemplateSpec `json:",inline"`

	// ExternalEndpoint defines the configurations for external etcd cluster
	// Default is not set
	// If set, the Vineyard Master component will not be deployed,
	// which means the Vineyard Worker component will use an external Etcd cluster.
	// E,g.
	//   endpoint:
	//     uri: "etcd-svc.etcd-namespace.svc.cluster.local:2379"
	//     encryptOptions:
	//       - name: access-key
	// 		   valueFrom:
	//           secretKeyRef:
	//             name: etcd-secret
	//			   key: accesskey
	// +optional
	ExternalEndpoint ExternalEndpointSpec `json:"endpoint,omitempty"`
}

MasterSpec defines the configurations for Vineyard Master component which is also regarded as the Etcd component in Vineyard. For more info about Vineyard, refer to <a href="https://v6d.io/">Vineyard</a>

func (*MasterSpec) DeepCopy added in v1.0.0

func (in *MasterSpec) DeepCopy() *MasterSpec

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

func (*MasterSpec) DeepCopyInto added in v1.0.0

func (in *MasterSpec) DeepCopyInto(out *MasterSpec)

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

type Metadata added in v0.9.0

type Metadata struct {
	PodMetadata `json:",inline"`

	Selector metav1.GroupKind `json:"selector,omitempty"`
}

Metadata defines subgroup properties of metav1.ObjectMeta

func (*Metadata) DeepCopy added in v0.9.0

func (in *Metadata) DeepCopy() *Metadata

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

func (*Metadata) DeepCopyInto added in v0.9.0

func (in *Metadata) DeepCopyInto(out *Metadata)

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

type MetadataSyncPolicy added in v0.9.0

type MetadataSyncPolicy struct {
	// AutoSync enables automatic metadata sync when setting up a runtime. If not set, it defaults to true.
	// +kubebuilder:default=true
	// +optional
	AutoSync *bool `json:"autoSync,omitempty"`
}

MetadataSyncPolicy defines policies when syncing metadata

func (*MetadataSyncPolicy) AutoSyncEnabled added in v0.9.0

func (msb *MetadataSyncPolicy) AutoSyncEnabled() bool

func (*MetadataSyncPolicy) DeepCopy added in v0.9.0

func (in *MetadataSyncPolicy) DeepCopy() *MetadataSyncPolicy

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

func (*MetadataSyncPolicy) DeepCopyInto added in v0.9.0

func (in *MetadataSyncPolicy) DeepCopyInto(out *MetadataSyncPolicy)

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

type Mount

type Mount struct {
	// MountPoint is the mount point of source.
	// +kubebuilder:validation:MinLength=5
	// +required
	MountPoint string `json:"mountPoint"`

	// The Mount Options. <br>
	// Refer to <a href="https://docs.alluxio.io/os/user/stable/en/reference/Properties-List.html">Mount Options</a>.  <br>
	// The option has Prefix 'fs.' And you can Learn more from
	// <a href="https://docs.alluxio.io/os/user/stable/en/ufs/S3.html">The Storage Integrations</a>
	// +optional
	Options map[string]string `json:"options,omitempty"`

	// The name of mount
	// +kubebuilder:validation:MinLength=0
	// +optional
	Name string `json:"name,omitempty"`

	// The path of mount, if not set will be /{Name}
	// +optional
	Path string `json:"path,omitempty"`

	// Optional: Defaults to false (read-write).
	// +optional
	ReadOnly bool `json:"readOnly,omitempty"`

	// Optional: Defaults to false (shared).
	// +optional
	Shared bool `json:"shared,omitempty"`

	// The secret information
	// +optional
	EncryptOptions []EncryptOption `json:"encryptOptions,omitempty"`
}

Mount describes a mounting. <br> Refer to <a href="https://docs.alluxio.io/os/user/stable/en/ufs/S3.html">Alluxio Storage Integrations</a> for more info

func (*Mount) DeepCopy

func (in *Mount) DeepCopy() *Mount

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

func (*Mount) DeepCopyInto

func (in *Mount) DeepCopyInto(out *Mount)

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

type NetworkMode added in v0.7.0

type NetworkMode string
const (
	HostNetworkMode NetworkMode = "HostNetwork"

	ContainerNetworkMode NetworkMode = "ContainerNetwork"

	// DefaultNetworkMode is Host
	DefaultNetworkMode NetworkMode = ""
)

type NodePublishSecretPolicy added in v0.9.0

type NodePublishSecretPolicy string
const (
	NotMountNodePublishSecret                NodePublishSecretPolicy = "NotMountNodePublishSecret"
	MountNodePublishSecretIfExists           NodePublishSecretPolicy = "MountNodePublishSecretIfExists"
	CopyNodePublishSecretAndMountIfNotExists NodePublishSecretPolicy = "CopyNodePublishSecretAndMountIfNotExists"
)

type OSAdvise added in v0.9.0

type OSAdvise struct {
	// Specific operating system version that can have optimization.
	// +optional
	OSVersion string `json:"osVersion,omitempty"`

	// Enable operating system optimization
	// not enabled by default.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

OSAdvise is a description of choices to have optimization on specific operating system

func (*OSAdvise) DeepCopy added in v0.9.0

func (in *OSAdvise) DeepCopy() *OSAdvise

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

func (*OSAdvise) DeepCopyInto added in v0.9.0

func (in *OSAdvise) DeepCopyInto(out *OSAdvise)

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

type OperationRef added in v1.0.0

type OperationRef struct {
	// API version of the referent operation
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind specifies the type of the referent operation
	// +required
	// +kubebuilder:validation:Enum=DataLoad;DataBackup;DataMigrate;DataProcess
	Kind string `json:"kind"`

	// Name specifies the name of the referent operation
	// +required
	Name string `json:"name"`

	// Namespace specifies the namespace of the referent operation.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

func (*OperationRef) DeepCopy added in v1.0.0

func (in *OperationRef) DeepCopy() *OperationRef

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

func (*OperationRef) DeepCopyInto added in v1.0.0

func (in *OperationRef) DeepCopyInto(out *OperationRef)

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

type OperationStatus added in v0.9.0

type OperationStatus struct {
	// Phase describes current phase of operation
	Phase common.Phase `json:"phase"`
	// Duration tell user how much time was spent to operation
	Duration string `json:"duration"`
	// Conditions consists of transition information on operation's Phase
	Conditions []Condition `json:"conditions"`

	// Infos operation customized name-value
	Infos map[string]string `json:"infos,omitempty"`

	// LastScheduleTime is the last time the cron operation was scheduled
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
	// LastSuccessfulTime is the last time the cron operation successfully completed
	LastSuccessfulTime *metav1.Time `json:"lastSuccessfulTime,omitempty"`
	// WaitingStatus stores information about waiting operation.
	WaitingFor WaitingStatus `json:"waitingFor,omitempty"`
}

OperationStatus defines the observed state of operation

func (*OperationStatus) DeepCopy added in v0.9.0

func (in *OperationStatus) DeepCopy() *OperationStatus

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

func (*OperationStatus) DeepCopyInto added in v0.9.0

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

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

type OperationType added in v1.0.0

type OperationType string
const (
	DataLoadType    OperationType = "DataLoad"
	DataBackupType  OperationType = "DataBackup"
	DataMigrateType OperationType = "DataMigrate"
	DataProcessType OperationType = "DataProcess"
)

type PlacementMode added in v0.5.0

type PlacementMode string
const (
	ExclusiveMode PlacementMode = "Exclusive"

	ShareMode PlacementMode = "Shared"

	// DefaultMode is exclusive
	DefaultMode PlacementMode = ""
)

type PodMetadata added in v0.8.0

type PodMetadata struct {
	// Labels are labels of pod specification
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations are annotations of pod specification
	Annotations map[string]string `json:"annotations,omitempty"`
}

PodMetadata defines subgroup properties of metav1.ObjectMeta

func (*PodMetadata) DeepCopy added in v0.8.0

func (in *PodMetadata) DeepCopy() *PodMetadata

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

func (*PodMetadata) DeepCopyInto added in v0.8.0

func (in *PodMetadata) DeepCopyInto(out *PodMetadata)

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

type Policy added in v0.9.0

type Policy string
const (
	// Once run data migrate once, default policy is Once
	Once Policy = "Once"

	// Cron run data migrate by cron
	Cron Policy = "Cron"

	// OnEvent run data migrate when event occurs
	OnEvent Policy = "OnEvent"
)

type Processor added in v1.0.0

type Processor struct {
	// ServiceAccountName defiens the serviceAccountName of the container
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// PodMetadata defines labels and annotations on the processor pod.
	// +optional
	PodMetadata PodMetadata `json:"podMetadata,omitempty"`

	// Job represents a processor which runs DataProcess as a job.
	// +optional
	Job *JobProcessor `json:"job,omitempty"`

	// Shell represents a processor which executes shell script
	Script *ScriptProcessor `json:"script,omitempty"`
}

Processor defines the actual processor for DataProcess. Processor can be either of a Job or a Shell script.

func (*Processor) DeepCopy added in v1.0.0

func (in *Processor) DeepCopy() *Processor

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

func (*Processor) DeepCopyInto added in v1.0.0

func (in *Processor) DeepCopyInto(out *Processor)

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

type Runtime

type Runtime struct {

	// Name of the runtime object
	Name string `json:"name,omitempty"`

	// Namespace of the runtime object
	Namespace string `json:"namespace,omitempty"`

	// Category the runtime object belongs to (e.g. Accelerate)
	Category common.Category `json:"category,omitempty"`

	// Runtime object's type (e.g. Alluxio)
	Type string `json:"type,omitempty"`

	// Runtime master replicas
	MasterReplicas int32 `json:"masterReplicas,omitempty"`
}

Runtime describes a runtime to be used to support dataset

func (*Runtime) DeepCopy

func (in *Runtime) DeepCopy() *Runtime

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

func (*Runtime) DeepCopyInto

func (in *Runtime) DeepCopyInto(out *Runtime)

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

type RuntimeCondition

type RuntimeCondition struct {
	// Type of cache condition.
	Type RuntimeConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`
	// The last time this condition was updated.
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

Condition describes the state of the cache at a certain point.

func (*RuntimeCondition) DeepCopy

func (in *RuntimeCondition) DeepCopy() *RuntimeCondition

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

func (*RuntimeCondition) DeepCopyInto

func (in *RuntimeCondition) DeepCopyInto(out *RuntimeCondition)

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

type RuntimeConditionType

type RuntimeConditionType string

RuntimeConditionType indicates valid conditions type of a runtime

const (
	// RuntimeMasterInitialized means the master of runtime is initialized
	RuntimeMasterInitialized RuntimeConditionType = "MasterInitialized"
	// RuntimeMasterReady means the master of runtime is ready
	RuntimeMasterReady RuntimeConditionType = "MasterReady"
	// RuntimeWorkersInitialized means the workers of runtime are initialized
	RuntimeWorkersInitialized RuntimeConditionType = "WorkersInitialized"
	// RuntimeWorkersReady means the workers of runtime are ready
	RuntimeWorkersReady RuntimeConditionType = "WorkersReady"
	// RuntimeWorkerScaledIn means the workers of runtime just scaled in
	RuntimeWorkerScaledIn RuntimeConditionType = "WorkersScaledIn"
	// RuntimeWorkerScaledIn means the workers of runtime just scaled out
	RuntimeWorkerScaledOut RuntimeConditionType = "WorkersScaledOut"
	// RuntimeFusesInitialized means the fuses of runtime are initialized
	RuntimeFusesInitialized RuntimeConditionType = "FusesInitialized"
	// RuntimeFusesReady means the fuses of runtime are ready
	RuntimeFusesReady RuntimeConditionType = "FusesReady"
	// RuntimeFusesScaledIn means the fuses of runtime just scaled in
	RuntimeFusesScaledIn RuntimeConditionType = "FusesScaledIn"
	// RuntimeFusesScaledOut means the fuses of runtime just scaled out
	RuntimeFusesScaledOut RuntimeConditionType = "FusesScaledOut"
)

These are valid conditions of a runtime.

type RuntimeManagement added in v0.9.0

type RuntimeManagement struct {
	// CleanCachePolicy defines the policy of cleaning cache when shutting down the runtime
	// +optional
	CleanCachePolicy CleanCachePolicy `json:"cleanCachePolicy,omitempty"`

	// MetadataSyncPolicy defines the policy of syncing metadata when setting up the runtime. If not set,
	// +optional
	MetadataSyncPolicy MetadataSyncPolicy `json:"metadataSyncPolicy,omitempty"`
}

RuntimeManagement defines suggestions for runtime controllers to manage the runtime

func (*RuntimeManagement) DeepCopy added in v0.9.0

func (in *RuntimeManagement) DeepCopy() *RuntimeManagement

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

func (*RuntimeManagement) DeepCopyInto added in v0.9.0

func (in *RuntimeManagement) DeepCopyInto(out *RuntimeManagement)

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

type RuntimePhase

type RuntimePhase string
const (
	RuntimePhaseNone         RuntimePhase = ""
	RuntimePhaseNotReady     RuntimePhase = "NotReady"
	RuntimePhasePartialReady RuntimePhase = "PartialReady"
	RuntimePhaseReady        RuntimePhase = "Ready"
)

type RuntimeStatus added in v0.5.0

type RuntimeStatus struct {
	// config map used to set configurations
	ValueFileConfigmap string `json:"valueFile"`

	// MasterPhase is the master running phase
	MasterPhase RuntimePhase `json:"masterPhase"`

	// Reason for Master's condition transition
	MasterReason string `json:"masterReason,omitempty"`

	// WorkerPhase is the worker running phase
	WorkerPhase RuntimePhase `json:"workerPhase"`

	// Reason for Worker's condition transition
	WorkerReason string `json:"workerReason,omitempty"`

	// The total number of nodes that should be running the runtime worker
	// pod (including nodes correctly running the runtime worker pod).
	DesiredWorkerNumberScheduled int32 `json:"desiredWorkerNumberScheduled"`

	// The total number of nodes that can be running the runtime worker
	// pod (including nodes correctly running the runtime worker pod).
	CurrentWorkerNumberScheduled int32 `json:"currentWorkerNumberScheduled"`

	// The number of nodes that should be running the runtime worker pod and have one
	// or more of the runtime worker pod running and ready.
	WorkerNumberReady int32 `json:"workerNumberReady"`

	// The number of nodes that should be running the
	// runtime worker pod and have one or more of the runtime worker pod running and
	// available (ready for at least spec.minReadySeconds)
	// +optional
	WorkerNumberAvailable int32 `json:"workerNumberAvailable,omitempty"`

	// The number of nodes that should be running the
	// runtime worker pod and have none of the runtime worker pod running and available
	// (ready for at least spec.minReadySeconds)
	// +optional
	WorkerNumberUnavailable int32 `json:"workerNumberUnavailable,omitempty"`

	// The total number of nodes that should be running the runtime
	// pod (including nodes correctly running the runtime master pod).
	DesiredMasterNumberScheduled int32 `json:"desiredMasterNumberScheduled"`

	// The total number of nodes that should be running the runtime
	// pod (including nodes correctly running the runtime master pod).
	CurrentMasterNumberScheduled int32 `json:"currentMasterNumberScheduled"`

	// The number of nodes that should be running the runtime worker pod and have zero
	// or more of the runtime master pod running and ready.
	MasterNumberReady int32 `json:"masterNumberReady"`

	// FusePhase is the Fuse running phase
	FusePhase RuntimePhase `json:"fusePhase"`

	// Reason for the condition's last transition.
	FuseReason string `json:"fuseReason,omitempty"`

	// The total number of nodes that can be running the runtime Fuse
	// pod (including nodes correctly running the runtime Fuse pod).
	CurrentFuseNumberScheduled int32 `json:"currentFuseNumberScheduled"`

	// The total number of nodes that should be running the runtime Fuse
	// pod (including nodes correctly running the runtime Fuse pod).
	DesiredFuseNumberScheduled int32 `json:"desiredFuseNumberScheduled"`

	// The number of nodes that should be running the runtime Fuse pod and have one
	// or more of the runtime Fuse pod running and ready.
	FuseNumberReady int32 `json:"fuseNumberReady"`

	// The number of nodes that should be running the
	// runtime fuse pod and have none of the runtime fuse pod running and available
	// (ready for at least spec.minReadySeconds)
	// +optional
	FuseNumberUnavailable int32 `json:"fuseNumberUnavailable,omitempty"`

	// The number of nodes that should be running the
	// runtime Fuse pod and have one or more of the runtime Fuse pod running and
	// available (ready for at least spec.minReadySeconds)
	// +optional
	FuseNumberAvailable int32 `json:"fuseNumberAvailable,omitempty"`

	// Duration tell user how much time was spent to setup the runtime
	SetupDuration string `json:"setupDuration,omitempty"`

	// Represents the latest available observations of a ddc runtime's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []RuntimeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// CacheStatus represents the total resources of the dataset.
	CacheStates common.CacheStateList `json:"cacheStates,omitempty"`

	// Selector is used for auto-scaling
	Selector string `json:"selector,omitempty"` // this must be the string form of the selector

	// APIGatewayStatus represents rest api gateway status
	APIGatewayStatus *APIGatewayStatus `json:"apiGateway,omitempty"`

	// MountTime represents time last mount happened
	// if Mounttime is earlier than master starting time, remount will be required
	MountTime *metav1.Time `json:"mountTime,omitempty"`

	// MountPoints represents the mount points specified in the bounded dataset
	Mounts []Mount `json:"mounts,omitempty"`

	// CacheAffinity represents the runtime worker pods node affinity including node selector
	CacheAffinity *corev1.NodeAffinity `json:"cacheAffinity,omitempty"`
}

RuntimeStatus defines the observed state of Runtime

func (*RuntimeStatus) DeepCopy added in v0.5.0

func (in *RuntimeStatus) DeepCopy() *RuntimeStatus

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

func (*RuntimeStatus) DeepCopyInto added in v0.5.0

func (in *RuntimeStatus) DeepCopyInto(out *RuntimeStatus)

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

type ScriptProcessor added in v1.0.0

type ScriptProcessor struct {
	// VersionSpec specifies the container's image info.
	VersionSpec `json:",inline,omitempty"`

	// RestartPolicy specifies the processor job's restart policy. Only "Never", "OnFailure" is allowed.
	// +optional
	// +kubebuilder:default="Never"
	// +kubebuilder:validation:Enum=Never;OnFailure
	RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty"`

	// Entrypoint command for ScriptProcessor.
	// +optional
	Command []string `json:"command,omitempty"`

	// Script source for ScriptProcessor
	// +required
	Source string `json:"source"`

	// List of environment variables to set in the container.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Pod volumes to mount into the container's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// List of volumes that can be mounted by containers belonging to the pod.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// Resources that will be requested by the DataProcess job. <br>
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*ScriptProcessor) DeepCopy added in v1.0.0

func (in *ScriptProcessor) DeepCopy() *ScriptProcessor

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

func (*ScriptProcessor) DeepCopyInto added in v1.0.0

func (in *ScriptProcessor) DeepCopyInto(out *ScriptProcessor)

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

type SecretKeySelector added in v0.5.0

type SecretKeySelector struct {
	// The name of required secret
	// +required
	Name string `json:"name"`

	// The required key in the secret
	// +optional
	Key string `json:"key,omitempty"`
}

func (*SecretKeySelector) DeepCopy added in v0.5.0

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto added in v0.5.0

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

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

type TargetDataset added in v0.4.0

type TargetDataset struct {
	// Name defines name of the target dataset
	Name string `json:"name"`

	// Namespace defines namespace of the target dataset
	Namespace string `json:"namespace,omitempty"`
}

TargetDataset defines the target dataset of the DataLoad

func (*TargetDataset) DeepCopy added in v0.4.0

func (in *TargetDataset) DeepCopy() *TargetDataset

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

func (*TargetDataset) DeepCopyInto added in v0.4.0

func (in *TargetDataset) DeepCopyInto(out *TargetDataset)

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

type TargetDatasetWithMountPath added in v1.0.0

type TargetDatasetWithMountPath struct {
	TargetDataset `json:",inline"`

	// MountPath defines where the Dataset should be mounted in DataProcess's containers.
	// +required
	MountPath string `json:"mountPath"`

	// SubPath defines subpath of the target dataset to mount.
	// +optional
	SubPath string `json:"subPath,omitempty"`
}

TargetDataset defines which dataset will be processed by DataProcess. Under the hood, the dataset's pvc will be mounted to the given mountPath of the DataProcess's containers.

func (*TargetDatasetWithMountPath) DeepCopy added in v1.0.0

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

func (*TargetDatasetWithMountPath) DeepCopyInto added in v1.0.0

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

type TargetPath added in v0.4.0

type TargetPath struct {
	// Path defines path to be load
	Path string `json:"path"`

	// Replicas defines how many replicas will be loaded
	Replicas int32 `json:"replicas,omitempty"`
}

TargetPath defines the target path of the DataLoad

func (*TargetPath) DeepCopy added in v0.4.0

func (in *TargetPath) DeepCopy() *TargetPath

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

func (*TargetPath) DeepCopyInto added in v0.4.0

func (in *TargetPath) DeepCopyInto(out *TargetPath)

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

type ThinCompTemplateSpec added in v0.9.0

type ThinCompTemplateSpec struct {
	// Image for thinRuntime fuse
	Image string `json:"image,omitempty"`

	// Image for thinRuntime fuse
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Replicas is the desired number of replicas of the given template.
	// If unspecified, defaults to 1.
	// +kubebuilder:validation:Minimum=1
	// replicas is the min replicas of dataset in the cluster
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

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

	// Resources that will be requested by thinRuntime component.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Environment variables that will be used by thinRuntime component.
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Enabled or Disabled for the components.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

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

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into runtime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// livenessProbe of thin fuse pod
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`

	// readinessProbe of thin fuse pod
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`
}

ThinCompTemplateSpec is a description of the thinRuntime components

func (*ThinCompTemplateSpec) DeepCopy added in v0.9.0

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

func (*ThinCompTemplateSpec) DeepCopyInto added in v0.9.0

func (in *ThinCompTemplateSpec) DeepCopyInto(out *ThinCompTemplateSpec)

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

type ThinFuseSpec added in v0.9.0

type ThinFuseSpec struct {
	// Image for thinRuntime fuse
	Image string `json:"image,omitempty"`

	// Image for thinRuntime fuse
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

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

	// Environment variables that will be used by thinRuntime Fuse
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Command that will be passed to thinRuntime Fuse
	Command []string `json:"command,omitempty"`

	// Arguments that will be passed to thinRuntime Fuse
	Args []string `json:"args,omitempty"`

	// Options configurable options of FUSE client, performance parameters usually.
	// will be merged with Dataset.spec.mounts.options into fuse pod.
	Options map[string]string `json:"options,omitempty"`

	// Resources that will be requested by thinRuntime Fuse.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// NodeSelector is a selector which must be true for the fuse client to fit on a node,
	// this option only effect when global is enabled
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// CleanPolicy decides when to clean thinRuntime Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once the fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnDemand
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// Whether to use hostnetwork or not
	// +kubebuilder:validation:Enum=HostNetwork;"";ContainerNetwork
	// +optional
	NetworkMode NetworkMode `json:"networkMode,omitempty"`

	// livenessProbe of thin fuse pod
	// +optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`

	// readinessProbe of thin fuse pod
	// +optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the thinruntime component's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

func (*ThinFuseSpec) DeepCopy added in v0.9.0

func (in *ThinFuseSpec) DeepCopy() *ThinFuseSpec

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

func (*ThinFuseSpec) DeepCopyInto added in v0.9.0

func (in *ThinFuseSpec) DeepCopyInto(out *ThinFuseSpec)

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

type ThinRuntime added in v0.9.0

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

	Spec   ThinRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus   `json:"status,omitempty"`
}

ThinRuntime is the Schema for the thinruntimes API

func (*ThinRuntime) DeepCopy added in v0.9.0

func (in *ThinRuntime) DeepCopy() *ThinRuntime

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

func (*ThinRuntime) DeepCopyInto added in v0.9.0

func (in *ThinRuntime) DeepCopyInto(out *ThinRuntime)

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

func (*ThinRuntime) DeepCopyObject added in v0.9.0

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

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

func (*ThinRuntime) GetStatus added in v0.9.0

func (in *ThinRuntime) GetStatus() *RuntimeStatus

func (*ThinRuntime) Replicas added in v0.9.0

func (in *ThinRuntime) Replicas() int32

type ThinRuntimeList added in v0.9.0

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

ThinRuntimeList contains a list of ThinRuntime

func (*ThinRuntimeList) DeepCopy added in v0.9.0

func (in *ThinRuntimeList) DeepCopy() *ThinRuntimeList

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

func (*ThinRuntimeList) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeList) DeepCopyInto(out *ThinRuntimeList)

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

func (*ThinRuntimeList) DeepCopyObject added in v0.9.0

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

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

type ThinRuntimeProfile added in v0.9.0

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

	Spec   ThinRuntimeProfileSpec   `json:"spec,omitempty"`
	Status ThinRuntimeProfileStatus `json:"status,omitempty"`
}

ThinRuntimeProfile is the Schema for the ThinRuntimeProfiles API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster

func (*ThinRuntimeProfile) DeepCopy added in v0.9.0

func (in *ThinRuntimeProfile) DeepCopy() *ThinRuntimeProfile

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

func (*ThinRuntimeProfile) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeProfile) DeepCopyInto(out *ThinRuntimeProfile)

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

func (*ThinRuntimeProfile) DeepCopyObject added in v0.9.0

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

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

type ThinRuntimeProfileList added in v0.9.0

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

ThinRuntimeProfileList contains a list of ThinRuntimeProfile

func (*ThinRuntimeProfileList) DeepCopy added in v0.9.0

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

func (*ThinRuntimeProfileList) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeProfileList) DeepCopyInto(out *ThinRuntimeProfileList)

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

func (*ThinRuntimeProfileList) DeepCopyObject added in v0.9.0

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

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

type ThinRuntimeProfileSpec added in v0.9.0

type ThinRuntimeProfileSpec struct {
	// file system of thinRuntime
	// +required
	FileSystemType string `json:"fileSystemType"`

	// The component spec of worker
	Worker ThinCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of thinRuntime
	Fuse ThinFuseSpec `json:"fuse,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by runtime components and/or fuses.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// NodePublishSecretPolicy describes the policy to decide which to do with node publish secret when mounting an existing persistent volume.
	// +kubebuilder:default=MountNodePublishSecretIfExists
	// +kubebuilder:validation:Enum=NotMountNodePublishSecret;MountNodePublishSecretIfExists;CopyNodePublishSecretAndMountIfNotExists
	NodePublishSecretPolicy NodePublishSecretPolicy `json:"nodePublishSecretPolicy,omitempty"`
}

ThinRuntimeProfileSpec defines the desired state of ThinRuntimeProfile

func (*ThinRuntimeProfileSpec) DeepCopy added in v0.9.0

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

func (*ThinRuntimeProfileSpec) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeProfileSpec) DeepCopyInto(out *ThinRuntimeProfileSpec)

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

type ThinRuntimeProfileStatus added in v0.9.0

type ThinRuntimeProfileStatus struct {
}

ThinRuntimeProfileStatus defines the observed state of ThinRuntimeProfile

func (*ThinRuntimeProfileStatus) DeepCopy added in v0.9.0

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

func (*ThinRuntimeProfileStatus) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeProfileStatus) DeepCopyInto(out *ThinRuntimeProfileStatus)

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

type ThinRuntimeSpec added in v0.9.0

type ThinRuntimeSpec struct {

	// The specific runtime profile name, empty value is used for handling datasets which mount another dataset
	ThinRuntimeProfileName string `json:"profileName,omitempty"`

	// The component spec of worker
	Worker ThinCompTemplateSpec `json:"worker,omitempty"`

	// The component spec of thinRuntime
	Fuse ThinFuseSpec `json:"fuse,omitempty"`

	// Tiered storage
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// The replicas of the worker, need to be specified
	Replicas int32 `json:"replicas,omitempty"`

	// Manage the user to run Runtime
	RunAs *User `json:"runAs,omitempty"`

	// Disable monitoring for Runtime
	// Prometheus is enabled by default
	// +optional
	DisablePrometheus bool `json:"disablePrometheus,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by runtime components and/or fuses.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`
}

ThinRuntimeSpec defines the desired state of ThinRuntime

func (*ThinRuntimeSpec) DeepCopy added in v0.9.0

func (in *ThinRuntimeSpec) DeepCopy() *ThinRuntimeSpec

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

func (*ThinRuntimeSpec) DeepCopyInto added in v0.9.0

func (in *ThinRuntimeSpec) DeepCopyInto(out *ThinRuntimeSpec)

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

type TieredStore added in v0.6.0

type TieredStore struct {
	// configurations for multiple tiers
	Levels []Level `json:"levels,omitempty"`
}

TieredStore is a description of the tiered store

func (*TieredStore) DeepCopy added in v0.6.0

func (in *TieredStore) DeepCopy() *TieredStore

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

func (*TieredStore) DeepCopyInto added in v0.6.0

func (in *TieredStore) DeepCopyInto(out *TieredStore)

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

type User added in v0.3.0

type User struct {
	// The uid to run the alluxio runtime
	UID *int64 `json:"uid"`
	// The gid to run the alluxio runtime
	GID *int64 `json:"gid"`
	// The user name to run the alluxio runtime
	UserName string `json:"user"`
	// The group name to run the alluxio runtime
	GroupName string `json:"group"`
}

User explains the user and group to run a Container

func (*User) DeepCopy added in v0.3.0

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto added in v0.3.0

func (in *User) DeepCopyInto(out *User)

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

type VersionSpec added in v0.5.0

type VersionSpec struct {
	// Image (e.g. alluxio/alluxio)
	Image string `json:"image,omitempty"`

	// Image tag (e.g. 2.3.0-SNAPSHOT)
	ImageTag string `json:"imageTag,omitempty"`

	// One of the three policies: `Always`, `IfNotPresent`, `Never`
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
}

VersionSpec represents the settings for the version that fluid is orchestrating.

func (*VersionSpec) DeepCopy added in v0.5.0

func (in *VersionSpec) DeepCopy() *VersionSpec

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

func (*VersionSpec) DeepCopyInto added in v0.5.0

func (in *VersionSpec) DeepCopyInto(out *VersionSpec)

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

type VineyardCompTemplateSpec added in v1.0.0

type VineyardCompTemplateSpec struct {
	// The replicas of Vineyard component.
	// If not specified, defaults to 1.
	// For worker, the replicas should not be greater than the number of nodes in the cluster
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// The image of Vineyard component.
	// For Master, the default image is `bitnami/etcd`
	// For Worker, the default image is `vineyardcloudnative/vineyardd`
	// The default container registry is `docker.io`, you can change it by setting the image field
	// +optional
	Image string `json:"image,omitempty"`

	// The image tag of Vineyard component.
	// For Master, the default image tag is `3.5.10`.
	// For Worker, the default image tag is `v0.21.5`.
	// +optional
	ImageTag string `json:"imageTag,omitempty"`

	// The image pull policy of Vineyard component.
	// Default is `IfNotPresent`.
	// +optional
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// NodeSelector is a selector to choose which nodes to launch the Vineyard component.
	// E,g. {"disktype": "ssd"}
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Ports used by Vineyard component.
	// For Master, the default client port is 2379 and peer port is 2380.
	// For Worker, the default rpc port is 9600 and the default exporter port is 9144.
	// +optional
	Ports map[string]int `json:"ports,omitempty"`

	// Environment variables that will be used by Vineyard component.
	// For Master, refer to <a href="https://etcd.io/docs/v3.5/op-guide/configuration/">Etcd Configuration</a> for more info
	// Default is not set.
	// +optional
	Env map[string]string `json:"env,omitempty"`

	// Configurable options for Vineyard component.
	// For Master, there is no configurable options.
	// For Worker, support the following options.
	//
	//   vineyardd.reserve.memory: (Bool) where to reserve memory for vineyardd
	//                             If set to true, the memory quota will be counted to the vineyardd rather than the application.
	//   etcd.prefix: (String) the prefix of etcd key for vineyard objects
	//   wait.etcd.timeout: (String) the timeout period before waiting the etcd to be ready, in seconds
	//
	//
	//   Default value is as follows.
	//
	//     vineyardd.reserve.memory: "true"
	//     etcd.prefix: "/vineyard"
	//     wait.etcd.timeout: "120"
	//
	// +optional
	Options map[string]string `json:"options,omitempty"`

	// Resources contains the resource requirements and limits for the Vineyard component.
	// Default is not set.
	// For Worker, when the options contains vineyardd.reserve.memory=true,
	// the resources.request.memory for worker should be greater than tieredstore.levels[0].quota(aka vineyardd shared memory)
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// VolumeMounts specifies the volumes listed in ".spec.volumes" to mount into the vineyard runtime component's filesystem.
	// It is useful for specifying a persistent storage.
	// Default is not set.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

VineyardCompTemplateSpec is the common configurations for vineyard components including Master and Worker.

func (*VineyardCompTemplateSpec) DeepCopy added in v1.0.0

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

func (*VineyardCompTemplateSpec) DeepCopyInto added in v1.0.0

func (in *VineyardCompTemplateSpec) DeepCopyInto(out *VineyardCompTemplateSpec)

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

type VineyardRuntime added in v1.0.0

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

	Spec   VineyardRuntimeSpec `json:"spec,omitempty"`
	Status RuntimeStatus       `json:"status,omitempty"`
}

VineyardRuntime is the Schema for the VineyardRuntimes API

func (*VineyardRuntime) DeepCopy added in v1.0.0

func (in *VineyardRuntime) DeepCopy() *VineyardRuntime

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

func (*VineyardRuntime) DeepCopyInto added in v1.0.0

func (in *VineyardRuntime) DeepCopyInto(out *VineyardRuntime)

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

func (*VineyardRuntime) DeepCopyObject added in v1.0.0

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

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

func (*VineyardRuntime) GetStatus added in v1.0.0

func (runtime *VineyardRuntime) GetStatus() *RuntimeStatus

func (*VineyardRuntime) Replicas added in v1.0.0

func (runtime *VineyardRuntime) Replicas() int32

Replicas gets the replicas of runtime worker

type VineyardRuntimeList added in v1.0.0

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

VineyardRuntimeList contains a list of VineyardRuntime

func (*VineyardRuntimeList) DeepCopy added in v1.0.0

func (in *VineyardRuntimeList) DeepCopy() *VineyardRuntimeList

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

func (*VineyardRuntimeList) DeepCopyInto added in v1.0.0

func (in *VineyardRuntimeList) DeepCopyInto(out *VineyardRuntimeList)

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

func (*VineyardRuntimeList) DeepCopyObject added in v1.0.0

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

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

type VineyardRuntimeSpec added in v1.0.0

type VineyardRuntimeSpec struct {
	// Master holds the configurations for Vineyard Master component
	// Represents the Etcd component in Vineyard
	// +optional
	Master MasterSpec `json:"master,omitempty"`

	// Worker holds the configurations for Vineyard Worker component
	// Represents the Vineyardd component in Vineyard
	// +optional
	Worker VineyardCompTemplateSpec `json:"worker,omitempty"`

	// The replicas of the worker, need to be specified
	// If worker.replicas and the field are both specified, the field will be respected
	Replicas int32 `json:"replicas,omitempty"`

	// Fuse holds the configurations for Vineyard client socket.
	// Note that the "Fuse" here is kept just for API consistency, VineyardRuntime mount a socket file instead of a FUSE filesystem to make data cache available.
	// Applications can connect to the vineyard runtime components through IPC or RPC.
	// IPC is the default way to connect to vineyard runtime components, which is more efficient than RPC.
	// If the socket file is not mounted, the connection will fall back to RPC.
	// +optional
	Fuse VineyardSockSpec `json:"fuse,omitempty"`

	// Tiered storage used by vineyardd
	// The MediumType can only be `MEM` and `SSD`
	// `MEM` actually represents the shared memory of vineyardd.
	// `SSD` represents the external storage of vineyardd.
	// Default is as follows.
	//   tieredstore:
	//     levels:
	//     - level: 0
	//       mediumtype: MEM
	//       quota: 4Gi
	//
	// Choose hostpath as the external storage of vineyardd.
	//   tieredstore:
	//     levels:
	//	   - level: 0
	//       mediumtype: MEM
	//       quota: 4Gi
	//		 high: "0.8"
	//       low: "0.3"
	//     - level: 1
	//       mediumtype: SSD
	//       quota: 10Gi
	//       volumeType: Hostpath
	//       path: /var/spill-path
	// +optional
	TieredStore TieredStore `json:"tieredstore,omitempty"`

	// Disable monitoring metrics for Vineyard Runtime
	// Default is false
	// +optional
	DisablePrometheus bool `json:"disablePrometheus,omitempty"`

	// Volumes is the list of Kubernetes volumes that can be mounted by the vineyard components (Master and Worker).
	// Default is null.
	// +optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`
}

VineyardRuntimeSpec defines the desired state of VineyardRuntime

func (*VineyardRuntimeSpec) DeepCopy added in v1.0.0

func (in *VineyardRuntimeSpec) DeepCopy() *VineyardRuntimeSpec

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

func (*VineyardRuntimeSpec) DeepCopyInto added in v1.0.0

func (in *VineyardRuntimeSpec) DeepCopyInto(out *VineyardRuntimeSpec)

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

type VineyardSockSpec added in v1.0.0

type VineyardSockSpec struct {
	// Image for Vineyard Fuse
	// Default is `vineyardcloudnative/vineyard-fluid-fuse`
	// +optional
	Image string `json:"image,omitempty"`

	// Image Tag for Vineyard Fuse
	// Default is `v0.21.5`
	// +optional
	ImageTag string `json:"imageTag,omitempty"`

	// Image pull policy for Vineyard Fuse
	// Default is `IfNotPresent`
	// Available values are `Always`, `IfNotPresent`, `Never`
	// +optional
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Environment variables that will be used by Vineyard Fuse.
	// Default is not set.
	// +optional
	Env map[string]string `json:"env,omitempty"`

	// CleanPolicy decides when to clean Vineyard Fuse pods.
	// Currently Fluid supports two policies: OnDemand and OnRuntimeDeleted
	// OnDemand cleans fuse pod once th fuse pod on some node is not needed
	// OnRuntimeDeleted cleans fuse pod only when the cache runtime is deleted
	// Defaults to OnRuntimeDeleted
	// +optional
	CleanPolicy FuseCleanPolicy `json:"cleanPolicy,omitempty"`

	// Resources contains the resource requirements and limits for the Vineyard Fuse.
	// Default is not set.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

VineyardSockSpec holds the configurations for vineyard client socket

func (*VineyardSockSpec) DeepCopy added in v1.0.0

func (in *VineyardSockSpec) DeepCopy() *VineyardSockSpec

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

func (*VineyardSockSpec) DeepCopyInto added in v1.0.0

func (in *VineyardSockSpec) DeepCopyInto(out *VineyardSockSpec)

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

type VolumeSource added in v0.8.0

type VolumeSource struct {
	corev1.VolumeSource `json:",inline"`
}

VolumeSource defines volume source and volume claim template.

func (*VolumeSource) DeepCopy added in v0.8.0

func (in *VolumeSource) DeepCopy() *VolumeSource

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

func (*VolumeSource) DeepCopyInto added in v0.8.0

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

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

type WaitingStatus added in v1.0.0

type WaitingStatus struct {
	// OperationComplete indicates if the preceding operation is complete
	OperationComplete *bool `json:"operationComplete,omitempty"`
}

func (*WaitingStatus) DeepCopy added in v1.0.0

func (in *WaitingStatus) DeepCopy() *WaitingStatus

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

func (*WaitingStatus) DeepCopyInto added in v1.0.0

func (in *WaitingStatus) DeepCopyInto(out *WaitingStatus)

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