xds/gcp_authn: implement GCP Authentication filter (gRFC A83).#9119
xds/gcp_authn: implement GCP Authentication filter (gRFC A83).#9119Pranjali-2501 wants to merge 12 commits into
Conversation
|
/gemini review |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #9119 +/- ##
==========================================
+ Coverage 81.58% 83.19% +1.60%
==========================================
Files 413 415 +2
Lines 33448 33701 +253
==========================================
+ Hits 27289 28036 +747
+ Misses 4264 4237 -27
+ Partials 1895 1428 -467
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Code Review
This pull request introduces GCP Service Account Identity credentials and a new xDS HTTP filter, gcp_authn, which attaches these credentials to outgoing RPCs using cluster metadata. The implementation features an LRU cache for credential management. Key review feedback points out critical bugs involving incorrect access paths for cluster metadata and security settings, which would cause nil pointer dereferences or compilation failures. Furthermore, the reviewer identified significant thread-safety issues in the cache resizing logic that could lead to data races. A minor suggestion was also made to declare the early expiry duration as a constant.
This PR implements the xDS GCP Authentication HTTP filter for gRPC-Go, as specified in gRFC A83.
The implementation provides a mechanism for attaching service account identity JWT tokens as gRPC call credentials on GCP, featuring a two-level caching strategy (filter-level cache of credentials objects and credential-level cache of tokens) to minimize latency and metadata server load.
Note: This PR includes the changes from #9118 , which added the
GcpServiceAccountIdentityCallCredentialscall credentials type. List of common files:RELEASE NOTES: None