Skip to content

feat: Add CredentialRef to DataSource for pluggable external credential resolution#6642

Draft
ntkathole wants to merge 1 commit into
feast-dev:masterfrom
ntkathole:credentials
Draft

feat: Add CredentialRef to DataSource for pluggable external credential resolution#6642
ntkathole wants to merge 1 commit into
feast-dev:masterfrom
ntkathole:credentials

Conversation

@ntkathole

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Feast DataSources today have no mechanism to reference external credentials —
authentication relies on ambient environment variables or a single global
offline_store config in feature_store.yaml.

This PR introduces CredentialRef - an optional reference on DataSource that
points to an external credential store (Kubernetes Secrets, HashiCorp Vault,
cloud secret managers, or environment variables). Credentials are resolved
at runtime by a pluggable CredentialProvider interface.

…al resolution

Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
@ntkathole ntkathole self-assigned this Jul 24, 2026
@ntkathole
ntkathole requested a review from a team as a code owner July 24, 2026 11:11
@ntkathole
ntkathole marked this pull request as draft July 24, 2026 11:14
@codecov-commenter

codecov-commenter commented Jul 24, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 38.59649% with 105 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.85%. Comparing base (f843c63) to head (15c5fb6).

Files with missing lines Patch % Lines
sdk/python/feast/credentials.py 49.54% 55 Missing and 1 partial ⚠️
sdk/python/feast/infra/offline_stores/duckdb.py 0.00% 18 Missing ⚠️
...k/python/feast/infra/offline_stores/file_source.py 21.73% 17 Missing and 1 partial ⚠️
sdk/python/feast/infra/offline_stores/dask.py 16.66% 8 Missing and 2 partials ⚠️
sdk/python/feast/data_source.py 57.14% 2 Missing and 1 partial ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6642      +/-   ##
==========================================
- Coverage   45.88%   45.85%   -0.03%     
==========================================
  Files         414      415       +1     
  Lines       49950    50118     +168     
  Branches     7140     7163      +23     
==========================================
+ Hits        22918    22983      +65     
- Misses      25431    25529      +98     
- Partials     1601     1606       +5     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 47.11% <38.59%> (-0.04%) ⬇️
Files with missing lines Coverage Δ
sdk/python/feast/data_source.py 79.47% <57.14%> (-0.53%) ⬇️
sdk/python/feast/infra/offline_stores/dask.py 49.61% <16.66%> (-0.88%) ⬇️
sdk/python/feast/infra/offline_stores/duckdb.py 36.99% <0.00%> (-2.09%) ⬇️
...k/python/feast/infra/offline_stores/file_source.py 64.48% <21.73%> (-5.71%) ⬇️
sdk/python/feast/credentials.py 49.54% <49.54%> (ø)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f843c63...15c5fb6. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants