Title: feat: Horizontal scaling support to the Feast operator by ntkathole · Pull Request #6000 · feast-dev/feast · GitHub
Open Graph Title: feat: Horizontal scaling support to the Feast operator by ntkathole · Pull Request #6000 · feast-dev/feast
X Title: feat: Horizontal scaling support to the Feast operator by ntkathole · Pull Request #6000 · feast-dev/feast
Description: What this PR does / why we need it: Add a scaling field to the FeatureStore CRD that supports static replica counts and HPA-based autoscaling for the Feast deployment Validate that file-based persistence (SQLite, DuckDB, registry.db) is rejected when horizontal scaling is configured, since these backends don't support concurrent access Automatically switch deployment strategy from Recreate to RollingUpdate when scaling is enabled to ensure zero-downtime scaling events CRD & API Added ScalingConfig (with replicas and autoscaling fields) to FeatureStoreServices Added AutoscalingConfig with minReplicas, maxReplicas, metrics, and behavior (maps to HPA v2 spec) Added ScalingStatus to FeatureStoreStatus reporting currentReplicas and desiredReplicas CEL validation rule enforces mutual exclusivity of replicas and autoscaling Controller New scaling.go with validation, HPA lifecycle management (create/update/delete), replica calculation, and status updates Helper functions isScalingEnabled() and isFilePersistence() in util.go RBAC for horizontalpodautoscalers (get, list, watch, create, update, delete) Controller watches owned HPA resources via Owns() Deployment strategy defaults to RollingUpdate when scaling is enabled Documentation New "Horizontal Scaling with the Feast Operator" section in docs/how-to-guides/scaling-feast.md with static replicas, HPA, and KEDA examples Updated docs/how-to-guides/feast-on-kubernetes.md with scaling references Regenerated CRD API reference (ref.md) with new types Sample CRs: v1_featurestore_scaling_static.yaml and v1_featurestore_scaling_hpa.yaml
Open Graph Description: What this PR does / why we need it: Add a scaling field to the FeatureStore CRD that supports static replica counts and HPA-based autoscaling for the Feast deployment Validate that file-based pers...
X Description: What this PR does / why we need it: Add a scaling field to the FeatureStore CRD that supports static replica counts and HPA-based autoscaling for the Feast deployment Validate that file-based pers...
Opengraph URL: https://github.com/feast-dev/feast/pull/6000
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:ddb30be6-fb21-26d7-7942-eb47e1097a0e |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 87C0:3D58C:437E31:5C749F:6A4DA22A |
| html-safe-nonce | bca106032a47935efbe760a489e65271fe288d2869348cc2f6b9cf0fb25ba924 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4N0MwOjNENThDOjQzN0UzMTo1Qzc0OUY6NkE0REEyMkEiLCJ2aXNpdG9yX2lkIjoiODcxNjAwMjg4MzMzMjMxNzczOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 808f778e3613a2e347ef92c298a3985d74b148da7821672dce4075ca85e61ace |
| hovercard-subject-tag | pull_request:3311015005 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/6000/files |
| twitter:image | https://avatars.githubusercontent.com/u/16951913?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/16951913?s=400&v=4 |
| og:image:alt | What this PR does / why we need it: Add a scaling field to the FeatureStore CRD that supports static replica counts and HPA-based autoscaling for the Feast deployment Validate that file-based pers... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7f13faa65cccc9b729d674da83335d5dcfdfd193 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width