Skip to content

Conversation

jyejare
Copy link
Contributor

@jyejare jyejare commented Sep 7, 2025

What this PR does / why we need it:

The Feast Namespace Registry is a feature that automatically creates and maintains a centralized ConfigMap containing information about all Feast feature store instances deployed by the operator. This enables dashboard applications and other tools to discover and connect to Feast instances across different namespaces. This addresses:

  1. ConfigMap Creation: The operator creates a ConfigMap in the appropriate namespace:

    • OpenShift AI: redhat-ods-applications namespace (or DSCi configured namespace)
    • Kubernetes: feast-operator-system namespace
  2. Access Control: A RoleBinding is created to allow system:authenticated users to read the ConfigMap

  3. Automatic Registration and removal: When a new feature store instance is created, it automatically registers its namespace and client configuration in the ConfigMap. Also when feature store is removed it automatically removes the entry from registry.

  4. Data Structure: The ConfigMap contains a JSON structure with namespace names as keys and lists of client configuration names as values

{
  "namespaces": {
    "namespace-1": ["client-config-1", "client-config-2"],
    "namespace-2": ["client-config-3"]
  }
}

Usage

The namespace registry is automatically deployed/updated when any Feast feature store instance is created. No additional configuration is required.

ODH Flow Usage:

image

Which issue(s) this PR fixes:

This implementation addresses the following requirements from RHOAIENG-33698

Misc

@jyejare jyejare requested a review from a team as a code owner September 7, 2025 15:11
@jyejare jyejare changed the title Feast Namespaces registry for client ConfigMaps availability for listing/selection feat: Feast Namespaces registry for client ConfigMaps availability for listing/selection Sep 7, 2025
@jyejare jyejare marked this pull request as draft September 7, 2025 15:12
@jyejare jyejare force-pushed the fs_namespaces_registry branch 5 times, most recently from a3c5a9e to 63dd34e Compare September 11, 2025 14:00
@jyejare jyejare marked this pull request as ready for review September 11, 2025 14:00
@ntkathole ntkathole requested review from a team and tchughesiv September 11, 2025 14:35
@jyejare jyejare force-pushed the fs_namespaces_registry branch from 63dd34e to 9868eda Compare September 12, 2025 09:59
@jyejare jyejare changed the title feat: Feast Namespaces registry for client ConfigMaps availability for listing/selection feat: Feast Namespaces registry for client ConfigMaps availability Sep 12, 2025
@ntkathole
Copy link
Member

@jyejare Please fix the formatting and rebase

Remove the registry entry for deleted feature store instance

Signed-off-by: jyejare <[email protected]>
@jyejare jyejare force-pushed the fs_namespaces_registry branch 2 times, most recently from e9c65e5 to ab6153a Compare September 15, 2025 18:56
@jyejare jyejare force-pushed the fs_namespaces_registry branch from ab6153a to 5f45a6e Compare September 15, 2025 19:00
@jyejare
Copy link
Contributor Author

jyejare commented Sep 16, 2025

@ntkathole Done.

Signed-off-by: jyejare <[email protected]>
@jyejare jyejare force-pushed the fs_namespaces_registry branch from 06d6237 to 0feba31 Compare September 17, 2025 07:22
Copy link
Member

@ntkathole ntkathole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! For future enhancement, it would be great if we can make it configurable and allow to define namespace explicitly in CR instance.

@ntkathole ntkathole merged commit 728589a into feast-dev:master Sep 17, 2025
20 checks passed
franciscojavierarceo pushed a commit that referenced this pull request Sep 30, 2025
# [0.54.0](v0.53.0...v0.54.0) (2025-09-30)

### Bug Fixes

* Column quoting in query of `PostgreSQLOfflineStore.pull_all_from_table_or_query` ([#5621](#5621)) ([e8eae71](e8eae71))
* Correct column list polars materialization engine ([#5595](#5595)) ([39aeb0c](39aeb0c))
* Fix Go feature server entitykey serialization for version 3 ([#5622](#5622)) ([5ab18a6](5ab18a6))
* Fix hostname resolution for spark tests ([#5610](#5610)) ([8f0e22d](8f0e22d))
* Fixed filtering based on data_source for ODFVs ([#5593](#5593)) ([c3e6c56](c3e6c56))
* Fixed project_description to set in registry and UI ([#5602](#5602)) ([02c3006](02c3006))
* Fixed Registry Cache Refresh Issues ([#5604](#5604)) ([3c7a022](3c7a022))
* Fixed tls issue when running both grpc and rest servers ([#5617](#5617)) ([51c16b1](51c16b1))
* Fixed transaction handling with SQLite registry ([#5588](#5588)) ([0052754](0052754))
* Update the deprecated functions in Go feature server. ([#5632](#5632)) ([a24e06e](a24e06e))
* Updated python packages conflicting with kserve dependencies ([#5580](#5580)) ([d56baf4](d56baf4))

### Features

* Add 'featureView' in global search api result for features. ([#5626](#5626)) ([76590bf](76590bf))
* Add aggregation in OnDemandFeatureView ([#5629](#5629)) ([8715ae8](8715ae8))
* Added codeflare-sdk to requirements ([#5640](#5640)) ([51a0ee6](51a0ee6))
* Added RemoteDatasetProxy that executes Ray Data operations remotely ([7128024](7128024))
* Added support for image search ([#5577](#5577)) ([56c5910](56c5910))
* Enable ingestion without event timestamp ([#5625](#5625)) ([eb51f00](eb51f00))
* Feast dataframe phase1 ([#5611](#5611)) ([2ce4198](2ce4198))
* Feast dataframe phase2 ([#5612](#5612)) ([1d08786](1d08786))
* Feast Namespaces registry for client ConfigMaps availability ([#5599](#5599)) ([728589a](728589a))
* Support hdfs:// uris in to_remote_storage for Spark offline store ([#5635](#5635)) ([5e4b9fd](5e4b9fd))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants