v1alpha1

package
v0.0.0-...-b4f3a91 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains SampleSet and SampleJob +groupName=batch.paddlepaddle.org +k8s:openapi-gen=true

Package v1alpha1 contains API Schema definitions for the batch v1alpha1 API group +kubebuilder:object:generate=true +groupName=batch.paddlepaddle.org

Index

Constants

This section is empty.

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CSI

type CSI struct {
	// Name of cache runtime driver, now only support juicefs.
	// +kubebuilder:validation:Enum=juicefs
	// +kubebuilder:default=juicefs
	// +kubebuilder:validation:Required
	Driver DriverName `json:"driver,omitempty"`
	// Namespace of the runtime object
	// +optional
	MountOptions `json:",inline,omitempty"`
}

CSI describes csi driver name and mount options to support cache data

func (*CSI) DeepCopy

func (in *CSI) DeepCopy() *CSI

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

func (*CSI) DeepCopyInto

func (in *CSI) DeepCopyInto(out *CSI)

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

type Cache

type Cache struct {
	// configurations for multiple storage tier
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:Required
	Levels []CacheLevel `json:"levels,omitempty"`
}

Cache used to describe how cache data store

func (*Cache) DeepCopy

func (in *Cache) DeepCopy() *Cache

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

func (*Cache) DeepCopyInto

func (in *Cache) DeepCopyInto(out *Cache)

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

type CacheLevel

type CacheLevel struct {
	// Medium Type of the tier. One of the three types: `MEM`, `SSD`, `HDD`
	// +kubebuilder:validation:Enum=MEM;SSD;HDD
	// +kubebuilder:validation:Required
	MediumType MediumType `json:"mediumType,omitempty"`
	// directory paths of local cache, use colon to separate multiple paths
	// For example: "/dev/shm/cache1:/dev/ssd/cache2:/mnt/cache3".
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Path string `json:"path,omitempty"`
	// CacheSize size of cached objects in MiB
	// If multiple paths used for this, the cache size is total amount of cache objects in all paths
	// +optional
	CacheSize int `json:"cacheSize,omitempty"`
}

CacheLevel describes configurations a tier needs

func (*CacheLevel) DeepCopy

func (in *CacheLevel) DeepCopy() *CacheLevel

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

func (*CacheLevel) DeepCopyInto

func (in *CacheLevel) DeepCopyInto(out *CacheLevel)

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

type CacheStatus

type CacheStatus struct {
	// TotalSize the total size of SampleSet data
	TotalSize string `json:"totalSize,omitempty"`
	// TotalFiles the total file number of SampleSet data
	TotalFiles string `json:"totalFiles,omitempty"`
	// CachedSize the total size of cached data in all nodes
	CachedSize string `json:"cachedSize,omitempty"`
	// DiskSize disk space on file system containing cache data
	DiskSize string `json:"diskSize,omitempty"`
	// DiskUsed disk space already been used, display by command df
	DiskUsed string `json:"diskUsed,omitempty"`
	// DiskAvail disk space available on file system, display by command df
	DiskAvail string `json:"diskAvail,omitempty"`
	// DiskUsageRate disk space usage rate display by command df
	DiskUsageRate string `json:"diskUsageRate,omitempty"`
	// ErrorMassage error massages collected when executing related command
	ErrorMassage string `json:"errorMassage,omitempty"`
}

CacheStatus status of cache data

func (*CacheStatus) DeepCopy

func (in *CacheStatus) DeepCopy() *CacheStatus

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

func (*CacheStatus) DeepCopyInto

func (in *CacheStatus) DeepCopyInto(out *CacheStatus)

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

type ClearJobOptions

type ClearJobOptions struct {
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:Required
	Paths []string `json:"paths,omitempty"`
}

ClearJobOptions the options for clear cache from local host

func (*ClearJobOptions) DeepCopy

func (in *ClearJobOptions) DeepCopy() *ClearJobOptions

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

func (*ClearJobOptions) DeepCopyInto

func (in *ClearJobOptions) DeepCopyInto(out *ClearJobOptions)

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

type CronJobStatus

type CronJobStatus struct {
	// A list of pointers to currently running jobs.
	// +optional
	Active []v1.ObjectReference `json:"active,omitempty"`
	// Information when was the last time the job was successfully scheduled.
	// +optional
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`
}

CronJobStatus represents the current state of a cron job.

func (*CronJobStatus) DeepCopy

func (in *CronJobStatus) DeepCopy() *CronJobStatus

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

func (*CronJobStatus) DeepCopyInto

func (in *CronJobStatus) DeepCopyInto(out *CronJobStatus)

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

type DriverName

type DriverName string

DriverName specified the name of csi driver

type JobOptions

type JobOptions struct {
	// sync job options
	// +optional
	SyncOptions *SyncJobOptions `json:"syncOptions,omitempty"`
	// warmup job options
	// +optional
	WarmupOptions *WarmupJobOptions `json:"warmupOptions,omitempty"`
	// rmr job options
	// +optional
	RmrOptions *RmrJobOptions `json:"rmrOptions,omitempty"`
	// clear job options
	// +optional
	ClearOptions *ClearJobOptions `json:"clearOptions,omitempty"`
}

func (*JobOptions) DeepCopy

func (in *JobOptions) DeepCopy() *JobOptions

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

func (*JobOptions) DeepCopyInto

func (in *JobOptions) DeepCopyInto(out *JobOptions)

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

type JobsName

type JobsName struct {
	// the name of sync data job, used by controller to request runtime server for get job information.
	SyncJobName types.UID `json:"syncJobName,omitempty"`
	// record the name of the last done successfully sync job name
	WarmupJobName types.UID `json:"warmupJobName,omitempty"`
}

JobsName record the name of jobs triggered by SampleSet controller, it should store and load atomically.

func (*JobsName) DeepCopy

func (in *JobsName) DeepCopy() *JobsName

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

func (*JobsName) DeepCopyInto

func (in *JobsName) DeepCopyInto(out *JobsName)

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

type JuiceFSMountOptions

type JuiceFSMountOptions struct {
	// address to export metrics (default: "127.0.0.1:9567")
	// +optional
	Metrics string `json:"metrics,omitempty"`
	// attributes cache timeout in seconds (default: 1)
	// +optional
	AttrCache int `json:"attr-cache,omitempty"`
	// file entry cache timeout in seconds (default: 1)
	// +optional
	EntryCache int `json:"entry-cache,omitempty"`
	// dir entry cache timeout in seconds (default: 1)
	// +optional
	DirEntryCache int `json:"dir-entry-cache,omitempty"`
	// enable extended attributes (xattr) (default: false)
	// +optional
	EnableXattr bool `json:"enable-xattr,omitempty"`
	// the max number of seconds to download an object (default: 60)
	// +optional
	GetTimeout int `json:"get-timeout,omitempty"`
	// the max number of seconds to upload an object (default: 60)
	// +optional
	PutTimeout int `json:"put-timeout,omitempty"`
	// number of retries after network failure (default: 30)
	// +optional
	IoRetries int `json:"io-retries,omitempty"`
	// number of connections to upload (default: 20)
	// +optional
	MaxUploads int `json:"max-uploads,omitempty"`
	// total read/write buffering in MB (default: 300)
	// +optional
	BufferSize int `json:"buffer-size,omitempty"`
	// prefetch N blocks in parallel (default: 1)
	// +optional
	Prefetch int `json:"prefetch,omitempty"`
	// upload objects in background (default: false)
	// +optional
	WriteBack bool `json:"writeback,omitempty"`
	// directory paths of local cache, use colon to separate multiple paths
	// +optional
	CacheDir string `json:"cache-dir,omitempty"`
	// size of cached objects in MiB (default: 1024)
	// +optional
	CacheSize int `json:"cache-size,omitempty"`
	// min free space (ratio) (default: 0.1)
	// float64 is not supported https://github.com/kubernetes-sigs/controller-tools/issues/245
	// +optional
	FreeSpaceRatio string `json:"free-space-ratio,omitempty"`
	// cache only random/small read (default: false)
	// +optional
	CachePartialOnly bool `json:"cache-partial-only,omitempty"`
	// open files cache timeout in seconds (0 means disable this feature) (default: 0)
	// +optional
	OpenCache int `json:"open-cache,omitempty"`
	// mount a sub-directory as root
	// +optional
	SubDir string `json:"sub-dir,omitempty"`
}

JuiceFSMountOptions describes the JuiceFS mount options which user can set All the mount options is list in https://github.com/juicedata/juicefs/blob/main/docs/en/command_reference.md

func (*JuiceFSMountOptions) DeepCopy

func (in *JuiceFSMountOptions) DeepCopy() *JuiceFSMountOptions

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

func (*JuiceFSMountOptions) DeepCopyInto

func (in *JuiceFSMountOptions) DeepCopyInto(out *JuiceFSMountOptions)

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

type JuiceFSSyncOptions

type JuiceFSSyncOptions struct {
	// the first KEY to sync
	// +optional
	Start string `json:"start,omitempty"`
	// the last KEY to sync
	// +optional
	End string `json:"end,omitempty"`
	// number of concurrent threads (default: 10)
	// +optional
	Threads int `json:"threads,omitempty"`
	// HTTP PORT to listen to (default: 6070)
	// +optional
	HttpPort int `json:"http-port,omitempty"`
	// update existing file if the source is newer (default: false)
	// +optional
	Update bool `json:"update,omitempty"`
	// always update existing file (default: false)
	// +optional
	ForceUpdate bool `json:"force-update,omitempty"`
	// preserve permissions (default: false)
	// +optional
	Perms bool `json:"perms,omitempty"`
	// Sync directories or holders (default: false)
	// +optional
	Dirs bool `json:"dirs,omitempty"`
	// Don't copy file (default: false)
	// +optional
	Dry bool `json:"dry,omitempty"`
	// delete objects from source after synced (default: false)
	// +optional
	DeleteSrc bool `json:"delete-src,omitempty"`
	// delete extraneous objects from destination (default: false)
	// +optional
	DeleteDst bool `json:"delete-dst,omitempty"`
	// exclude keys containing PATTERN (POSIX regular expressions)
	// +optional
	Exclude string `json:"exclude,omitempty"`
	// only include keys containing PATTERN (POSIX regular expressions)
	// +optional
	Include string `json:"include,omitempty"`
	// manager address
	// +optional
	Manager string `json:"manager,omitempty"`
	// hosts (seperated by comma) to launch worker
	// +optional
	Worker string `json:"worker,omitempty"`
	// limit bandwidth in Mbps (0 means unlimited) (default: 0)
	// +optional
	BWLimit int `json:"bwlimit,omitempty"`
	// do not use HTTPS (default: false)
	NoHttps bool `json:"no-https,omitempty"`
}

JuiceFSSyncOptions describes the JuiceFS sync options which user can set by SampleSet

func (*JuiceFSSyncOptions) DeepCopy

func (in *JuiceFSSyncOptions) DeepCopy() *JuiceFSSyncOptions

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

func (*JuiceFSSyncOptions) DeepCopyInto

func (in *JuiceFSSyncOptions) DeepCopyInto(out *JuiceFSSyncOptions)

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

type JuiceFSWarmupOptions

type JuiceFSWarmupOptions struct {
	// the relative path of file that containing a list of data file paths
	// +optional
	File string `json:"file,omitempty"`
	// number of concurrent workers (default: 50)
	// +optional
	Threads int `json:"threads,omitempty"`
}

JuiceFSWarmupOptions describes the JuiceFS warmup options which user can set by SampleSet

func (*JuiceFSWarmupOptions) DeepCopy

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

func (*JuiceFSWarmupOptions) DeepCopyInto

func (in *JuiceFSWarmupOptions) DeepCopyInto(out *JuiceFSWarmupOptions)

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

type MediumType

type MediumType string

MediumType store medium type

type MountOptions

type MountOptions struct {
	// JuiceFSMountOptions juicefs mount command options
	// +optional
	JuiceFSMountOptions *JuiceFSMountOptions `json:"juiceFSMountOptions,omitempty"`
}

MountOptions the mount options for csi drivers

func (*MountOptions) DeepCopy

func (in *MountOptions) DeepCopy() *MountOptions

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

func (*MountOptions) DeepCopyInto

func (in *MountOptions) DeepCopyInto(out *MountOptions)

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

type RmrJobOptions

type RmrJobOptions struct {
	// Paths should be relative path from source directory, and without prefix.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:Required
	Paths []string `json:"paths,omitempty"`
}

RmrJobOptions the options for remove data from cache engine

func (*RmrJobOptions) DeepCopy

func (in *RmrJobOptions) DeepCopy() *RmrJobOptions

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

func (*RmrJobOptions) DeepCopyInto

func (in *RmrJobOptions) DeepCopyInto(out *RmrJobOptions)

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

type RuntimeStatus

type RuntimeStatus struct {
	// RuntimeReady is use to display SampleSet Runtime pods status, format like {ReadyReplicas}/{SpecReplicas}.
	RuntimeReady string `json:"runtimeReady,omitempty"`
	// SpecReplicas is the number of Pods should be created by Runtime StatefulSet.
	SpecReplicas int32 `json:"specReplicas,omitempty"`
	// ReadyReplicas is the number of Pods created by the Runtime StatefulSet that have a Ready Condition.
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`
}

RuntimeStatus status of runtime StatefulSet

func (*RuntimeStatus) DeepCopy

func (in *RuntimeStatus) DeepCopy() *RuntimeStatus

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

func (*RuntimeStatus) DeepCopyInto

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

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

type SampleJob

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

	Spec   SampleJobSpec   `json:"spec,omitempty"`
	Status SampleJobStatus `json:"status,omitempty"`
}

SampleJob is the Schema for the samplejobs API

func (*SampleJob) DeepCopy

func (in *SampleJob) DeepCopy() *SampleJob

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

func (*SampleJob) DeepCopyInto

func (in *SampleJob) DeepCopyInto(out *SampleJob)

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

func (*SampleJob) DeepCopyObject

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

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

type SampleJobList

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

SampleJobList contains a list of SampleJob

func (*SampleJobList) DeepCopy

func (in *SampleJobList) DeepCopy() *SampleJobList

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

func (*SampleJobList) DeepCopyInto

func (in *SampleJobList) DeepCopyInto(out *SampleJobList)

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

func (*SampleJobList) DeepCopyObject

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

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

type SampleJobPhase

type SampleJobPhase string

type SampleJobSpec

type SampleJobSpec struct {
	// Job Type of SampleJob. One of the three types: `sync`, `warmup`, `rmr`, `clear`
	// +kubebuilder:validation:Enum=sync;warmup;rmr;clear
	// +kubebuilder:validation:Required
	Type SampleJobType `json:"type,omitempty"`
	// the information of reference SampleSet object
	// +kubebuilder:validation:Required
	SampleSetRef *v1.LocalObjectReference `json:"sampleSetRef,omitempty"`
	// Used for sync job, if the source data storage requires additional authorization information, set this field.
	// +optional
	SecretRef *v1.SecretReference `json:"secretRef,omitempty"`

	// terminate other jobs that already in event queue of runtime servers
	// +optional
	Terminate bool `json:"terminate,omitempty"`
	// +optional
	JobOptions `json:",inline,omitempty"`
}

SampleJobSpec defines the desired state of SampleJob

func (*SampleJobSpec) DeepCopy

func (in *SampleJobSpec) DeepCopy() *SampleJobSpec

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

func (*SampleJobSpec) DeepCopyInto

func (in *SampleJobSpec) DeepCopyInto(out *SampleJobSpec)

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

type SampleJobStatus

type SampleJobStatus struct {
	// The phase of SampleJob is a simple, high-level summary of where the SampleJob is in its lifecycle.
	Phase SampleJobPhase `json:"phase,omitempty"`
	// the uuid for a job, used by controller to post and get the job options and requests.
	JobName types.UID `json:"jobName,omitempty"`
}

SampleJobStatus defines the observed state of SampleJob

func (*SampleJobStatus) DeepCopy

func (in *SampleJobStatus) DeepCopy() *SampleJobStatus

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

func (*SampleJobStatus) DeepCopyInto

func (in *SampleJobStatus) DeepCopyInto(out *SampleJobStatus)

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

type SampleJobType

type SampleJobType string

type SampleSet

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

	Spec   SampleSetSpec   `json:"spec,omitempty"`
	Status SampleSetStatus `json:"status,omitempty"`
}

SampleSet is the Schema for the SampleSets API

func (*SampleSet) DeepCopy

func (in *SampleSet) DeepCopy() *SampleSet

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

func (*SampleSet) DeepCopyInto

func (in *SampleSet) DeepCopyInto(out *SampleSet)

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

func (*SampleSet) DeepCopyObject

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

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

type SampleSetList

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

SampleSetList contains a list of SampleSet

func (*SampleSetList) DeepCopy

func (in *SampleSetList) DeepCopy() *SampleSetList

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

func (*SampleSetList) DeepCopyInto

func (in *SampleSetList) DeepCopyInto(out *SampleSetList)

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

func (*SampleSetList) DeepCopyObject

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

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

type SampleSetPhase

type SampleSetPhase string

SampleSetPhase indicates whether the loading is behaving

type SampleSetSpec

type SampleSetSpec struct {
	// Partitions is the number of SampleSet partitions, partition means cache node.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Required
	Partitions int32 `json:"partitions,omitempty"`
	// Source describes the information of data source uri and secret name.
	// cannot update after data sync finish
	// +optional
	Source *Source `json:"source,omitempty"`
	// SecretRef is reference to the authentication secret for source storage and cache engine.
	// cannot update after SampleSet phase is Bound
	// +kubebuilder:validation:Required
	SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`
	// If the data is already in cache engine backend storage, can set NoSync as true to skip Syncing phase.
	// cannot update after data sync finish
	// +optional
	NoSync bool `json:"noSync,omitempty"`
	// CSI defines the csi driver and mount options for supporting dataset.
	// Cannot update after SampleSet phase is Bound
	// +optional
	CSI *CSI `json:"csi,omitempty"`
	// Cache options used by cache runtime engine
	// Cannot update after SampleSet phase is Bound
	// +optional
	Cache Cache `json:"cache,omitempty"`
	// NodeAffinity defines constraints that limit what nodes this SampleSet can be cached to.
	// This field influences the scheduling of pods that use the cached dataset.
	// Cannot update after SampleSet phase is Bound
	// +optional
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`
	// If specified, the pod's tolerations.
	// Cannot update after SampleSet phase is Bound
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

SampleSetSpec defines the desired state of SampleSet

func (*SampleSetSpec) DeepCopy

func (in *SampleSetSpec) DeepCopy() *SampleSetSpec

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

func (*SampleSetSpec) DeepCopyInto

func (in *SampleSetSpec) DeepCopyInto(out *SampleSetSpec)

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

type SampleSetStatus

type SampleSetStatus struct {
	// Dataset Phase. One of the four phases: `None`, `Bound`, `NotBound` and `Failed`
	Phase SampleSetPhase `json:"phase,omitempty"`
	// CacheStatus the status of cache data in cluster
	CacheStatus *CacheStatus `json:"cacheStatus,omitempty"`
	// RuntimeStatus the status of runtime StatefulSet pods
	RuntimeStatus *RuntimeStatus `json:"runtimeStatus,omitempty"`
	// recorde the name of jobs, all names is generated by uuid
	JobsName JobsName `json:"jobsName,omitempty"`
}

SampleSetStatus defines the observed state of SampleSet

func (*SampleSetStatus) DeepCopy

func (in *SampleSetStatus) DeepCopy() *SampleSetStatus

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

func (*SampleSetStatus) DeepCopyInto

func (in *SampleSetStatus) DeepCopyInto(out *SampleSetStatus)

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

type SampleStrategy

type SampleStrategy struct {
	// +kubebuilder:validation:Enum=random;sequence
	// +kubebuilder:validation:Required
	// +kubebuilder:default=sequence
	Name string `json:"strategyName,omitempty"`
}

func (*SampleStrategy) DeepCopy

func (in *SampleStrategy) DeepCopy() *SampleStrategy

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

func (*SampleStrategy) DeepCopyInto

func (in *SampleStrategy) DeepCopyInto(out *SampleStrategy)

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

type Source

type Source struct {
	// URI should be in the following format: [NAME://]BUCKET[.ENDPOINT][/PREFIX]
	// Cannot be updated after SampleSet sync data to cache engine
	// More info: https://github.com/juicedata/juicesync
	// +kubebuilder:validation:MinLength=10
	// +kubebuilder:validation:Required
	URI string `json:"uri,omitempty"`
	// If the remote storage requires additional authorization information, set this secret reference
	// +optional
	SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`
}

func (*Source) DeepCopy

func (in *Source) DeepCopy() *Source

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

func (*Source) DeepCopyInto

func (in *Source) DeepCopyInto(out *Source)

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

type SyncJobOptions

type SyncJobOptions struct {
	// data source that need sync to cache engine, the format of it should be
	// [NAME://]BUCKET[.ENDPOINT][/PREFIX]
	// +optional
	Source string `json:"source,omitempty"`
	// the relative path in mount volume for data sync to, eg: /train
	// +option
	Destination string `json:"destination,omitempty"`
	// JuiceFS sync command options
	// +optional
	JuiceFSSyncOptions `json:",inline"`
}

SyncJobOptions the options for sync data to cache engine

func (*SyncJobOptions) DeepCopy

func (in *SyncJobOptions) DeepCopy() *SyncJobOptions

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

func (*SyncJobOptions) DeepCopyInto

func (in *SyncJobOptions) DeepCopyInto(out *SyncJobOptions)

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

type WarmupJobOptions

type WarmupJobOptions struct {
	// A list of paths need to build cache
	// +kubebuilder:validation:MinItems=1
	// +optional
	Paths []string `json:"paths,omitempty"`
	// the partitions of cache data, same as SampleSet spec.partitions
	// +kubebuilder:validation:Minimum=1
	// +optional
	Partitions int32 `json:"partitions,omitempty"`
	// +optional
	Strategy SampleStrategy `json:",inline"`
	// JuiceFS warmup command options
	// +optional
	JuiceFSWarmupOptions `json:",inline"`
}

WarmupJobOptions the options for warmup date to local host

func (*WarmupJobOptions) DeepCopy

func (in *WarmupJobOptions) DeepCopy() *WarmupJobOptions

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

func (*WarmupJobOptions) DeepCopyInto

func (in *WarmupJobOptions) DeepCopyInto(out *WarmupJobOptions)

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