| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent df74ee9 commit b97da6c
13 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -74,9 +74,9 @@ type FeatureStoreServices struct { | |||
| 74 | 74 | ||
| 75 | 75 | // OfflineStore configures the deployed offline store service | |
| 76 | 76 | type OfflineStore struct { | |
| 77 | - ServiceConfigs `json:",inline"` | ||
| 78 | - Persistence *OfflineStorePersistence `json:"persistence,omitempty"` | ||
| 79 | - TLS *OfflineTlsConfigs `json:"tls,omitempty"` | ||
| 77 | + StoreServiceConfigs `json:",inline"` | ||
| 78 | + Persistence *OfflineStorePersistence `json:"persistence,omitempty"` | ||
| 79 | + TLS *OfflineTlsConfigs `json:"tls,omitempty"` | ||
| 80 | 80 | // LogLevel sets the logging level for the offline store service | |
| 81 | 81 | // Allowed values: "debug", "info", "warning", "error", "critical". | |
| 82 | 82 | // +kubebuilder:validation:Enum=debug;info;warning;error;critical | |
@@ -134,9 +134,9 @@ var ValidOfflineStoreDBStorePersistenceTypes = []string{ | |||
| 134 | 134 | ||
| 135 | 135 | // OnlineStore configures the deployed online store service | |
| 136 | 136 | type OnlineStore struct { | |
| 137 | - ServiceConfigs `json:",inline"` | ||
| 138 | - Persistence *OnlineStorePersistence `json:"persistence,omitempty"` | ||
| 139 | - TLS *TlsConfigs `json:"tls,omitempty"` | ||
| 137 | + StoreServiceConfigs `json:",inline"` | ||
| 138 | + Persistence *OnlineStorePersistence `json:"persistence,omitempty"` | ||
| 139 | + TLS *TlsConfigs `json:"tls,omitempty"` | ||
| 140 | 140 | // LogLevel sets the logging level for the online store service | |
| 141 | 141 | // Allowed values: "debug", "info", "warning", "error", "critical". | |
| 142 | 142 | // +kubebuilder:validation:Enum=debug;info;warning;error;critical | |
@@ -297,6 +297,14 @@ type DefaultConfigs struct { | |||
| 297 | 297 | Image *string `json:"image,omitempty"` | |
| 298 | 298 | } | |
| 299 | 299 | ||
| 300 | + // StoreServiceConfigs k8s deployment settings | ||
| 301 | + type StoreServiceConfigs struct { | ||
| 302 | + // Replicas determines the number of pods for the feast service. | ||
| 303 | + // When Replicas > 1, persistence is recommended. | ||
| 304 | + Replicas *int32 `json:"replicas,omitempty"` | ||
| 305 | + ServiceConfigs `json:",inline"` | ||
| 306 | + } | ||
| 307 | + | ||
| 300 | 308 | // OptionalConfigs k8s container settings that are optional | |
| 301 | 309 | type OptionalConfigs struct { | |
| 302 | 310 | Env *[]corev1.EnvVar `json:"env,omitempty"` | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -369,6 +369,12 @@ spec: | |||
| 369 | 369 | x-kubernetes-validations: | |
| 370 | 370 | - message: One selection required between file or store. | |
| 371 | 371 | rule: '[has(self.file), has(self.store)].exists_one(c, c)' | |
| 372 | + replicas: | ||
| 373 | + description: |- | ||
| 374 | + Replicas determines the number of pods for the feast service. | ||
| 375 | + When Replicas > 1, persistence is recommended. | ||
| 376 | + format: int32 | ||
| 377 | + type: integer | ||
| 372 | 378 | resources: | |
| 373 | 379 | description: ResourceRequirements describes the compute resource | |
| 374 | 380 | requirements. | |
@@ -745,6 +751,12 @@ spec: | |||
| 745 | 751 | x-kubernetes-validations: | |
| 746 | 752 | - message: One selection required between file or store. | |
| 747 | 753 | rule: '[has(self.file), has(self.store)].exists_one(c, c)' | |
| 754 | + replicas: | ||
| 755 | + description: |- | ||
| 756 | + Replicas determines the number of pods for the feast service. | ||
| 757 | + When Replicas > 1, persistence is recommended. | ||
| 758 | + format: int32 | ||
| 759 | + type: integer | ||
| 748 | 760 | resources: | |
| 749 | 761 | description: ResourceRequirements describes the compute resource | |
| 750 | 762 | requirements. | |
@@ -1614,6 +1626,12 @@ spec: | |||
| 1614 | 1626 | - message: One selection required between file or store. | |
| 1615 | 1627 | rule: '[has(self.file), has(self.store)].exists_one(c, | |
| 1616 | 1628 | c)' | |
| 1629 | + replicas: | ||
| 1630 | + description: |- | ||
| 1631 | + Replicas determines the number of pods for the feast service. | ||
| 1632 | + When Replicas > 1, persistence is recommended. | ||
| 1633 | + format: int32 | ||
| 1634 | + type: integer | ||
| 1617 | 1635 | resources: | |
| 1618 | 1636 | description: ResourceRequirements describes the compute | |
| 1619 | 1637 | resource requirements. | |
@@ -1997,6 +2015,12 @@ spec: | |||
| 1997 | 2015 | - message: One selection required between file or store. | |
| 1998 | 2016 | rule: '[has(self.file), has(self.store)].exists_one(c, | |
| 1999 | 2017 | c)' | |
| 2018 | + replicas: | ||
| 2019 | + description: |- | ||
| 2020 | + Replicas determines the number of pods for the feast service. | ||
| 2021 | + When Replicas > 1, persistence is recommended. | ||
| 2022 | + format: int32 | ||
| 2023 | + type: integer | ||
| 2000 | 2024 | resources: | |
| 2001 | 2025 | description: ResourceRequirements describes the compute | |
| 2002 | 2026 | resource requirements. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -377,6 +377,12 @@ spec: | |||
| 377 | 377 | x-kubernetes-validations: | |
| 378 | 378 | - message: One selection required between file or store. | |
| 379 | 379 | rule: '[has(self.file), has(self.store)].exists_one(c, c)' | |
| 380 | + replicas: | ||
| 381 | + description: |- | ||
| 382 | + Replicas determines the number of pods for the feast service. | ||
| 383 | + When Replicas > 1, persistence is recommended. | ||
| 384 | + format: int32 | ||
| 385 | + type: integer | ||
| 380 | 386 | resources: | |
| 381 | 387 | description: ResourceRequirements describes the compute resource | |
| 382 | 388 | requirements. | |
@@ -753,6 +759,12 @@ spec: | |||
| 753 | 759 | x-kubernetes-validations: | |
| 754 | 760 | - message: One selection required between file or store. | |
| 755 | 761 | rule: '[has(self.file), has(self.store)].exists_one(c, c)' | |
| 762 | + replicas: | ||
| 763 | + description: |- | ||
| 764 | + Replicas determines the number of pods for the feast service. | ||
| 765 | + When Replicas > 1, persistence is recommended. | ||
| 766 | + format: int32 | ||
| 767 | + type: integer | ||
| 756 | 768 | resources: | |
| 757 | 769 | description: ResourceRequirements describes the compute resource | |
| 758 | 770 | requirements. | |
@@ -1622,6 +1634,12 @@ spec: | |||
| 1622 | 1634 | - message: One selection required between file or store. | |
| 1623 | 1635 | rule: '[has(self.file), has(self.store)].exists_one(c, | |
| 1624 | 1636 | c)' | |
| 1637 | + replicas: | ||
| 1638 | + description: |- | ||
| 1639 | + Replicas determines the number of pods for the feast service. | ||
| 1640 | + When Replicas > 1, persistence is recommended. | ||
| 1641 | + format: int32 | ||
| 1642 | + type: integer | ||
| 1625 | 1643 | resources: | |
| 1626 | 1644 | description: ResourceRequirements describes the compute | |
| 1627 | 1645 | resource requirements. | |
@@ -2005,6 +2023,12 @@ spec: | |||
| 2005 | 2023 | - message: One selection required between file or store. | |
| 2006 | 2024 | rule: '[has(self.file), has(self.store)].exists_one(c, | |
| 2007 | 2025 | c)' | |
| 2026 | + replicas: | ||
| 2027 | + description: |- | ||
| 2028 | + Replicas determines the number of pods for the feast service. | ||
| 2029 | + When Replicas > 1, persistence is recommended. | ||
| 2030 | + format: int32 | ||
| 2031 | + type: integer | ||
| 2008 | 2032 | resources: | |
| 2009 | 2033 | description: ResourceRequirements describes the compute | |
| 2010 | 2034 | resource requirements. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -127,6 +127,7 @@ var _ = Describe("FeatureStore Controller - db storage services", func() { | |||
| 127 | 127 | Context("When deploying a resource with all db storage services", func() { | |
| 128 | 128 | const resourceName = "cr-name" | |
| 129 | 129 | var pullPolicy = corev1.PullAlways | |
| 130 | + var replicas = int32(1) | ||
| 130 | 131 | ||
| 131 | 132 | ctx := context.Background() | |
| 132 | 133 | ||
@@ -205,7 +206,7 @@ var _ = Describe("FeatureStore Controller - db storage services", func() { | |||
| 205 | 206 | By("creating the custom resource for the Kind FeatureStore") | |
| 206 | 207 | err = k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 207 | 208 | if err != nil && errors.IsNotFound(err) { | |
| 208 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{}) | ||
| 209 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{}) | ||
| 209 | 210 | resource.Spec.Services.OfflineStore.Persistence = &feastdevv1alpha1.OfflineStorePersistence{ | |
| 210 | 211 | DBPersistence: &feastdevv1alpha1.OfflineStoreDBStorePersistence{ | |
| 211 | 212 | Type: string(offlineType), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -48,6 +48,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 48 | 48 | const resourceName = "services-ephemeral" | |
| 49 | 49 | const offlineType = "duckdb" | |
| 50 | 50 | var pullPolicy = corev1.PullAlways | |
| 51 | + var replicas = int32(1) | ||
| 51 | 52 | var testEnvVarName = "testEnvVarName" | |
| 52 | 53 | var testEnvVarValue = "testEnvVarValue" | |
| 53 | 54 | ||
@@ -65,7 +66,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 65 | 66 | By("creating the custom resource for the Kind FeatureStore") | |
| 66 | 67 | err := k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 67 | 68 | if err != nil && errors.IsNotFound(err) { | |
| 68 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 69 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 69 | 70 | {Name: "fieldRefName", ValueFrom: &corev1.EnvVarSource{FieldRef: &corev1.ObjectFieldSelector{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}) | |
| 70 | 71 | resource.Spec.Services.OfflineStore.Persistence = &feastdevv1alpha1.OfflineStorePersistence{ | |
| 71 | 72 | FilePersistence: &feastdevv1alpha1.OfflineStoreFilePersistence{ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -48,6 +48,7 @@ var _ = Describe("FeatureStore Controller-Kubernetes authorization", func() { | |||
| 48 | 48 | Context("When deploying a resource with all ephemeral services and Kubernetes authorization", func() { | |
| 49 | 49 | const resourceName = "kubernetes-authorization" | |
| 50 | 50 | var pullPolicy = corev1.PullAlways | |
| 51 | + var replicas = int32(1) | ||
| 51 | 52 | ||
| 52 | 53 | ctx := context.Background() | |
| 53 | 54 | ||
@@ -62,7 +63,7 @@ var _ = Describe("FeatureStore Controller-Kubernetes authorization", func() { | |||
| 62 | 63 | By("creating the custom resource for the Kind FeatureStore") | |
| 63 | 64 | err := k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 64 | 65 | if err != nil && errors.IsNotFound(err) { | |
| 65 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{}) | ||
| 66 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{}) | ||
| 66 | 67 | resource.Spec.AuthzConfig = &feastdevv1alpha1.AuthzConfig{KubernetesAuthz: &feastdevv1alpha1.KubernetesAuthz{ | |
| 67 | 68 | Roles: roles, | |
| 68 | 69 | }} | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -46,6 +46,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 46 | 46 | Context("When deploying a resource with all ephemeral services", func() { | |
| 47 | 47 | const resourceName = "services-object-store" | |
| 48 | 48 | var pullPolicy = corev1.PullAlways | |
| 49 | + var replicas = int32(1) | ||
| 49 | 50 | var testEnvVarName = "testEnvVarName" | |
| 50 | 51 | var testEnvVarValue = "testEnvVarValue" | |
| 51 | 52 | ||
@@ -67,7 +68,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 67 | 68 | By("creating the custom resource for the Kind FeatureStore") | |
| 68 | 69 | err := k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 69 | 70 | if err != nil && errors.IsNotFound(err) { | |
| 70 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 71 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 71 | 72 | {Name: "fieldRefName", ValueFrom: &corev1.EnvVarSource{FieldRef: &corev1.ObjectFieldSelector{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}) | |
| 72 | 73 | resource.Spec.Services.OnlineStore = nil | |
| 73 | 74 | resource.Spec.Services.OfflineStore = nil | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -49,6 +49,7 @@ var _ = Describe("FeatureStore Controller-OIDC authorization", func() { | |||
| 49 | 49 | const resourceName = "oidc-authorization" | |
| 50 | 50 | const oidcSecretName = "oidc-secret" | |
| 51 | 51 | var pullPolicy = corev1.PullAlways | |
| 52 | + var replicas = int32(1) | ||
| 52 | 53 | ||
| 53 | 54 | ctx := context.Background() | |
| 54 | 55 | ||
@@ -73,7 +74,7 @@ var _ = Describe("FeatureStore Controller-OIDC authorization", func() { | |||
| 73 | 74 | By("creating the custom resource for the Kind FeatureStore") | |
| 74 | 75 | err = k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 75 | 76 | if err != nil && errors.IsNotFound(err) { | |
| 76 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{}) | ||
| 77 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{}) | ||
| 77 | 78 | resource.Spec.AuthzConfig = &feastdevv1alpha1.AuthzConfig{OidcAuthz: &feastdevv1alpha1.OidcAuthz{ | |
| 78 | 79 | SecretRef: corev1.LocalObjectReference{ | |
| 79 | 80 | Name: oidcSecretName, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -50,6 +50,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 50 | 50 | Context("When deploying a resource with all ephemeral services", func() { | |
| 51 | 51 | const resourceName = "services-pvc" | |
| 52 | 52 | var pullPolicy = corev1.PullAlways | |
| 53 | + var replicas = int32(1) | ||
| 53 | 54 | var testEnvVarName = "testEnvVarName" | |
| 54 | 55 | var testEnvVarValue = "testEnvVarValue" | |
| 55 | 56 | ||
@@ -77,7 +78,7 @@ var _ = Describe("FeatureStore Controller-Ephemeral services", func() { | |||
| 77 | 78 | By("creating the custom resource for the Kind FeatureStore") | |
| 78 | 79 | err := k8sClient.Get(ctx, typeNamespacedName, featurestore) | |
| 79 | 80 | if err != nil && errors.IsNotFound(err) { | |
| 80 | - resource := createFeatureStoreResource(resourceName, image, pullPolicy, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 81 | + resource := createFeatureStoreResource(resourceName, image, pullPolicy, replicas, &[]corev1.EnvVar{{Name: testEnvVarName, Value: testEnvVarValue}, | ||
| 81 | 82 | {Name: "fieldRefName", ValueFrom: &corev1.EnvVarSource{FieldRef: &corev1.ObjectFieldSelector{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}) | |
| 82 | 83 | resource.Spec.Services.OfflineStore.Persistence = &feastdevv1alpha1.OfflineStorePersistence{ | |
| 83 | 84 | FilePersistence: &feastdevv1alpha1.OfflineStoreFilePersistence{ | |
| Back | FazBrowse Home | New Git URL |
0 commit comments