Skip to content

fix: Replace registry proto dump with RBAC-compliant APIs in UI and feature servers#6420

Merged
ntkathole merged 1 commit into
feast-dev:masterfrom
ntkathole:remove_proto_endpoint
May 21, 2026
Merged

fix: Replace registry proto dump with RBAC-compliant APIs in UI and feature servers#6420
ntkathole merged 1 commit into
feast-dev:masterfrom
ntkathole:remove_proto_endpoint

Conversation

@ntkathole
Copy link
Copy Markdown
Member

What this PR does / why we need it:

  • Replace store.registry.proto() usage across UI server, feature server, and registry gRPC server with granular, RBAC-aware registry APIs (list_projects, etc.)
  • Add permission checks (UPDATE) to the Commit and Refresh gRPC RPCs in the registry server
  • Remove redundant async_refresh timer from the UI server (registry's built-in cache TTL handles freshness)
  • Clean up unused parameters (get_registry_dump, --registry_ttl_sec) from the UI server path

Changes

UI server: Use list_projects(allow_cache=True) for project discovery and health checks instead of fetching the full registry proto
Feature server: Simplified health endpoint to use list_projects; removed proto caching from the refresh loop
Registry gRPC server: Removed Proto RPC; added authorization to Commit and Refresh RPCs
CLI: Removed --registry_ttl_sec flag from feast ui (no longer applicable)

@ntkathole ntkathole self-assigned this May 20, 2026
@ntkathole ntkathole requested a review from a team as a code owner May 20, 2026 09:32
@ntkathole ntkathole force-pushed the remove_proto_endpoint branch 5 times, most recently from df4dd04 to 874d87d Compare May 20, 2026 11:29
@ntkathole ntkathole force-pushed the remove_proto_endpoint branch from 874d87d to 637e497 Compare May 20, 2026 13:02
@ntkathole ntkathole force-pushed the remove_proto_endpoint branch from 637e497 to d88c126 Compare May 20, 2026 16:39
@@ -1,4 +1,4 @@
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
FROM registry.access.redhat.com/ubi9/python-312-minimal:latest
Copy link
Copy Markdown
Member Author

@ntkathole ntkathole May 20, 2026

Choose a reason for hiding this comment

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

CI Operator E2E tests are failing across all PRs since ~May 19 with deployment timeouts.
The root cause is a runtime ImportError in the feast-apply init container.

The Dockerfiles use ubi9/python-312-minimal:1 which resolves to a RHEL 9.6 image
with Python 3.12.9 and sqlite-libs-3.34.1-8.el9_6. When python3.12-devel is
installed via microdnf, it upgrades python3.12-libs to 3.12.13 (from RHEL 9.8
repos). This newer build's _sqlite3.so was compiled expecting sqlite3_deserialize
(SQLite 3.36.0+), but the 9.6 sqlite-libs (3.34.1) doesn't provide it.

The :latest / :9.8 image ships with Python 3.12.13 and a matching
sqlite-libs-3.34.1-10.el9_8 that are compatible. Installing python3.12-devel
on this image does not trigger any upgrade since the versions already match.

@ntkathole ntkathole merged commit 328431f into feast-dev:master May 21, 2026
31 checks passed
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.

2 participants