Skip to content

Commit bc902db

Browse files
Squashed volume and volumeMounts commits for rebase
1 parent f4afcd2 commit bc902db

File tree

8 files changed

+5184
-1385
lines changed

8 files changed

+5184
-1385
lines changed

infra/feast-operator/api/v1alpha1/featurestore_types.go

+12-2
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ type FeatureStoreServices struct {
8080
DeploymentStrategy *appsv1.DeploymentStrategy `json:"deploymentStrategy,omitempty"`
8181
// Disable the 'feast repo initialization' initContainer
8282
DisableInitContainers bool `json:"disableInitContainers,omitempty"`
83+
// Volumes specifies the volumes to mount in the FeatureStore deployment. A corresponding `VolumeMount` should be added to whichever feast service(s) require access to said volume(s).
84+
Volumes []corev1.Volume `json:"volumes,omitempty"`
8385
}
8486

8587
// OfflineStore configures the deployed offline store service
@@ -110,6 +112,7 @@ var ValidOfflineStoreFilePersistenceTypes = []string{
110112

111113
// OfflineStoreDBStorePersistence configures the DB store persistence for the offline store service
112114
type OfflineStoreDBStorePersistence struct {
115+
// Type of the persistence type you want to use. Allowed values are: snowflake.offline, bigquery, redshift, spark, postgres, trino, redis, athena, mssql
113116
// +kubebuilder:validation:Enum=snowflake.offline;bigquery;redshift;spark;postgres;trino;redis;athena;mssql
114117
Type string `json:"type"`
115118
// Data store parameters should be placed as-is from the "feature_store.yaml" under the secret key. "registry_type" & "type" fields should be removed.
@@ -143,7 +146,7 @@ type OnlineStorePersistence struct {
143146
DBPersistence *OnlineStoreDBStorePersistence `json:"store,omitempty"`
144147
}
145148

146-
// OnlineStoreFilePersistence configures the file-based persistence for the offline store service
149+
// OnlineStoreFilePersistence configures the file-based persistence for the online store service
147150
// +kubebuilder:validation:XValidation:rule="(!has(self.pvc) && has(self.path)) ? self.path.startsWith('/') : true",message="Ephemeral stores must have absolute paths."
148151
// +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."
149152
// +kubebuilder:validation:XValidation:rule="has(self.path) ? !(self.path.startsWith('s3://') || self.path.startsWith('gs://')) : true",message="Online store does not support S3 or GS buckets."
@@ -152,8 +155,9 @@ type OnlineStoreFilePersistence struct {
152155
PvcConfig *PvcConfig `json:"pvc,omitempty"`
153156
}
154157

155-
// OnlineStoreDBStorePersistence configures the DB store persistence for the offline store service
158+
// OnlineStoreDBStorePersistence configures the DB store persistence for the online store service
156159
type OnlineStoreDBStorePersistence struct {
160+
// Type of the persistence type you want to use. Allowed values are: snowflake.online, redis, ikv, datastore, dynamodb, bigtable, postgres, cassandra, mysql, hazelcast, singlestore, hbase, elasticsearch, qdrant, couchbase, milvus
157161
// +kubebuilder:validation:Enum=snowflake.online;redis;ikv;datastore;dynamodb;bigtable;postgres;cassandra;mysql;hazelcast;singlestore;hbase;elasticsearch;qdrant;couchbase;milvus
158162
Type string `json:"type"`
159163
// Data store parameters should be placed as-is from the "feature_store.yaml" under the secret key. "registry_type" & "type" fields should be removed.
@@ -207,6 +211,7 @@ type RegistryFilePersistence struct {
207211

208212
// RegistryDBStorePersistence configures the DB store persistence for the registry service
209213
type RegistryDBStorePersistence struct {
214+
// Type of the persistence type you want to use. Allowed values are: sql, snowflake.registry
210215
// +kubebuilder:validation:Enum=sql;snowflake.registry
211216
Type string `json:"type"`
212217
// Data store parameters should be placed as-is from the "feature_store.yaml" under the secret key. "registry_type" & "type" fields should be removed.
@@ -285,6 +290,11 @@ type ServerConfigs struct {
285290
// Allowed values: "debug", "info", "warning", "error", "critical".
286291
// +kubebuilder:validation:Enum=debug;info;warning;error;critical
287292
LogLevel string `json:"logLevel,omitempty"`
293+
// VolumeMounts defines the list of volumes that should be mounted into the feast container.
294+
// This allows attaching persistent storage, config files, secrets, or other resources
295+
// required by the Feast components. Ensure that each volume mount has a corresponding
296+
// volume definition in the Volumes field.
297+
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
288298
}
289299

290300
// ContainerConfigs k8s container settings for the server

infra/feast-operator/api/v1alpha1/zz_generated.deepcopy.go

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)