◐ Shell
reader mode source ↗
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
File filter
Conversations
Jump to
Diff view
Apply and reload
Show whitespace
Diff view
Apply and reload
10 changes: 7 additions & 3 deletions infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ type OnlineStorePersistence struct {
// OnlineStoreFilePersistence configures the file-based persistence for the offline store service
// +kubebuilder:validation:XValidation:rule="(!has(self.pvc) && has(self.path)) ? self.path.startsWith('/') : true",message="Ephemeral stores must have absolute paths."
// +kubebuilder:validation:XValidation:rule="(has(self.pvc) && has(self.path)) ? !self.path.startsWith('/') : true",message="PVC path must be a file name only, with no slashes."
type OnlineStoreFilePersistence struct {
Path string `json:"path,omitempty"`
PvcConfig *PvcConfig `json:"pvc,omitempty"`
Expand All @@ -122,11 +123,14 @@ type RegistryPersistence struct {
}

// RegistryFilePersistence configures the file-based persistence for the registry service
// +kubebuilder:validation:XValidation:rule="(!has(self.pvc) && has(self.path)) ? self.path.startsWith('/') : true",message="Ephemeral stores must have absolute paths."
// +kubebuilder:validation:XValidation:rule="(has(self.pvc) && has(self.path)) ? !self.path.startsWith('/') : true",message="PVC path must be a file name only, with no slashes."
type RegistryFilePersistence struct {
Path string `json:"path,omitempty"`
PvcConfig *PvcConfig `json:"pvc,omitempty"`
}

// PvcConfig defines the settings for a persistent file store based on PVCs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,9 @@ spec:
slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute resource
Expand Down Expand Up @@ -816,15 +819,30 @@ spec:
- message: Mount path must start with '/' and
must not contain ':'
rule: self.mountPath.matches('^/[^:]*$')
type: object
x-kubernetes-validations:
- message: Ephemeral stores must have absolute paths.
rule: '(!has(self.pvc) && has(self.path)) ? self.path.startsWith(''/'')
: true'
- message: PVC path must be a file name only, with
no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down Expand Up @@ -1427,6 +1445,10 @@ spec:
no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down Expand Up @@ -1705,16 +1727,30 @@ spec:
- message: Mount path must start with '/'
and must not contain ':'
rule: self.mountPath.matches('^/[^:]*$')
type: object
x-kubernetes-validations:
- message: Ephemeral stores must have absolute
paths.
rule: '(!has(self.pvc) && has(self.path)) ?
self.path.startsWith(''/'') : true'
- message: PVC path must be a file name only,
with no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
46 changes: 41 additions & 5 deletions infra/feast-operator/dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,9 @@ spec:
slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute resource
Expand Up @@ -824,15 +827,30 @@ spec:
- message: Mount path must start with '/' and
must not contain ':'
rule: self.mountPath.matches('^/[^:]*$')
type: object
x-kubernetes-validations:
- message: Ephemeral stores must have absolute paths.
rule: '(!has(self.pvc) && has(self.path)) ? self.path.startsWith(''/'')
: true'
- message: PVC path must be a file name only, with
no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down Expand Up @@ -1435,6 +1453,10 @@ spec:
no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down Expand Up @@ -1713,16 +1735,30 @@ spec:
- message: Mount path must start with '/'
and must not contain ':'
rule: self.mountPath.matches('^/[^:]*$')
type: object
x-kubernetes-validations:
- message: Ephemeral stores must have absolute
paths.
rule: '(!has(self.pvc) && has(self.path)) ?
self.path.startsWith(''/'') : true'
- message: PVC path must be a file name only,
with no slashes.
rule: '(has(self.pvc) && has(self.path)) ? !self.path.startsWith(''/'')
: true'
type: object
resources:
description: ResourceRequirements describes the compute
Expand Down
Loading
Toggle all file notes Toggle all file annotations