v1alpha1

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2022 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Overview

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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 are ready
	DatasetReadyReason = "DatasetReady"

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

	// Resynced means updating with the underlayer filesystem.
	DatasetDataSetFailedReason = "DatasetFailed"
)
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 (
	JindoRuntimeKind = "JindoRuntime"
)
View Source
const (
	JuiceFSRuntimeKind = "JuiceFSRuntime"
)

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

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 BackupLocation added in v0.5.0

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

BackupLocation describes the final backup location of DataBackup

func (*BackupLocation) DeepCopy added in v0.5.0

func (in *BackupLocation) DeepCopy() *BackupLocation

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

func (*BackupLocation) DeepCopyInto added in v0.5.0

func (in *BackupLocation) DeepCopyInto(out *BackupLocation)

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

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 DataBackupStatus added in v0.5.0

type DataBackupStatus struct {
	// Phase describes current phase of DataBackup
	Phase common.Phase `json:"phase"`
	// BackupLocation tell user the location to save data of the DataBackup
	BackupLocation BackupLocation `json:"backupLocation,omitempty"`
	// Duration tell user how much time was spent to backup
	Duration string `json:"duration"`
	// Conditions consists of transition information on DataBackup's Phase
	Conditions []Condition `json:"conditions"`
}

DataBackupStatus defines the observed state of DataBackup

func (*DataBackupStatus) DeepCopy added in v0.5.0

func (in *DataBackupStatus) DeepCopy() *DataBackupStatus

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

func (*DataBackupStatus) DeepCopyInto added in v0.5.0

func (in *DataBackupStatus) DeepCopyInto(out *DataBackupStatus)

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

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 DataLoadStatus added in v0.4.0

type DataLoadStatus struct {
	// Phase describes current phase of DataLoad
	Phase common.Phase `json:"phase"`

	// Conditions consists of transition information on DataLoad's Phase
	Conditions []Condition `json:"conditions"`

	// Duration tell user how much time was spent to load the data
	Duration string `json:"duration"`
}

DataLoadStatus defines the observed state of DataLoad

func (*DataLoadStatus) DeepCopy added in v0.4.0

func (in *DataLoadStatus) DeepCopy() *DataLoadStatus

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

func (*DataLoadStatus) DeepCopyInto added in v0.4.0

func (in *DataLoadStatus) DeepCopyInto(out *DataLoadStatus)

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 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) IsExclusiveMode added in v0.5.0

func (dataset *Dataset) IsExclusiveMode() bool

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"

	// 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"
	// the dataset have no phase and need to be judged
	NoneDatasetPhase DatasetPhase = ""
)

type DatasetSpec

type DatasetSpec struct {
	// Mount Points to be mounted on Alluxio.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:UniqueItems=false
	// +required
	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"`
}

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.
	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.
	DataBackupRef string `json:"dataBackupRef,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 EncryptOption added in v0.5.0

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

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

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

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

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

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

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

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

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

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
	// +required
	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 Mount

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

	// 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
	// +required
	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"

	// DefaultMode is Host
	DefaultNetworkMode NetworkMode = ""
)

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

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 SecretKeySelector added in v0.5.0

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

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

Jump to

Keyboard shortcuts

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